8000 Numpy master segfaults in Scipy testsuite · Issue #8671 · numpy/numpy · GitHub
[go: up one dir, main page]

Skip to content

Numpy master segfaults in Scipy testsuite #8671

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

Closed
pv opened this issue Feb 23, 2017 · 12 comments
Closed

Numpy master segfaults in Scipy testsuite #8671

pv opened this issue Feb 23, 2017 · 12 comments

Comments

@pv
Copy link
Member
pv commented Feb 23, 2017

Current numpy (2017-02-23, f24da28) crashes in Scipy test suite.
Observed on travis, and repro locally. Crashes at

$ gdb --args python runtests.py -g -t scipy/signal/tests/test_spectral.py:TestSTFT.test_permute_axes
Program received signal SIGSEGV, Segmentation fault.
0x00007fffedea4671 in PyArray_Transpose (ap=0x7fffd9244cb0, permute=0x7fffffff9b30) at numpy/core/src/multiarray/shape.c:711
711	            if (reverse_permutation[axis] != -1) {
(gdb) bt
#0  0x00007fffedea4671 in PyArray_Transpose (ap=0x7fffd9244cb0, permute=0x7fffffff9b30) at numpy/core/src/multiarray/shape.c:711
#1  0x00007fffede6b5db in array_transpose (self=0x7fffd9244cb0, args=0x7fffd97a0610) at numpy/core/src/multiarray/methods.c:1956
#2  0x00007ffff7adb7a1 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
...

Result from git bisect:
564b7cb is the first bad commit

@eric-wieser
Copy link
Member
eric-wieser commented Feb 23, 2017

Fixed in #8672, hopefully

@pv
Copy link
Member Author
pv commented Feb 23, 2017 via email

@rgommers
Copy link
Member

I thought numpy travis checks for compiler warnings, so I wonder why it didnt catch it...

These are the only ones (in travis-test.sh):

# make some warnings fatal, mostly to match windows compilers
werrors="-Werror=declaration-after-statement -Werror=vla "
werrors+="-Werror=nonnull -Werror=pointer-arith"

@eric-wieser
Copy link
Member

Is there any way to make travis at least report other warnings? I've only ever seen them when there's also a failure

@pv
Copy link
Member Author
pv commented Feb 23, 2017 via email

@pv
Copy link
Member Author
pv commented Feb 23, 2017 via email

@eric-wieser
Copy link
Member
eric-wieser commented Feb 23, 2017

I think the issue is that travis is discarding the build stdout/stderr when it succeeds - I've seen warnings be emitted in the past. They just get emitted into nothingness... Maybe I'm just missing something in the travis UI.

@rgommers
Copy link
Member

It's not TravisCI, it's pip. pip install . is completely silent. Changing it to pip install . -v will show the build log.

@rgommers
Copy link
Member

I guess one constraint is that they may break the _configtest.c stuff that Numpy uses for detecting system configuration. But maybe it's possible to tweak numpy.distutils to do the right thing here?

Possible but nontrivial I suspect.

Adding a limited set of explicit warnings to werrors that doesn't conflict with _configtest and making the build log visible for the rest may be a better work/reward trade-off.

@juliantaylor
Copy link
Contributor
juliantaylor commented Feb 23, 2017

we do error out on warnings, the issue is only on our 32 bit build and on 32 bit intp == int so we miss warnings about this.
We can probably add the warning checker to all builds but they use much older versions of gcc so they may be less good. Besides false positives not a big issue as we still have the one build with a new gcc.

@juliantaylor
Copy link
Contributor

but in any case -Wincompatible-pointer-types is probably a good choice for a fatal warning on all builds.

@eric-wieser
Copy link
Member

Presumably this can be closed, since #8672 is merged, and discussion about warnings continues at #8676

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
0