Bug#497067: gnat-4.3: 64-bit raised STORAGE_ERROR : stack overflow (or erroneous memory access)
Package: gnat-4.3
Version: 4.3.1-1
Severity: normal
I am going to be attaching a simple test case (as a compressed tarball)
that illustrates this Ada bug for 64-bit systems. To
run the test case, I unpack the tarball, then run the following:
irwin@raven> cd simple_test_case
irwin@raven> gnatmake x19a_temp.adb
gcc-4.3 -c x19a_temp.adb
x19a_temp.adb:10:38: warning: type of argument "mapform19.x" is
unconstrained array
x19a_temp.adb:10:38: warning: foreign caller must pass bounds explicitly
gcc-4.3 -c type_declaration.adb
gnatbind -x x19a_temp.ali
gnatlink x19a_temp.ali
/home/irwin/simple_test_case
irwin@raven> ./x19a_temp
raised STORAGE_ERROR : stack overflow (or erroneous memory access)
To give some background, this error came up as part of my routine testing of
the Ada interface to PLplot, and for that (relatively complicated) case this
issue has been confirmed on all 64-bit platforms we have tried and not found
on all 32-bit platforms we have tried. I know virtually nothing about Ada,
but I asked the developer of the Ada interface to PLplot (who unfortunately
has no access to 64-bit platforms) to make a simple test case that is
completely independent of PLplot, but which follows closely the form of the
code that causes the PLplot problem. The attached tarball is the result,
and it runs smoothly on the developer's 32-bit platform and raises the above
run-time error on my 64-bit platform.
N.B. Although the simple example is independent of PLplot, its special form
is dictated by our PLplot needs so a "solution" that substantially changes
that form to something else won't be helpful to us.
I frankly don't know whether this is some 64-bit issue with the simple test
case or gnat-4.3, but the developer of the Ada interface to PLplot seems
competent in Ada so I lean toward the latter explanation.
If there is no obvious 64-bit coding issue in the simple example, the first
thing we need is confirmation that the simple test case does raise the error
on all 64-bit platforms that are tried, and causes no problems on 32-bit
platforms.
Alan W. Irwin
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.25-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages gnat-4.3 depends on:
ii gcc-4.3 4.3.1-2 The GNU C compiler
ii gnat-4.3-base 4.3.1-1 The GNU Compiler Collection (gnat
ii libc6 2.7-13 GNU C Library: Shared libraries
ii libc6-dev 2.7-13 GNU C Library: Development Librari
ii libgcc1 1:4.3.1-2 GCC support library
ii libgmp3c2 2:4.2.2+dfsg-3 Multiprecision arithmetic library
ii libgnat-4.3 4.3.1-1 Runtime library for GNU Ada applic
ii libgnatprj4.3 4.3.1-1 GNU Ada Project Manager
ii libgnatvsn4.3 4.3.1-1 GNU Ada compiler version library
ii libmpfr1ldbl 2.3.1.dfsg.1-2 multiple precision floating-point
gnat-4.3 recommends no packages.
Versions of packages gnat-4.3 suggests:
pn ada-reference-manual <none> (no description available)
pn gnat-4.3-doc <none> (no description available)
-- no debconf information
Reply to: