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

Bug#1055750: Bug#1055228: plplot: FTBFS on armhf (test segfault)



Hi Emanuele,

Our messages crossed.

* Emanuele Rocca <ema@debian.org> [2023-11-15 18:20]:

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@entry=0, y=y@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

Does this mean that the origin of the bug is upstream or that it still may be a bug in gfortran?

Best,

Rafael Laboissière


Reply to: