Skip to content
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

Travis build failing with seg fault #98

Open
rmarianski opened this issue Oct 27, 2017 · 6 comments
Open

Travis build failing with seg fault #98

rmarianski opened this issue Oct 27, 2017 · 6 comments

Comments

@rmarianski
Copy link
Member

Travis CI build has started failing with a seg fault.

https://travis-ci.org/tilezen/mapbox-vector-tile/builds/293683076

@zerebubuth
Copy link
Member

I think it's worth noting that the tests pass OK, and the segfault happens when it tries to run the tests a second time for coverage. That being said, I ran the coverage locally without a problem. Perhaps the coverage run uses more memory and an allocation ends up failing?

@pnorman
Copy link

pnorman commented Oct 27, 2017

Perhaps the coverage run uses more memory and an allocation ends up failing?

That's certainly a possibility, or if anything is multithreaded, it could change order of operations with timing changes that don't happen locally.

Unfortunately, working with travis and core dumps is near-impossible.

@vonbearshark
Copy link

👋 How can I help move this along to publishing @rmarianski @zerebubuth? Would be great to get these changes #97

@zerebubuth
Copy link
Member

Hi! Thanks for getting in touch.

Looks like we're still stuck with test failures, although I'm not seeing the segfault any more, we've now got a protobuf-related problem (from #108 (comment)):

As far as I can tell, it seems to be something to do with unittest "manually" loading modules and ending up loading something from protobuf twice, which it doesn't like. Perhaps related to protocolbuffers/protobuf#3276. In any case, seems like an upstream bug, and I haven't figured out a work-around other than running the tests individually.

Fixing the tests would be my preferred solution. But I don't really understand why it's failing, so I've got no clues to help fix it 😕 @rmarianski, @iandees - have you seen anything like this before? Any idea where to start looking for a fix?

Plan B might be to change the travis.yml to run the tests (and the coverage?) individually... but that kludge would feel quite wrong to me...

@vonbearshark
Copy link

Any chance it's just a simple relative import issue: https://stackoverflow.com/a/51688380?

@zerebubuth
Copy link
Member

Good idea! I tried that and pushed it up to a branch, but unfortunately it's still failing. Please take a look at the branch - perhaps there's something I missed or messed up.

I also tried (on a different branch) to update the protobuf generated code, but got the same error again. 😖

Finally, I tried running as PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python python setup.py test, which didn't throw the same protobuf-sourced error, but instead:

test_dev_errors (test_polygon.TestPolygonMakeValid) ... Segmentation fault (core dumped)

Which also passes OK when it's run as a single test. 😩

Something odd is definitely going on, as it seems to be running some of the tests a second time?

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