Package: libquadmath0
Version: 14-20240330-1
Severity: serious
Tags: upstream fixed-upstream
Control: affects -1 evolver libc6
Control: fixed -1 libquadmath0/14-20240429-1 
Control: block 1075938 by -1

Hi,

evolver autopkgtest fails with glibc 2.39:
https://ci.debian.net/packages/e/evolver/testing/amd64/49199929/

I have track the issue to a segmentation fault inside libquadmath0:

| Surface Evolver Version 2.70a (Debian 2.70+ds-8+b2), August 27, 2013, 64-bit.
| Compiled for float128, 33 digits precision.
| Built with Geomview support.
| 
| Enter command:
| Enter command: // Typical evolution to sphere
| Enter command: gogo := { g 5; r; g 5; hessian; r; g 5; hessian; }
| Enter command:
| Enter command: // Evolution to very high accuracy, using higher-order 
Lagrange elements.
| Enter command: // To be run on original datafile.
| Enter command: gogo2 := { g 5; r; g 5; hessian; r; g 5; hessian;
| more>            lagrange 2; g 5; hessian;
| more>            lagrange 4; g 5; hessian;
| more>            lagrange 6; g 5; hessian;
| more>            ideal_rad := (3*body[1].volume/4/pi)^(1/3);
| more>            printf "Area error: %g\n",total_area - 4*pi*ideal_rad^2;
| more>            printf "Vertex radius spread: %g\n",
| more>              max(vertex,sqrt((x-.5)^2+(y-.5)^2+(z-.5)^2))
| more>                - min(vertex,sqrt((x-.5)^2+(y-.5)^2+(z-.5)^2));
| more> }
| Enter command: g 5; v; r ; g 10; v;
| 
| Program received signal SIGSEGV, Segmentation fault.
| 0x00007ffff7f93ed9 in __quadmath_printf_fp (fp=fp@entry=0x7fffffffb1b0, 
info=0x7fffffffb498, args=0x7fffffffb200) at 
../../../src/libquadmath/printf/printf_fp.c:366
| 366     ../../../src/libquadmath/printf/printf_fp.c: No such file or 
directory.
| (gdb) bt
| #0  0x00007ffff7f93ed9 in __quadmath_printf_fp (fp=fp@entry=0x7fffffffb1b0, 
info=0x7fffffffb498, args=0x7fffffffb200) at 
../../../src/libquadmath/printf/printf_fp.c:366
| #1  0x00007ffff7f96b3a in flt128_printf_fp (fp=<optimized out>, 
info=<optimized out>, args=<optimized out>) at 
../../../src/libquadmath/printf/quadmath-printf.c:371
| #2  0x00007ffff7ca96cf in __printf_function_invoke 
(buf=buf@entry=0x7fffffffc210, callback=0x7ffff7f96b00 <flt128_printf_fp>, 
args_value=0x7fffffffb890, ndata_args=<optimized out>, 
info=info@entry=0x7fffffffb498) at ./printf_buffer_as_file.h:52
| #3  0x00007ffff7cac337 in printf_positional (buf=buf@entry=0x7fffffffc210, 
format=format@entry=0x5555558aefd0 "%3d. energy: %#*.*Qg  scale: %#Qg\n", 
readonly_format=readonly_format@entry=0, ap=ap@entry=0x7fffffffc250,
|     ap_savep=ap_savep@entry=0x7fffffffbdb8, nspecs_done=1, 
nspecs_done@entry=0, lead_str_end=<optimized out>, work_buffer=<optimized out>, 
save_errno=<optimized out>, grouping=<optimized out>, thousands_sep=<optimized 
out>, mode_flags=<optimized out>)
|     at ./stdio-common/vfprintf-internal.c:1345
| #4  0x00007ffff7cadbfa in __printf_buffer (buf=buf@entry=0x7fffffffc210, 
format=0x5555558aefd0 "%3d. energy: %#*.*Qg  scale: %#Qg\n", ap=0x7fffffffc250, 
mode_flags=6) at ./stdio-common/vfprintf-internal.c:1041
| #5  0x00007ffff7cc99f1 in __vsprintf_internal (string=<optimized out>, 
maxlen=maxlen@entry=18446744073709551615, format=<optimized out>, 
args=args@entry=0x7fffffffc250, mode_flags=mode_flags@entry=6) at 
./libio/iovsprintf.c:62
| #6  0x00007ffff7d62afd in ___sprintf_chk (s=<optimized out>, 
flag=flag@entry=1, slen=slen@entry=18446744073709551615, 
format=format@entry=0x5555558aefd0 "%3d. energy: %#*.*Qg  scale: %#Qg\n") at 
./debug/sprintf_chk.c:40
| #7  0x00005555556d919b in sprintf (__fmt=0x5555558aefd0 "%3d. energy: %#*.*Qg 
 scale: %#Qg\n", __s=<optimized out>) at 
/usr/include/x86_64-linux-gnu/bits/stdio2.h:30
| #8  iterate () at ../../../src/iterate.c:277
| #9  0x00005555556f170c in letter_command (c=<optimized out>) at 
../../../src/command.c:465
| #10 0x00005555556564a7 in eval (ex_original=ex_original@entry=0x7fffffffdeb0, 
params=params@entry=0x0, self_id=self_id@entry=0, parent_frame=<optimized out>, 
parent_frame@entry=0x0) at ../../../src/evaltree.c:396
| #11 0x00005555555a3f43 in command (text=text@entry=0x7fffffffdf70 "g 5; v; r 
; g 10; v;", mode=mode@entry=1) at ../../../src/query.c:247
| #12 0x00005555556eeb17 in old_menu (text=text@entry=0x7fffffffdf70 "g 5; v; r 
; g 10; v;") at ../../../src/command.c:125
| #13 0x00005555556944a0 in exec_commands (basefd=basefd@entry=0x0, 
promptstring=promptstring@entry=0x5555558b6aa1 "Enter command: ") at 
../../../src/tmain.c:839
| #14 0x000055555556816e in main (argc=1, argv=0x7fffffffe210) at 
../../../src/tmain.c:678

This issue has been fixed upstream by the following commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8455d6f6cd43b7b143ab9ee19437452fceba9cc9

This fixes went into libquadmath0/14-20240429-1, but hasn't reached
testing yet due to the new dependency on amdgcn-tools-18 added in that
version and the llvm-toolchain-18 mess.

Regards
Aurelien

Reply via email to