From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,URI_HEX autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,71d1e36fcaaa9b90,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-10 16:38:19 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!skynet.be!skynet.be!fu-berlin.de!uni-berlin.de!212.97.179.223!not-for-mail From: Jano Newsgroups: comp.lang.ada Subject: Help with anormal pausing of program Date: Wed, 11 Jun 2003 01:37:33 +0200 Message-ID: NNTP-Posting-Host: 212.97.179.223 X-Trace: fu-berlin.de 1055288297 16712281 212.97.179.223 (16 [49872]) X-Newsreader: MicroPlanet Gravity v2.50 Xref: archiver1.google.com comp.lang.ada:38942 Date: 2003-06-11T01:37:33+02:00 List-Id: Hello everybody, I have been discussing this matter in the Gnatlist but it seems that we have not extracted any definitive conclusion, so I want to ask here too. I have a multitasking program; it has service tasks with usually are accepting rendezvous, and periodic tasks that do some processing and sleep for some time. The problem is that I've detected that some (many) of these tasks are being stopped for unusual long times, after some running time. It seems like I issue a delay 1.0 but they sleep for much more. I haven't find any deadlock or critical race condition anywhere, CPU usage is idle. Since the program is fairly big and complex, I've distilled the following test case to rule out problems in my code: http://www.mycgiserver.com/~mosteo/dead-noio.zip This is fairly simple but exhibits the same behavior. It has a queue for trace messages, a task reading them, a task producing them, and other dummy tasks that seem to favour the happening of the wrong thing. The program runs fine for some time, and suddenly traces cease to appear. Some arbitrary time after, usually less than half an hour (but sometimes hours, sometimes "never"), everything resumes normally but is evident that the task I'm using as reference (called heartbeat in my sample) has slept for much more time than it should. I detect that condition and report it. I have the following test combinations, in everyone I launch eight simultaneous instances of the test: A) AMD 2000+ winXP SP1 Gnat 3.15p. Usually some of the instances exhibits the rare stopping in less than half an hour. B) Same computer as A) but with Linux, Gnat 3.15p native threading: Everything OK (several hours uptime). C) Same computer as A) but using ObjectAda free edition: Everything OK (several days uptime). D) PIII 1000 WinXP Gnat 3.15p. It has happened only once in several days. People from the gnatlist have run similar versions of this test program; a Win2000 user has reported the freezing after 90 minutes, while users of other platforms have not reported any problem for very long uptimes. I would be very grateful if you could review my program and test it. I would want to know if a) There is a justification for abnormally long delays in my code, because of some misunderstanding or bug in my tasks. b) This is XP or at least windows specific, or even if it happens to someone apart from me. c) It could be a problem in Gnat-Windows itself. d) How could I workaround that, if possible. I've launched the eight tasks just before starting this post. They're now all frozen, and what's more strange, I've seen them frozen within 30 seconds of difference (I was keeping an eye on them), and have resumed at the nearly same time. CPU idle all the time. This is driving me crazy. Any light or hope in this matter would make me very happy. I have usually uptimes of several days and no other program is showing strange behaviors. I've tested my RAM also. Thanks in advance, -- ------------------------- Jano 402450.at.cepsz.unizar.es -------------------------