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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,88cb7446cf44556a X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!bigfeed3.bellsouth.net!news.bellsouth.net!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!news.highwinds-media.com!newspeer1-win.ntli.net!newsfe3-gui.ntli.net.POSTED!53ab2750!not-for-mail From: "Dr. Adrian Wrigley" Subject: Re: Reliability and deadlock in Annex E/distributed code (progress at last!) User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-Id: Newsgroups: comp.lang.ada References: <87psdnfqel.fsf@ludovic-brenta.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Date: Sat, 23 Sep 2006 16:03:25 GMT NNTP-Posting-Host: 82.10.238.153 X-Trace: newsfe3-gui.ntli.net 1159027405 82.10.238.153 (Sat, 23 Sep 2006 17:03:25 BST) NNTP-Posting-Date: Sat, 23 Sep 2006 17:03:25 BST Organization: NTL Xref: g2news2.google.com comp.lang.ada:6699 Date: 2006-09-23T16:03:25+00:00 List-Id: On Sat, 23 Sep 2006 01:11:14 +0200, Ludovic Brenta wrote: > Dr. Adrian Wrigley writes: > [glade 2006 examples] >> Has anyone here managed to run these examples? > > I haven't gotten around to packaging glade 2006 for Debian yet, but > it's on my list. Your input is very valuable to me. > >> I have emailed gnat-gpl@adacore.com > > Please keep me posted. The Glade test case MultiPro does not build in GPL 2006. This is a known problem. The deadlock is in Examples/Eratho/dynamic and Examples/Eratho/spiral (cycle and absolute work fine ). This seems to be the same problem as the deadlock in the simple test case elsewhere in this thread. It doesn't seem to be a known problem. There is a *separate* deadlock issue when running multiple partitions doing RACW calls into different partitions, not the boot partition. This problem is also shown by Glade 3.15p and all other versions I have tried. I have a test case for this if anyone is interested (a bit longer than the other). Finally, however, there is good news (for me that is)! I have found that by removing all the cases of RCI calls calling other RCI units, I can avoid the deadlock that I have been struggling with in recent Glades. That just leaves the intermittent deadlock when doing RACW calls from two different partitions into a third. This problem is solved by putting the RACW unit into the boot partition. By making the RACW unit (a server) into a generic package, I can instantiate it from library level for each server instance that I need (I just need a few). The instantiations can then all be configured into the root partition. So I have managed to make the code run absolutely reliably. In particular, running multiple clients concurrently, and killing clients prematurely has caused *no* anomolous behaviour. This is great improvement over the same code running on 3.15p, which would hang sporadically. The only functionality lost is the ability to dynamically instantiate servers. Whenever the servers are in spearate partitions, the failures occur. The next step is to get the GtkAda components working, and then to build the 64-bit and 32-bit partitions built and working together (this works nicely, AFACT). Thanks to everyone who has made suggestions here and by email! -- Adrian