comp.lang.ada
 help / color / mirror / Atom feed
From: "Dr. Adrian Wrigley" <amtw@linuxchip.demon.co.uk.uk.uk>
Subject: Re: Reliability and deadlock in Annex E/distributed code
Date: Wed, 13 Sep 2006 11:21:11 GMT
Date: 2006-09-13T11:21:11+00:00	[thread overview]
Message-ID: <pan.2006.09.13.11.20.36.306999@linuxchip.demon.co.uk.uk.uk> (raw)
In-Reply-To: pan.2006.09.12.20.30.44.951448@linuxchip.demon.co.uk.uk.uk

On Tue, 12 Sep 2006 20:31:55 +0000, Dr. Adrian Wrigley wrote:

> On Sun, 10 Sep 2006 20:58:33 +0000, Dr. Adrian Wrigley wrote:
> 
>> I've been having difficulty getting my Annex E/glade code to run reliably.
>> 
>> Under gnat 3.15p for x86 Linux, things were tolerably OK, with failures
>> of the code about weekly (running one instance continuously).
>> Sometimes the program simply wouldn't allow new partitions to run, as if
>> there was some boot server failure.  Sometimes the server would suddenly
>> start consuming all the CPU cycles it could get.
> ...
> 
> OK.  I have produced a fairly short example.
> There are three partitions, A, B, C.
> C calls B which calls A.
> Compiler is GNAT GPL 2006 + GLADE 2006 on x86 Linux
> 
> The partition C (executable in ./cpart) runs OK on *alternate*
> invocations.  Every other time, it hangs indefinitely.
> This seems strange.

(talking to myself again...)

If I change function Next in b.adb so that it doesn't call A
(returning a constant instead),  there are absolutely no problems.
Only when B.Next calls A does the deadlock happen.

There must be something in BPart that isn't completing properly
when running B.Next and calling into A.  Each time the call into
B hangs, it uses up a task.  It will create anonymous tasks
to replace them until the whole program grinds to a halt :(

I've tried using gdb on BPart to see what's going on.  From
what I can tell, the key code is in s-rpcser.adb, function
RPC_Handler.  On alternate occasions, it executes the
remote subprogram or just stops.  If I could see why this
happens, I might be able to fix it...
--
Adrian




  parent reply	other threads:[~2006-09-13 11:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-10 20:58 Reliability and deadlock in Annex E/distributed code Dr. Adrian Wrigley
2006-09-11 18:52 ` Jerome Hugues
2006-09-12 20:40   ` Dr. Adrian Wrigley
2006-09-13  7:16     ` Dmitry A. Kazakov
2006-09-12 20:31 ` Dr. Adrian Wrigley
2006-09-12 23:24   ` tmoran
2006-09-13 11:00     ` Dr. Adrian Wrigley
2006-09-13 11:21   ` Dr. Adrian Wrigley [this message]
2006-09-21 21:18   ` Dr. Adrian Wrigley
2006-09-22 13:52   ` Dr. Adrian Wrigley
2006-09-22 23:11     ` Ludovic Brenta
2006-09-23 16:03       ` Reliability and deadlock in Annex E/distributed code (progress at last!) Dr. Adrian Wrigley
2006-09-23 19:17         ` Björn Persson
2006-09-23 20:53           ` Dr. Adrian Wrigley
2006-09-23 22:21             ` Björn Persson
2006-09-23 23:31               ` tmoran
2006-09-24  0:19                 ` Dr. Adrian Wrigley
2006-09-25 11:41             ` Alex R. Mosteo
  -- strict thread matches above, loose matches on Subject: below --
2006-09-15 21:24 Reliability and deadlock in Annex E/distributed code Anh Vo
2006-09-17 13:33 ` Dr. Adrian Wrigley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox