Bug 6153 - Suspected race in forkd
: Suspected race in forkd
Status: NEW
: Pike
: 7.8
: x86_64 Linux
: P3 (normal) normal
: ---
Assigned To:
  Show dependency treegraph
Reported: 2012-01-06 20:55 CET by
Modified: 2016-01-21 18:54 CET (History)
Scrum Prio:
In scrum?: ---
Story included in sprints:
Unplanned in sprints:


Description From 2012-01-06 20:55:20 CET
Running the roxen testsuite, pike sometimes get stuck in a busyloop:

>> /home/mast/Pike/stable/lib/modules/Process.pmod:336: Process.Process()->do_poll(3600.0)
>> /home/mast/Pike/stable/lib/modules/Process.pmod:372: Process.Process()->wait()
>> modules/sitebuilder/pike-modules/VC.pmod/CVS.pmod/CVS.pike (rev 1.51):163: VC.CVS.CVS()->command2(0,({"/home/mast/Roxen/5.2/server/modules/sitebuilder/bin/cvs","-!","-f","-q","-d:local:/home/mast/Roxen/5.2/var/test_repository/Test_Platform.sb/cvsroot","add","-kb","__info"}),0)
>> modules/sitebuilder/pike-modules/VC.pmod/CVS.pmod/file.pike (rev 1.108):452: VC.CVS.file()->add(UNDEFINED)

It looks like the busyloop is the while block in Process.Process.wait. forkd is
enabled and the forkd process did not have the cvs process running anymore.

The hang is not reliably reproducible, but I get it approximately once every
fourth testsuite run.

This is with a git fresh pike 7.8.613.
------- Comment #1 From 2016-01-21 18:54:48 CET -------
Probably a race-condition between do_poll_loop() and wait().

Behavior probably improved in Pike 8.1 as of today.


You need to log in before you can comment on or make changes to this bug.