[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: