Bug#1055228: plplot: FTBFS on armhf (test segfault)
Emanuele Rocca
ema at debian.org
Wed Nov 15 17:20:25 GMT 2023
Hi!
On 2023-11-09 05:11, Rafael Laboissière wrote:
> The Fortran example x09f.f90, which is exercised during the building of
> plplot, now fails on armhf, due to the use of the compiler option
> -fstack-clash-protection.
The problem seems unrelated to stach-clash-protection I think, enabling
the feature on armhf just made it evident.
Building the program on a x86 system without -fstack-clash-protection
but with -fsanitize=address, it segfaults:
/usr/bin/gfortran -g -O2 x09f.f90 -o x09f -I/usr/lib/x86_64-linux-gnu/fortran/modules/plplot -lplplotfortran -fsanitize=address
./x09f -dev ps -o /dev/null
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
The SIGSEGV happens in plplot_single::pltransformf2c, which is about
where the SIGBUS happens on armhf with stack-clash-protector enabled:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5a000a8 in ?? ()
(gdb) bt
#0 0x00007ffff5a000a8 in ?? ()
#1 0x00007ffff7f05683 in plplot_single::pltransformf2c (x=x at entry=0, y=y at entry=1, tx=4.9406564584124654e-324,
ty=6.9533558054215925e-310, data=<error reading variable: Attempt to dereference a generic pointer.>)
at ./bindings/fortran/plplot_single.f90:114
Here's the SIGBUS on armhf with stack-clash-protection:
Program received signal SIGBUS, Bus error.
0x00400822 in x09f::mypltr (x=0, y=1, xt=0, yt=0) at x09f.f90:38
38 xt = tr(1) * x + tr(2) * y + tr(3)
(gdb) bt
#0 0x00400822 in x09f::mypltr (x=0, y=1, xt=0, yt=0) at x09f.f90:38
#1 0xf7f58a06 in plplot_single::pltransformf2c (x=<optimized out>, y=<optimized out>, tx=-9.8841854819221187e+269,
ty=-nan(0xe5db400000001), data=<optimized out>) at ./bindings/fortran/plplot_single.f90:114
More information about the debian-science-maintainers
mailing list