Bug#1119850: netpbm-free: FTBFS on arm* (testsuite error) with gcc-15
Andreas Metzler
ametzler at bebt.de
Sat Nov 1 12:26:49 GMT 2025
Source: netpbm-free
Version: 2:11.11.01-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: debian-arm at lists.debian.org
User: debian-arm at lists.debian.org
Usertags: arm64 armel armhf
netpbm-free (both the version in forky and the current version in sid)
FTBFS with segfaults when running the testsuite. There is only a single
segfault on arm64 (stdin-pam1.test, when running pamtilt)) and multiple
ones on armel armhf.
I have tried debugging on amdahl.debian.org:
This started with the upgrade to gcc-15, building with gcc-14 still
works.
Building with -O0 or -O1 (instead of -O2) makes the problem go away.
The exact failing command on arm64 is
analyzer/pamtilt /path/to/small.pbm
(small.pbm is generated with
./generator/pbmmake -g 5 5 > /path/to/small.pbm
attached for simplicity)
gdb backtrace:
8X=============================================
GNU gdb (Debian 16.3-5) 16.3
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./analyzer/pamtilt...
[?2004h(gdb) set pagination off
[?2004l
[?2004h(gdb) run [7m/home/ametzler/NETPBM/small.pbm[27m
[C[C[C[C[C[C[C[C[C[C/home/ametzler/NETPBM/small.pbm
[?2004l
Starting program: /home/ametzler/NETPBM/64/netpbm-free-11.11.01/analyzer/pamtilt /home/ametzler/NETPBM/small.pbm
This GDB supports auto-downloading debuginfo from the following URLs:
<https://debuginfod.debian.net>
[?2004hEnable debuginfod for this session? (y or [n]) y
[?2004l
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Downloading 456.12 K separate debug info for /lib/ld-linux-aarch64.so.1...
Downloading 37.90 K separate debug info for system-supplied DSO at 0xfffff7ffa000...
Downloading 1.15 M separate debug info for /lib/aarch64-linux-gnu/libm.so.6...
Downloading 5.22 M separate debug info for /lib/aarch64-linux-gnu/libc.so.6...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
pm_optParseOptions4 (argcP=argcP at entry=0xffffffffefac,
argv=argv at entry=0xfffffffff328, opt=...,
optStructSize=optStructSize at entry=16, flags=flags at entry=0)
at ./lib/util/shhopt.c:936
936 zeroSpecified(opt.opt_table);
[?2004h[?2004l
[?2004h(gdb) [7mbacktrace full[27m
[C[C[C[C[C[Cbacktrace full
[?2004l
#0 pm_optParseOptions4 (argcP=argcP at entry=0xffffffffefac,
argv=argv at entry=0xfffffffff328, opt=...,
optStructSize=optStructSize at entry=16, flags=flags at entry=0)
at ./lib/util/shhopt.c:936
ai = <optimized out>
tokensConsumed = 4160744704
noMoreOptions = <optimized out>
#1 0x0000aaaaaaaa0f38 in parseCommandLine (argc=<optimized out>,
argv=0xfffffffff328, cmdlineP=0xffffffffefb0) at ./analyzer/pamtilt.c:79
option_def_index = 8
option_def = {{shortName = 0 '\000', longName = 0xaaaaaaaa1958 "fast",
type = OPT_FLAG, arg = 0x0, specified = 0xffffffffefd0,
flags = 0}, {shortName = 0 '\000',
longName = 0xaaaaaaaa1960 "verbose", type = OPT_FLAG, arg = 0x0,
specified = 0xffffffffefd4, flags = 0}, {shortName = 0 '\000',
longName = 0xaaaaaaaa1968 "angle", type = OPT_FLOAT,
arg = 0xffffffffefb8, specified = 0x0, flags = 0}, {
shortName = 0 '\000', longName = 0xaaaaaaaa1970 "quality",
type = OPT_FLOAT, arg = 0xffffffffefc0, specified = 0x0,
flags = 0}, {shortName = 0 '\000',
longName = 0xaaaaaaaa1978 "astep", type = OPT_FLOAT,
arg = 0xffffffffefbc, specified = 0x0, flags = 0}, {
shortName = 0 '\000', longName = 0xaaaaaaaa1980 "hstep",
type = OPT_UINT, arg = 0xffffffffefc4, specified = 0x0,
flags = 0}, {shortName = 0 '\000',
longName = 0xaaaaaaaa1988 "vstep", type = OPT_UINT,
arg = 0xffffffffefc8, specified = 0x0, flags = 0}, {
shortName = 0 '\000', longName = 0xaaaaaaaa1990 "dstep",
type = OPT_UINT, arg = 0xffffffffefcc, specified = 0x0,
flags = 0}, {shortName = 0 '\000', longName = 0x0, type = OPT_END,
arg = 0x0, specified = 0x0, flags = 0} <repeats 42 times>}
opt = {short_allowed = 0 '\000', allowNegNum = 0 '\000',
opt_table = 0xaaaaaaac0020 <option_def>}
#2 main (argc=<optimized out>, argv=0xfffffffff328)
at ./analyzer/pamtilt.c:536
cmdline = {inputFilename = 0xfffff7ffa170 "Z", maxangle = 10,
astep = 1, qmin = 1, hstep = 11, vstep = 5, dstep = 2, fast = 0,
verbose = 0}
pam = {size = 0, len = 0, file = 0xfffffffff1b0, format = -134402472,
plainformat = 65535, height = -134230016, width = 65535,
depth = 4160737280, maxval = 281474842483504,
bytes_per_sample = 4160479232,
tuple_type = "\377\377", '\000' <repeats 26 times>, "@\000\252\252\252\252\000\0008\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\340\373\367\377\377\000\000\000\000\000\000\000\000\000\000\200\023\252\252\252\252", '\000' <repeats 26 times>, "\v\n\000\000\000\000\000\000\v\n\000\000\000\000\000\000\210\365\377\377\377\377\000\000\377\237\021\000\000\000\000\000d", '\000' <repeats 63 times>...,
allocation_depth = 65535, comment_p = 0x0, visual = -134242304,
color_depth = 65535, have_opacity = 0, opacity_plane = 0,
is_seekable = 0, raster_pos = 0}
pixels = <optimized out>
hsampleCt = <optimized out>
hstep = <optimized out>
vstep = <optimized out>
angle = <optimized out>
[?2004h(gdb) [7minfo registers[27m
[C[C[C[C[C[Cinfo registers
[?2004l
x0 0xfffff7ffdb28 281474842483496
x1 0x0 0
x2 0x0 0
x3 0x0 0
x4 0x10 16
x5 0x0 0
x6 0xfffff7e2a340 281474840568640
x7 0xfffffffff5d9 281474976708057
x8 0x101010101010101 72340172838076673
x9 0x30 48
x10 0xfffffffffffca91d -218851
x11 0x0 0
x12 0xfffff7fff370 281474842489712
x13 0xffffffffee80 281474976706176
x14 0x0 0
x15 0xf7803b 16220219
x16 0xaaaaaaabff40 187649984560960
x17 0xfffff7f7d4c0 281474841957568
x18 0xfff 4095
x19 0xfffffffff328 281474976707368
x20 0x2 2
x21 0xaaaaaaabfcc8 187649984560328
x22 0x0 0
x23 0xfffffffff340 281474976707392
x24 0xfffff7ffdb30 281474842483504
x25 0xffffffffefac 281474976706476
x26 0xfffff7ffe000 281474842484736
x27 0xfffffffff328 281474976707368
x28 0x0 0
x29 0xffffffffef20 281474976706336
x30 0xaaaaaaaa0f38 187649984433976
sp 0xffffffffeed0 0xffffffffeed0
pc 0xfffff7f7d50c 0xfffff7f7d50c <pm_optParseOptions4+76>
cpsr 0x60001000 [ EL=0 BTYPE=0 SSBS C Z ]
fpsr 0x0 [ ]
fpcr 0x0 [ Len=0 Stride=0 RMode=0 ]
tpidr 0xfffff7fee740 0xfffff7fee740
tpidr2 0x0 0x0
[?2004h(gdb) [7mx/16i $pc[27m
[C[C[C[C[C[Cx/16i $pc
[?2004l
=> 0xfffff7f7d50c <pm_optParseOptions4+76>: ldr w0, [x3, #16]
0xfffff7f7d510 <pm_optParseOptions4+80>:
mov w3, #0x30 // #48
0xfffff7f7d514 <pm_optParseOptions4+84>:
cbz w0, 0xfffff7f7d53c <pm_optParseOptions4+124>
0xfffff7f7d518 <pm_optParseOptions4+88>: nop
0xfffff7f7d51c <pm_optParseOptions4+92>: nop
0xfffff7f7d520 <pm_optParseOptions4+96>: ldr x2, [x2, #32]
0xfffff7f7d524 <pm_optParseOptions4+100>:
cbz x2, 0xfffff7f7d52c <pm_optParseOptions4+108>
0xfffff7f7d528 <pm_optParseOptions4+104>: str wzr, [x2]
0xfffff7f7d52c <pm_optParseOptions4+108>: add w1, w1, #0x1
0xfffff7f7d530 <pm_optParseOptions4+112>: umaddl x2, w1, w3, x22
0xfffff7f7d534 <pm_optParseOptions4+116>: ldr w0, [x2, #16]
0xfffff7f7d538 <pm_optParseOptions4+120>:
cbnz w0, 0xfffff7f7d520 <pm_optParseOptions4+96>
0xfffff7f7d53c <pm_optParseOptions4+124>: ldr w26, [x25]
0xfffff7f7d540 <pm_optParseOptions4+128>:
mov w20, #0x0 // #0
0xfffff7f7d544 <pm_optParseOptions4+132>:
mov x24, #0x0 // #0
0xfffff7f7d548 <pm_optParseOptions4+136>:
cbz w26, 0xfffff7f7d5a4 <pm_optParseOptions4+228>
[?2004h(gdb) [7mthread apply all backtrace[27m
[C[C[C[C[C[Cthread apply all backtrace
[?2004l
Thread 1 (Thread 0xfffff7fee020 (LWP 1974608) "pamtilt"):
#0 pm_optParseOptions4 (argcP=argcP at entry=0xffffffffefac, argv=argv at entry=0xfffffffff328, opt=..., optStructSize=optStructSize at entry=16, flags=flags at entry=0) at ./lib/util/shhopt.c:936
#1 0x0000aaaaaaaa0f38 in parseCommandLine (argc=<optimized out>, argv=0xfffffffff328, cmdlineP=0xffffffffefb0) at ./analyzer/pamtilt.c:79
#2 main (argc=<optimized out>, argv=0xfffffffff328) at ./analyzer/pamtilt.c:536
[?2004h(gdb) [7mquit[27mquit
[?2004l
[?2004hA debugging session is active.
Inferior 1 [process 1974608] will be killed.
Quit anyway? (y or n) y
[?2004l
8X=============================================
cu Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: small.pbm
Type: image/x-portable-bitmap
Size: 12 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-phototools-devel/attachments/20251101/0cd833c5/attachment.pbm>
More information about the Pkg-phototools-devel
mailing list