-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
SEGFAULT if pyplot
is imported
#5966
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
Comments
Here is another crash report that I got from a newer OSX: crash_report_ElCapitan.txt. |
From your crash report it looks like numpy is build against Accelerate? What does I would guess that the import of Matplotlib is purely coincidental and caused by matplotlib importing other parts of numpy but it's hard to know for sure. Matplotlib is not linked directly to blas in any way as far as I know. |
Here are np.show_config() results for both OSX versions: |
Yes, both are linked against Accelerate. |
It seems these excerpts from the crash reports do testify in favour of there being
|
So I can reproduce your crash but I can also reproduce it with the script below which calls BLAS from both the parent and the child but does not involve Matplotlib. import numpy as np
from joblib import Parallel, delayed
# if matplotlib is commented out, everything works
# import matplotlib.pyplot as plt
X = np.ones((500, 500), dtype=np.float)
y = np.dot(X,X)
# same happens fo
8000
r svd
jobs_ = (delayed(np.linalg.det)(X) for i in range(2))
Parallel(n_jobs=-1, verbose=1)(jobs_) |
Thank you! I am going to refer to your example when adding an issue for |
Can you reproduce my example? It might be worth asking joblib devs too |
Yes, exactly the same crash. |
Odd, but this example does not crash when the matrix is strictly smaller than 128x128. |
I don't know exactly why that is but I guess that either numpy or blas calls a different routine when the matix is smaller which does not exhibit this issue. I am going to close this issue since it looks like it's not related to matplotlib. Please just post a notice to have it reopened if something new comes up that points to Matplotlib |
For my research I need to be able to perform dimensionality reduction in parallel and then plot
the results for analysis. In order to perform experiments more efficiently is use joblib for local
parallel computing. However, every time i try to perform SVD in a spawned process, that process
unexpectedly crashes inside a call to some routine in BLAS. The strangest thing is that the crashes
happen only when I specifically import matplotlib.pyplot.
I managed to produce a what seems to be the bare minimum script required to reproduce
the fault. I also prepared an archive with the crash report and a frozen list of pip packages.
I did some searching and found an issue similar to this one in
scikit-image
.matplotlib_crash.zip
The text was updated successfully, but these errors were encountered: