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,49eb370bfd3baa90 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!proxad.net!proxad.net!62.253.162.218.MISMATCH!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!newspeer1-win.ntli.net!newsfe2-gui.ntli.net.POSTED!53ab2750!not-for-mail From: "Dr. Adrian Wrigley" Subject: Re: Memory limits in Ada where Fortran has none 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: <1110070479.250902.220540@l41g2000cwc.googlegroups.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Date: Wed, 16 Mar 2005 23:47:50 GMT NNTP-Posting-Host: 81.100.88.147 X-Complaints-To: http://www.ntlworld.com/netreport X-Trace: newsfe2-gui.ntli.net 1111016870 81.100.88.147 (Wed, 16 Mar 2005 23:47:50 GMT) NNTP-Posting-Date: Wed, 16 Mar 2005 23:47:50 GMT Organization: ntl Cablemodem News Service Xref: g2news1.google.com comp.lang.ada:9526 Date: 2005-03-16T23:47:50+00:00 List-Id: On Wed, 16 Mar 2005 14:51:26 -0500, Robert A Duff wrote: > "Dr. Adrian Wrigley" writes: > >> I am very wary of a test like this because GNAT sometimes >> silently accesses the wrong element of very large data, if I >> remember correctly. ... >>... A correctly written program can (and did!) >> thus fail catastrophically. Large records in particular are >> suspect (on GNAT 3.15p, x86). (I have no test case to hand >> at the moment). I don't know if it is affected by -gnato >> and default absence of overflow checking. > > I guess you should send them a bug report. it wasn't convenient at the time (I had to find a fix!) maybe I will if I have time to make a test case on a current compiler. >> A more comforting test would place a *different* value at >> each location, and check they are all correct! > > OK, the above example does that (but it's an array, > not a record). Sorry I raised this without giving a tangible example. It was to do with locations of elements, and 'Address, once the 256MB limit is breached. I wanted to mmap a large data set, but various things kept breaking. The solution I found keeps the record under 256M, and avoids using 'Address on giant arrays. Works well now... except I've hit the 2GB limit on the machine's mmap :( I don't think hardware or OS issues had anything to do with the issue, since I fixed it with the help of some C code. The machine also has ECC, and the fault was repeatable. -- Adrian