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