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

Rafael Laboissière rafael at debian.org
Thu Nov 9 16:11:21 GMT 2023


Control: tags -1 + confirmed help

* Gianfranco Costamagna <locutusofborg at debian.org> [2023-11-02 15:09]:

> Source: plplot
> Version: 5.15.0+dfsg2-6
> Severity: serious
>
> Hello, I found the package FTBFS on Ubuntu, checked on amdahl and found the same issue.
>
>  /usr/bin/make  -f examples/fortran/CMakeFiles/x31f.dir/build.make examples/fortran/CMakeFiles/x31f.dir/build
>  make[5]: Entering directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  make[5]: Nothing to be done for 'examples/fortran/CMakeFiles/x31f.dir/build'.
>  make[5]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  [ 46%] Built target x31f
>  /usr/bin/make  -f examples/CMakeFiles/test_fortran_svg.dir/build.make examples/CMakeFiles/test_fortran_svg.dir/depend
>  make[5]: Entering directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  cd /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/locutusofborg/plplot-5.15.0+dfsg2 /home/locutusofborg/plplot-5.15.0+dfsg2/examples /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/examples /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/examples/CMakeFiles/test_fortran_svg.dir/DependInfo.cmake "--color="
>  make[5]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  /usr/bin/make  -f examples/CMakeFiles/test_fortran_svg.dir/build.make examples/CMakeFiles/test_fortran_svg.dir/build
>  make[5]: Entering directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  cd /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/examples && /usr/bin/cmake -E echo "Generate fortran results for svg device"
>  Generate fortran results for svg device
>  cd /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/examples && env EXAMPLES_PREFIX=/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/examples SRC_EXAMPLES_PREFIX=/home/locutusofborg/plplot-5.15.0+dfsg2/examples OUTPUT_DIR=/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/examples/test_examples_output_dir /bin/bash /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/plplot_test/plplot-test.sh --verbose --front-end=fortran --device=svg
>  Testing front-end fortran
>  x16af
>  x00f
>  x01f
>  x02f
>  x03f
>  x04f
>  x05f
>  x06f
>  x07f
>  x08f
>  x09f
>  /home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf/plplot_test/test_fortran.sh: line 54: 3932208 Bus error               $DEBUG_CMD "$fortrandir"/x${index}f -dev $device -o "${OUTPUT_DIR}"/x${index}${lang}%n.$dsuffix $options 2> fortran_${device}_test.error >| "${OUTPUT_DIR}"/x${index}${lang}_${dsuffix}.txt
>
> Program received signal SIGBUS: Access to an undefined portion of a memory object.
>
>  Backtrace for this error:
>  make[5]: *** [examples/CMakeFiles/test_fortran_svg.dir/build.make:388: examples/test_examples_output_dir/x00f01.svg] Error 1
>  make[5]: *** Deleting file 'examples/test_examples_output_dir/x00f01.svg'
>  make[5]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  make[4]: *** [CMakeFiles/Makefile2:5049: examples/CMakeFiles/test_fortran_svg.dir/all] Error 2
>  make[4]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  make[3]: *** [CMakeFiles/Makefile2:7121: examples/CMakeFiles/test_noninteractive.dir/rule] Error 2
>  make[3]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  make[2]: *** [Makefile:2243: test_noninteractive] Error 2
>  make[2]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2/obj-arm-linux-gnueabihf'
>  make[1]: *** [debian/rules:55: override_dh_auto_test] Error 2
>  make[1]: Leaving directory '/home/locutusofborg/plplot-5.15.0+dfsg2'
>  make: *** [debian/rules:48: binary] Error 2
>
>
> Full log attached

Thanks for this bug report. I can indeed reproduce the problem.

It was triggered by the recent change in dpkg-buildflags, which now 
includes -fstack-clash-protection in FFLAGS. This was done through commit 
1d46b351f [1], , intended to fix Bug#1054583 [2], and which got included 
in version 1.22.1 of dpkg-dev, released on October 30.

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. I did not check whether this is also the case 
for arm64 and armel.

As far as I can tell, this is due to a global variable (tr) that is not 
correctly accessed in a private function (mypltr) of the x09f program.

There may be a programming error in x09f.f90 or this may be a problem 
with gfortran on armhf. My knowledge of Fortran is almost non existent 
and I will need the help of experts, in order to fix the issue.

Best,

Rafael Laboissière

  [1] https://git.dpkg.org/cgit/dpkg/dpkg.git/diff/?id=1d46b351f
  [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054583



More information about the debian-science-maintainers mailing list