The regression tests include an activatable service that deliberately raises SIGSEGV or segfaults, to verify that "process was killed by a signal" is reported correctly. It tries to turn off core dumps with setrlimit(), since its "crashes" are not really a problem. However, when Linux's /proc/sys/kernel/core_pattern is set to a pipe (e.g. "|/usr/lib/corekeeper/dump %d %u %p-%u-%g-%s-%t-%h-%E.core" for the corekeeper utility), the kernel ignores RLIMIT_CORE. This is deliberate, to be able to catch crashes during boot before a configurable rlimit has been applied (e.g. see <https://lkml.org/lkml/2011/8/24/136>), but is inconvenient here. We can use the Linux-specific prctl() syscall to turn off core dumps more thoroughly.
Created attachment 106143 [details] [review] On Linux, call prctl to disable core dumps Whenever I forget to turn off corekeeper, the regression tests take ages to record all test-segfault's crashes.
Comment on attachment 106143 [details] [review] On Linux, call prctl to disable core dumps Review of attachment 106143 [details] [review]: ----------------------------------------------------------------- ::: configure.ac @@ +600,5 @@ > > +# For test-segfault.c > +AC_CHECK_HEADERS_ONCE([sys/prctl.h]) > +AC_CHECK_FUNCS_ONCE([prctl raise]) > + Do the _ONCE checks work with old versions of autoconf?
(In reply to comment #2) > Do the _ONCE checks work with old versions of autoconf? Yes. They were new in 2.59c, back in 2006.
(In reply to comment #3) > Yes. They were new in 2.59c, back in 2006. (And we require 2.63 already.)
It looks good to me then.
Fixed in git for 1.8.8, 1.9.0
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.