Re: Debian Linux SPARC64 issue with FAIL t-printf (exit status: 139)

2020-11-17 Thread Paul Zimmermann
   Dear Dennis,

> With an old old Sun Nera server running very latest Debian sid I was
> surprised to see : [...]

does the same error occur with previous GMP versions, or is it specific to
6.2.1?

Paul
___
gmp-bugs mailing list
gmp-bugs@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-bugs


Debian Linux SPARC64 issue with FAIL t-printf (exit status: 139)

2020-11-17 Thread Dennis Clarke


With an old old Sun Nera server running very latest Debian sid I was
surprised to see :

.
.
.
FAIL: t-printf
PASS: t-scanf
PASS: t-locale

Testsuite summary for GNU MP 6.2.1

# TOTAL: 3
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

The ./tests/misc/t-printf.log says very little :

C_ceres$ wc -l ./tests/misc/t-printf.c
956 ./tests/misc/t-printf.c
C_ceres$


Just trying to run the test within gdb will throw a SIGSEGV :

(gdb) run
Starting program:
/opt/bw/build/gmp-6.2.1_debian_5.9.0-2-sparc64.001/tests/misc/t-printf

Program received signal SIGSEGV, Segmentation fault.
__memcpy_large () at ../sysdeps/sparc/sparc64/memcpy.S:370
370 ../sysdeps/sparc/sparc64/memcpy.S: No such file or directory.
(gdb) where
#0  __memcpy_large () at ../sysdeps/sparc/sparc64/memcpy.S:370
#1  0x0100a9f0 in tests_allocate (size=1099511750592) at
memory.c:102
#2  0x01007620 in check_one (want=0x101dfc0 "   123",
fmt=0x11267a8 "%10Nd") at t-printf.c:312
#3  0x01007af4 in check_z () at t-printf.c:424
#4  0x0100a6d0 in main (argc=1, argv=0x7fef638) at
t-printf.c:945
(gdb) quit
A debugging session is active.

Inferior 1 [process 55131] will be killed.

Quit anyway? (y or n) y
ceres$

Looking at line 312 I see :

   300
   301  void
   302  check_one (const char *want, const char *fmt, ...)
   303  {
   304va_list ap;
   305va_start (ap, fmt);
   306
   307/* simplest first */
   308check_vsprintf (want, fmt, ap);
   309check_vfprintf (want, fmt, ap);
   310check_vsnprintf (want, fmt, ap);
   311check_vasprintf (want, fmt, ap);
   312check_obstack_vprintf (want, fmt, ap);
   313  }
   314

This seems to be repeatable and also unlikely. I tried to single step
around in there and eventually ended up at :

   obstack_free (h=0x7feefb8, obj=0x0) at obstack.c:350

I am likely doing something wrong here.

In any case the configure line was :

./configure ABI=64 --enable-cxx --prefix=/opt/bw
--libdir=/opt/bw/lib --disable-assembly --enable-shared
--enable-static --enable-fft

Which looked okay :

checking build system type... ultrasparc2i-unknown-linux-gnu
checking host system type... ultrasparc2i-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether /usr/bin/make sets $(MAKE)... yes
checking whether /usr/bin/make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking ABI=64
checking compiler /usr/bin/gcc -std=iso9899:1999 -m64 -g -O0 -pedantic
-pedantic-errors -fno-builtin -fno-fast-math -mno-app-regs -mflat
-mhard-float -mhard-quad-float -mno-unaligned-doubles
-mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis
-mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany
-mmemory-model=tso -Wl,-rpath=/opt/bw/lib -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE -D_TS_ERRNO -D_XOPEN_SOURCE=600... yes
checking compiler /usr/bin/gcc -std=iso9899:1999 -m64 -g -O0 -pedantic
-pedantic-errors -fno-builtin -fno-fast-math -mno-app-regs -mflat
-mhard-float -mhard-quad-float -mno-unaligned-doubles
-mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis
-mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc -mno-subxc -mcmodel=medany
-mmemory-model=tso -Wl,-rpath=/opt/bw/lib has sizeof(long)==8... yes
checking for gcc... /usr/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking whether /usr/bin/gcc understands -c and -o together... yes
checking for /usr/bin/gcc option to accept ISO C99... none needed
checking how to run the C preprocessor... /usr/bin/gcc -E
checking build system compiler /usr/bin/gcc... yes
checking for build system preprocessor... /usr/bin/gcc -E
checking for build system executable suffix...
checking whether build system compiler is ANSI... yes
checking for build system compiler math library... -lm
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/bin/g++ accepts -g... yes
checking C++ compiler /usr/bin/g++ -D_POSIX_PTHREAD_SEMANTICS
-D_LARGEFILE64_SOURCE -D_TS_ERRNO -D_XOPEN_SOURCE=600 -std=iso9899:1999
-m64 -g -O0 -pedantic -pedantic-errors -fno-builtin -fno-fast-math
-mno-app-regs -mflat -mhard-float -mhard-quad-float
-mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc
-mtune=ultrasparc