PR# 17434 Modified DINING_SAVAGES version hangs
Problem Report Summary
Submitter: saynte
Category: Runtime
Priority: Medium
Date: 2011/03/24
Class: Bug
Severity: Serious
Number: 17434
Release: 6.8.85940
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16
Synopsis: Modified DINING_SAVAGES version hangs
Description
I have taken the DINING_SAVAGES and modified it so the root processor doesn't exit. As an experiment I tried both a `sleep' and an infinite loop. The infinite loop version runs for a while then all activity halts (deadlocks?). This seems strange as the root class infinite-looping should cause no trouble for any of the savages/cook/pot as they have no knowledge of the root class anyway. It seems that the bad behaviour should be confined to the instance of the root class.
To Reproduce
Insert a "from until False loop end" at the end of DINING_SAVAGES.make (also possibly make the savages not decrease their hunger to give the program more time to find the problem).
Problem Report Interactions
The program ends when the savages have finished eating. If you dead lock the root processor then the system will never exit or perform deadlock detection. In my system I have made the SAVAGES infinitely hungry, it seems to continue indefinitely with no hang. However I am not using the precompile and I have full assertions running so maybe there is a discrepancy somewhere as the system relies on wait-conditions.