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
Test suite segfault on Linux/x86_64/Python 3.7 with old GCC #12483
Comments
likely related to memmap=True. This is 0.20.0 release right? not any branch or something. We had one of these before. We're probably trying to write to a memmapped array. |
Yes, 0.20.0. Yes, deterministic. For what it's worth, in my detailed debugging there were other tests that had |
FWIW here is the C code in SciPy 1.1.0, which is responsible for defining Edit: The underlying computation is here. |
I can also reproduce this with the
It appears to be happening during a call to
However saving this array and providing it to In any case using Fix proposed in #12485 I have not tried to reproduce this on master, but I think it would still apply. |
I don't understand why this is platform specific but better safe than sorry? |
Think it is compiler specific (not platform specific). Using a newer version of GCC on Linux fixes the issue. |
…cikit-learn#12485) This fixes a segfault in AgglomerativeClustering with read-only mmaps that happens inside `ward_tree` when calling `scipy.cluster.hierarchy.ward`. Closes scikit-learn#12483 (see the above issue for more details)
…cikit-learn#12485) This fixes a segfault in AgglomerativeClustering with read-only mmaps that happens inside `ward_tree` when calling `scipy.cluster.hierarchy.ward`. Closes scikit-learn#12483 (see the above issue for more details)
…cikit-learn#12485) This fixes a segfault in AgglomerativeClustering with read-only mmaps that happens inside `ward_tree` when calling `scipy.cluster.hierarchy.ward`. Closes scikit-learn#12483 (see the above issue for more details)
…cikit-learn#12485) This fixes a segfault in AgglomerativeClustering with read-only mmaps that happens inside `ward_tree` when calling `scipy.cluster.hierarchy.ward`. Closes scikit-learn#12483 (see the above issue for more details)
…cikit-learn#12485) This fixes a segfault in AgglomerativeClustering with read-only mmaps that happens inside `ward_tree` when calling `scipy.cluster.hierarchy.ward`. Closes scikit-learn#12483 (see the above issue for more details)
…cikit-learn#12485) This fixes a segfault in AgglomerativeClustering with read-only mmaps that happens inside `ward_tree` when calling `scipy.cluster.hierarchy.ward`. Closes scikit-learn#12483 (see the above issue for more details)
Description
In the conda-forge project, we see a segfault in the test suite when building scikit-learn packages against Python 3.7 using an older GCC. Here is the related issue report.
Steps/Code to Reproduce
This failure comes up in our CI-based automated build system. Here is the build info and here is the relevant log file.
My reproduction of the build environment isolates the segfault to this test:
The bit involving a memmap seems to me like it could potentially be fragile, but I see that there are other tests with the same flag that succeed.
Running in a debugger, I don't have any debug symbols, but the backtrace lands in scipy:
(Then the backtrace continues for many frames inside the Python interpreter.)
We do not see this failure on other versions of Python, or when building with GCC7, or on macOS.
I can upload the Conda package made out of the build that exhibits this problem, but since it doesn't have debugging symbols I think it would be a challenge to do much investigation with it.
Versions
The text was updated successfully, but these errors were encountered: