egranata / puppy

The Puppy Operating System
Apache License 2.0
22 stars 3 forks source link

Lottery scheduler can overflow #77

Closed egranata closed 5 years ago

egranata commented 5 years ago

In https://api.travis-ci.org/v3/job/441463862/log.txt the test run failed - log shows:

[2245] kernel/src/tasks/scheduler.cpp:48 (LOTTERY) lottery has total 18494782015911198 tickets - winner is 13502800550617603
[2245] kernel/src/tasks/scheduler.cpp:54 (LOTTERY) process 0 has 18494782015911136 tickets - this brings count up to 18494782015911178 which is >= 13502800550617603
[2245] kernel/src/tasks/scheduler.cpp:73 (LOTTERY) lottery did not select a runnable winner - try again
[2245] kernel/src/tasks/scheduler.cpp:48 (LOTTERY) lottery has total 18494782015911198 tickets - winner is 14341505193791209
[2245] kernel/src/tasks/scheduler.cpp:54 (LOTTERY) process 0 has 18494782015911136 tickets - this brings count up to 18494782015911178 which is >= 14341505193791209
[2245] kernel/src/tasks/scheduler.cpp:73 (LOTTERY) lottery did not select a runnable winner - try again

This may be a race condition due to logging being turned on in the scheduler, aka a critical path - or it may be a symptom of a deeper issue

Filing this to keep an eye on the issue

egranata commented 5 years ago

This hasn't happened for a while; closing