[Bug 2052929] Re: failed autopkgtests for evolver vs glibc 2.39 on amd64

Simon Chopin 2052929 at bugs.launchpad.net
Tue Mar 12 10:20:35 UTC 2024


This bug is actually in gcc-14, more specifically libquadmath, as they
do a misaligned read from args to a float128, which produces the
segfault.

It was hidden so far because args was allocated using alloca() which I
guess must be naturally aligned, but in 2.39 they removed that in favor
of appending those arguments to an existing buffer.

I'm testing the attached patch in a PPA before sending it upstream for
review.

** Also affects: gcc-14 (Ubuntu)
   Importance: Undecided
       Status: New

** Patch added: "0001-libquadmath-printf-avoid-misaligned-access-on-args.patch"
   https://bugs.launchpad.net/ubuntu/+source/gcc-14/+bug/2052929/+attachment/5755246/+files/0001-libquadmath-printf-avoid-misaligned-access-on-args.patch

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/2052929

Title:
  failed autopkgtests for evolver vs glibc 2.39 on amd64

Status in evolver package in Ubuntu:
  New
Status in gcc-14 package in Ubuntu:
  New
Status in glibc package in Ubuntu:
  Triaged
Status in evolver package in Debian:
  New

Bug description:
  The autopkgests for evolver fail when run against glibc 2.39 on amd64
  with a segfault:

  3537s autopkgtest [09:43:29]: test command6: [-----------------------
  3537s Surface Evolver Version 2.70a (Debian 2.70+ds-8build1), August 27, 2013, 64-bit.
  3537s Compiled for float128, 33 digits precision.
  3537s Built with Geomview support.
  3537s 
  3537s Enter command: 
  3537s Enter command: // Typical evolution to sphere
  3537s Enter command: gogo := { g 5; r; g 5; hessian; r; g 5; hessian; }
  3537s Enter command: 
  3537s Enter command: // Evolution to very high accuracy, using higher-order Lagrange elements.
  3537s Enter command: // To be run on original datafile.
  3537s Enter command: gogo2 := { g 5; r; g 5; hessian; r; g 5; hessian;
  3537s more>            lagrange 2; g 5; hessian; 
  3537s more>            lagrange 4; g 5; hessian; 
  3537s more>            lagrange 6; g 5; hessian; 
  3537s more>            ideal_rad := (3*body[1].volume/4/pi)^(1/3);
  3537s more>            printf "Area error: %g\n",total_area - 4*pi*ideal_rad^2;
  3537s more>            printf "Vertex radius spread: %g\n",
  3537s more>              max(vertex,sqrt((x-.5)^2+(y-.5)^2+(z-.5)^2))
  3537s more>                - min(vertex,sqrt((x-.5)^2+(y-.5)^2+(z-.5)^2));
  3537s more> }
  3537s Enter command: g 5; v; r ; g 10; v;
  3537s bash: line 1:  1012 Done                    echo "g 5; v; r ; g 10; v;"
  3537s       1013 Segmentation fault      (core dumped) | evolver-nox-q cube

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/evolver/+bug/2052929/+subscriptions




More information about the foundations-bugs mailing list