ionelmc / python-cogen

Automatically exported from https://code.google.com/p/cogen
MIT License
6 stars 0 forks source link

WaitForSignal with very short timeouts fails removing itself from the timeouts heap. #16

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Sometimes a WaitForSignal operation tries to remove itself from sched.timeouts, 
while it's not there.
In my application (which runs socket io + tkinter update loop, and is very 
signal-intensive),
this happens only once in hour on average, and seems pretty random.
My guess is that it happens when an OperationTimeout exception is added to 
sched.active queue,
while the same WaitForSignal operation is already on sched.active.

I was able to isolate a failure in a relatively simple script (attached); it 
fails quickly (~10-20 
seconds) when ran under Mac OS X on a macbook. Sample failure output is 
attached as well.
The failure condition depends on a timeout scale parameter (currently, 0.05 
inside rtime() function); 
if the error can't be readily reproduced on your system, try varying this 
parameter.

Original issue reported on code.google.com by maxim.kr...@gmail.com on 19 Sep 2009 at 10:38

Attachments: