-
Notifications
You must be signed in to change notification settings - Fork 532
segfault running /pipeline/engine/tests/test_utils.py #1788
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
and those particular tests will pass if |
traits has C "fast" checking on some types. It looks to me that could be the source of the segfault |
looks better after updating traits to 4.6, but have to test more. |
Traits 4.6 either solves the problem or hides it pretty well so the segfault occurs very rare (having problem with getting one). Since I don't understand this segfault, can't really say which one is true. btw. I've just found that this is not the first time you have problems with traits&unicode_literals errors that are not reported by Travis (at least not in every run) #1621 |
@djarecka - the change you made in |
yes, all test should pass with traits 4.6. I've created a PR, but would keep the issue open |
it looks like travis with traits4.6 still have sagfault |
The most prominent issue I can foresee switching to traitlets right now is the different use of metadata (https://traitlets.readthedocs.io/en/stable/migration.html#separation-of-metadata-and-keyword-arguments-in-traittype-contructors). Other than that, I guess migration will be less painful than it could seem. |
@djarecka - let's do migration after api change. for now let's figure out a fix for segfault (will require python in debug mode and gdb) and the new api. |
I have run the tests 10000x, using the new
No segfaults. |
@djarecka tested with traits 4.4, aware of the possible influence of the traits version. For some reason, Travis settings are originating this segfault, you may want to take a look into Travis' docker image. Back in the time I was programming mostly C++, I remember that the reason # 1 for a random segfault is generally an uninitialized variable. However I cannot tell how this applies to our settings. |
@oesteban - was double checking, since the nipype_test:py27 image I pulled and used was giving me segfault before updating traits to 4.6. I will follow your suggestion and will build my own image, but the segfault is not related to the Travis settings only, I was able to reproduce the segfault in at least 3 different environment outside Travis. |
I will try to debug the segfault on my OSX first, might be easier. |
Rare but still happening - latest #1968 environmental variables:
error:
|
I'm noticing this happening more. I wonder if it's related to the Precise update. |
I agree |
would it be wrong to simply skip |
Also getting it on I will say these tests are extremely well named. |
@mgxd - you can get segfult from different test from this set, depending on the environment, order of running etc. If for some reason you decide to ignore them, it might be better to use |
since we've decided to skip them, I'm closing the issue, but leaving the |
Uh oh!
There was an error while loading. Please reload this page.
Summary
Segfault when running tests from /pipeline/engine/tests/test_utils.py
Actual behavior
See e.g. https://travis-ci.org/nipy/nipype/builds/195258843
appears randomly, but never seen outside py2.7
It's probably the same problem as described in #1757, but the temporary @satra solution doesn't always work(?).
Not sure, if my recent failure in different tests might be related: https://travis-ci.org/djarecka/nipype/jobs/189379626
How to replicate the behavior
From my experience, it might appear more often on some systems than on the others. It should be python2.7 (other travis setting are not important IMO). You can use the docker container
nipype/nipype_test:py27
and runpytest -v nipype/pipeline/engine/tests/test_utils.py
(after installing pytest) multiple times, 10 should be enough.It usually returns segfault when running
test_mapnode_crash2
ortest_mapnode_crash2
, but running any of these tests separately do not give segfault (at least not as often).The text was updated successfully, but these errors were encountered: