comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic.brenta@insalien.org>
Subject: Is the Ada run-time required to detect out-of-memory conditions?
Date: Fri, 21 May 2004 00:54:27 +0200
Date: 2004-05-21T00:53:17+02:00	[thread overview]
Message-ID: <878yfmiuak.fsf@insalien.org> (raw)

Hello,

I have received a bug report [1] against GNAT 3.15p and reproduced the
same behaviour with GCC 3.4.  I would like the advice of language
lawyers on the issue.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250076

The program allocates memory in an infinite loop using "new" and the
default storage pool, and of course exhausts all available storage.
The issue is whether or not Storage_Error should be raised.  With
GNAT, no exception is raised; instead the program receives SIGKILL
(not even SIGSEGV) from Linux.

My first impression is that the program exhausts physical memory (RAM
+ swap) before exhausting the default storage pool, the size of which
is defined to be the total size of the virtual address space.  As a
result, the kernel detects the out-of-memory condition before the Ada
run-time library does, and sends SIGKILL to the program.  Of course,
the program has no chance to turn SIGKILL into an exception.

Is my assessment correct?  Is this a bug in the GNAT library?

Thanks for any insight.

PS. The original reported says that the program receives SIGSEGV.  He
uses Linux 2.4.22.  I use 2.4.26 and the program receives SIGKILL
instead.  I don't know if this is a known change in the kernel's
behaviour.

-- 
Ludovic Brenta.



             reply	other threads:[~2004-05-20 22:54 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-20 22:54 Ludovic Brenta [this message]
2004-05-21  0:44 ` Is the Ada run-time required to detect out-of-memory conditions? Georg Bauhaus
2004-05-21  0:47 ` Stephen Leake
2004-05-21  0:54   ` Georg Bauhaus
2004-05-21  1:00     ` Stephen Leake
2004-05-21  3:29 ` Robert I. Eachus
2004-05-21  8:04 ` Vinzent 'Gadget' Hoefler
2004-05-21  9:34   ` Martin Krischik
2004-05-21 11:13 ` Wojtek Narczynski
2004-05-21 12:55   ` Martin Krischik
2004-05-21 16:00     ` Robert I. Eachus
2004-05-21 17:13       ` Ludovic Brenta
2004-05-21 23:41         ` Wojtek Narczynski
2004-05-23  8:20       ` Martin Krischik
2004-05-21 19:58   ` Randy Brukardt
2004-05-21 16:56 ` Mark H Johnson
2004-05-21 17:19   ` Ludovic Brenta
2004-05-21 21:39 ` user
2004-05-21 22:04   ` Ludovic Brenta
2004-05-21 22:11     ` Ludovic Brenta
2004-05-22 11:40       ` Simon Wright
2004-05-25 20:43     ` Is the Ada run-time required to detect out-of-memory Robert I. Eachus
2004-05-25 20:58       ` Duncan Sands
2004-05-25 21:19       ` Ludovic Brenta
2004-05-25 21:31         ` Duncan Sands
2004-05-26  7:09       ` Martin Krischik
2004-05-26  7:38         ` Duncan Sands
2004-05-26  8:16           ` Martin Krischik
2004-05-26  8:34             ` Duncan Sands
2004-05-26 16:20               ` Martin Krischik
2004-05-22 13:40   ` Is the Ada run-time required to detect out-of-memory conditions? Duncan Sands
2004-05-22 14:09     ` Martin Krischik
replies disabled

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