-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ATL_dJIK0x0x48NN0x0x0_aX_bX () from /usr/lib/libblas.so.3 #1144
Comments
You are using ATLAS, not OpenBLAS. |
... as evidenced by the ATL prefix. Try |
@root-sudip can you manage to check for same problem using OpenBLAS and/or Netlib BLAS? |
@martin-frbg I did that one . but still getting same error. |
The update-alternatives command is just to show what libblas.so.3 actually is - there are several implementations of BLAS around, such as the non-optimized original "netlib" version, ATLAS BLAS (what you appear to be using now), and OpenBLAS. So far your problem appears to have nothing to do with OpenBLAS, and maybe not even with ATLAS - it could be simply that you are calling some BLAS function with the wrong arguments. |
@root-sudip can you run same test with non-ATLAS BLAS to sort out if problem is resource leak in ATLAS or in calling code (anything between where you open image files and where sklearn.so calls libblas.so)? |
Btw in case you have not already done this, add "-g" to the compiler options when you build your own code so that gdb can show you (with the "bt" command to get a backtrace) which line in your code, i.e. which invocation of a BLAS function causes the problem. Perhaps this will already be sufficient to identify the error - it could be something as simple as an array that is too small to hold the result. |
@martin-frbg sorry for delay reply cause I was not getting the access of server. /usr/lib/atlas-base/atlas/libblas.so.3 Now, what I will do ?? @martin-frbg |
This confirms that your problem has nothing to do specifically with OpenBLAS. What you could try is run I see now that Sci-Kit appears to be a python package, so my comment about recompiling with "-g" to get better backtraces is probably pointless. Still perhaps the "bt" command in gdb (or "up" to traverse that call stack) can point to the line in your code that called the crashing function ? |
You run
And change system default BLAS implementation away from ATLAS. |
okk thanks for quick reply, I will do your suggestion as soon as possible. @martin-frbg and @brada4 |
@brada4 by using that command I am getting this options: Selection Path Priority Status
Press enter to keep the current choice[*], or type selection number: ?? Which option I will select ?? |
One that has no ATLAS ? Please dont make more blank posts. It is burdening to read them, especially when you are not reporting an issue with OpenBLAS and we are just making some effort to help you sort out who other is at fault. |
Looks like you would need to install OpenBLAS (or any other implementation except the ATLAS you currently have) first. Or just wait for some response to your Sci-kit ticket, as it seems very likely that the problem is in your code and not in the libraries it calls. |
How to install OpenBlas for ubuntu 14.04. If have problem in my code then it didn't work for 100 Images . I am facing problem only for above 100 Images. @martin-frbg |
You can install old version from Ubuntu using 'apt install libopenblas-dev', then fix up alternatives as mentioned above. |
yes, I have installed it and configured properly. bt still getting same error. sorry I don't understand what is backtrace?? @brada4 |
The list of function calls leading up to the segmentation fault - this should tell you the line in your SciKit program that made the fatal call. (Do you get "the same error" including a function name that starts with ATL, or is the function named differently now ?) |
By the way I see no error handling (in the test code you posted on the SciKit ticket) for the case that reading from an image fails. (For instance, does Image.open() work without a corresponding Image.close(), or would you run out of available file descriptors at some point ?) |
At the point GDB captures crash of your program you type 'backtrace' or short version of it - 'bt' |
|
Seems the backtrace does not tell as much as we hoped, but there appear to be ways to make gdb show actual python code and data in backtraces, see e.g. http://grapsus.net/blog/post/Low-level-Python-debugging-with-GDB |
FYI, we are still trying to figure out the issue. But it seems that he is using a scikit-learn wheel which is built using a static version of ATLAS. So, it should not be related with OpenBLAS and it should also explain why using alternative does not change anything ;) |
@glemaitre thanks for sharing. Actually here the offending call comes from scipy lu (backtrace element eight) and hits the alternating library where I tried to supplant OpenBLAS. It could happen that 2 different blas and/or lapack libraries (incl minor version differences) are loaded in same process leading to certain crash. Other puzzling things are source of libblas.so.3gf, which is not to be found in ubuntu packages. |
@brada4 Thanks a lot. You put us on the good track. There was a big mismatch of scipy version. @root-sudip install it from the debian repo (0.13.3 version) which uses the blas of the system and python was reporting a 0.19 version install from the wheels build with openblas. I don't really know things can get jammed that way but problem solved. |
I am trying to learn a Dictionary by using Sci-kit Learn. It is working fine for 100 Images but If I use 200 Images Then I am getting Segmentation fault error.
I have used GDB to debug my code. and got this error :0x00007ffff3059f50 in ATL_dJIK0x0x48NN0x0x0_aX_bX () from /usr/lib/libblas.so.3
How to fix this problem??
The text was updated successfully, but these errors were encountered: