I installed some kernel patch (grsecurity) which, among other things, has a feature to randomize pids (so never ever child will get a pid which is ppid + 1).
Perhaps, this is the reason that during following test (test 10102, line 9153 from 7.4.44 - 7.5 cvs test is on the way):
object proc = Process.create_process (({"/bin/sleep", "99999"})); array threads = allocate (10, Thread.thread_create) ( lambda (object proc) {proc->wait();}, proc); sleep (1); proc->kill (9); return threads->wait() - ({-1});
...the verify process hung... The only reason what I may think of is dependency on PID generation order (this is, actually, only visible change - previously, I compiled and verified pike installation on same computer without any problems, and when I disable randomized PIDs, this test passes quickly).
The test as such has no dependency on the PID generation order; it might however be that your thread library has such dependencies.
Regards, /Al
/ Henrik Grubbström (Lysator)
Previous text:
2004-03-15 12:15: Subject: make verify hung (randomized pids problem?)
Hi,
I installed some kernel patch (grsecurity) which, among other things, has a feature to randomize pids (so never ever child will get a pid which is ppid + 1).
Perhaps, this is the reason that during following test (test 10102, line 9153 from 7.4.44 - 7.5 cvs test is on the way):
object proc = Process.create_process (({"/bin/sleep", "99999"})); array threads = allocate (10, Thread.thread_create) ( lambda (object proc) {proc->wait();}, proc); sleep (1); proc->kill (9); return threads->wait() - ({-1});
...the verify process hung... The only reason what I may think of is dependency on PID generation order (this is, actually, only visible change - previously, I compiled and verified pike installation on same computer without any problems, and when I disable randomized PIDs, this test passes quickly).
NB: after some time, it fails with:
[WATCHDOG] Pike testsuite timeout, sending SIGABRT.
Any ideas how to make it independent from PIDs? :)
Regards, /Al
/ Brevbäraren