comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Eachus <rieachus@comcast.net>
Subject: Re: Interfaces.C + generics: stack overflow
Date: Thu, 30 Mar 2017 10:12:50 -0700 (PDT)
Date: 2017-03-30T10:12:50-07:00	[thread overview]
Message-ID: <7fee6e3d-bc45-477f-a9fd-0795acb31282@googlegroups.com> (raw)
In-Reply-To: <obaehc$1jv8$1@gioia.aioe.org>

On Monday, March 27, 2017 at 3:21:19 AM UTC-4, Dmitry A. Kazakov wrote:
>
> I never got Storage_Error otherwise than in infinite recursion calls. 
> The most frequent case lies outside Ada when interfacing C.

Dave and I worked at MITRE, mostly on software embedded in radar systems.  Since these systems were hard real time (a late answer is worse than wrong) virtual memory was used only on software development systems.  Debugging on real hardware usually cramped the actual software by using up any "spare" memory to load the debugger.  So not only did Storage_Error indicate a problem somewhere, but the site where Storage_Error was raised often had nothing to do with the "real" error where some component of the system used more than its allocated amount of memory.

On virtual memory systems, Storage_Error should occur only in two cases.  One where the limited assets allocate for some purpose are exhausted.  (Overflowing a task stack is the most usual, and pushing up the stack size the obvious fix.) The other is where you exhaust the virtual address space.  Those usually occur where array dimensions were not constrained.  (Notice that today, on 64-bit systems allocating a (2**31 byte) string when allocating the max for unbounded objects may sail right along. ;-)


  reply	other threads:[~2017-03-30 17:12 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-23  7:43 Interfaces.C + generics: stack overflow hreba
2017-03-23  7:46 ` hreba
2017-03-23 17:45 ` Jeffrey R. Carter
2017-03-24 12:20   ` hreba
2017-03-23 20:03 ` Randy Brukardt
2017-03-24 12:42   ` hreba
2017-03-24 20:13     ` Randy Brukardt
2017-03-24 22:03     ` Dmitry A. Kazakov
2017-03-25 14:17       ` hreba
2017-03-25 15:21         ` hreba
2017-03-26 22:34           ` Robert Eachus
2017-03-27  7:21             ` Dmitry A. Kazakov
2017-03-30 17:12               ` Robert Eachus [this message]
2017-03-25 15:23         ` Dmitry A. Kazakov
replies disabled

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