Catching Travis core dumps
#1
When a Travis build dumps its core, it would be great to capture it and possibly upload it somewhere for analysis. For this, we'd need to extend the CIbuild.sh script to pack the core dump together with the executable and volatile sources (Bindings.cpp) and upload it somewhere.

I could provide the webspace needed for the storage, if someone writes the code for the uploader-receiver (PHP), I'm not good at writing web stuff. It could be a simple file dropper, with the uploads being accessible through a normal file-system listing. A simple validity checking could be done by using a "cookie" set on Travis via a hidden env variable and checked by the script to disallow bogus uploads.

My motivation for this is driven by these build failures:
https://travis-ci.org/cuberite/cuberite/builds/83114053
https://travis-ci.org/cuberite/cuberite/builds/83114067
(They are for the same commit, yet each fails in the exactly opposite configurations)
Reply
Thanks given by:
#2
I might have an upload script laying around for PHP. I'd have to check. Otherwise my brother most likely has one somewhere.
Reply
Thanks given by:
#3
Have here a link, that could be helpful http://jsteemann.github.io/blog/2014/10/...ci-builds/
Reply
Thanks given by:
#4
Is this done or is the upload script still needed?
Reply
Thanks given by:
#5
I think @Seadragon91's link is even better than an upload script, it actually logs all the needed information directly into the Travis' build log. If anyone could get that to work with our Travis integration that'd be great.
Reply
Thanks given by:
#6
Working on this.
Reply
Thanks given by:
#7
Core dumping is enabled, but the core file is not in the cwd and not in directory Server.
By default the file should be placed there where the executable is.
Reply
Thanks given by:
#8
Try outputting all the limits ("ulimit -a") in the CIBuid.sh script. I have a feeling they don't propagate.
Reply
Thanks given by:
#9
That's the problem.
/proc/sys/kernel/core_pattern
has
/usr/share/apport/apport %p %s %c %P
The content should be core. Reading trough comments to find a solution.
Reply
Thanks given by:
#10
Okay. now it works. I changed sudo: false to sudo: required
https://travis-ci.org/cuberite/cuberite/jobs/88619330

In containers the core_pattern is changed. Using sudo: required, doesn't changes the core pattern.
Discussion about that: https://github.com/travis-ci/travis-ci/issues/3754
Reply
Thanks given by:




Users browsing this thread: 9 Guest(s)