Closed peti closed 8 years ago
That's very interesting indeed, thanks for the report! Unfortunately from the logs I cannot see which of the tests is getting deadlocked, any idea how we could access such information?
Those builds run in a temporarily created chroot()
environment that's destroyed afterwards. All I have is the log.
Is it possible that the tests depend on Internet access or something like that?
I have checked and no, no internet access is required, it's a pretty standard tasty + QC stack (using MonadicIO properties). Are you getting this consistently or intermittently? One first step might be to trying isolate which tests are timing out. I have been checking the project with TravisCI for a while now and I cannot remember on the top of my mind any failure.
The only thing I can think of is that some of those tests are quite heavy, as they creates bogus delays to ensure all the interleaves completes. Each test is repeated 10 times by quickcheck. Is it even possible the CI machine you are using is running those tests slow enough to cause the timeout to kick in?
The machine building those packages has 8 cores plus 32 GByte RAM. I'm sure it can be busy sometimes, but I doubt it would be so busy that it would take 2 hours to run that test suite. The failures happen only occasionally. When I built the package manually a minute ago it succeeded fine (in less than 30 seconds).
Fair enough - yes, that's quite a beastly machine. The fact the failures are occasional makes me believe this is actually a genuine concurrency bug, which the high number of cores of your CI server is revealing!
I guess the next step is trying to identify which of those tests is causing the deadlock, perhaps trying to play with timeouts and fail
with a meaningful message if we have any kind of deadlock. If in the meantime you find a way to put your hands on a more detailed server log documenting which tests in timing out I guess that would be of great help :wink:
@peti I have got a green build using stack & travis on version 1.0.4.0:
https://travis-ci.org/adinapoli/threads-supervisor/builds/85092724
I have released it on Hackage. Are you willing to try if you have any joy?
The package is building happily in Nix (http://hydra.cryp.to/job/nixpkgs/haskell-updates/haskellPackages.threads-supervisor.x86_64-linux), including the test suite. I'll let you know if I run into errors again. Thank you for your efforts!
Thanks for taking time to write the bug report! Please let me know if you stumble into this dodgy behaviour again!
The test suite for that package timed out after 2 hours of inactivity. I suppose that's an error? The complete build log is at http://hydra.cryp.to/build/1162530/log/raw.