Control: tag -1 moreinfo unreproducible Hi!
On Mon, 2025-12-01 at 23:33:10 +0100, Eduard Bloch wrote: > Package: liblzma5 > Version: 5.8.1-2 > Severity: serious > see below for the stacktrace. This nonsense started a few days ago. The > system is perfectly stable otherwise, so I don't think this is a > hardware issue. > > So I was trying to compile an upstream Linux kernel. Command, which has > been working for years, is: > > $ nice -n20 make bindeb-pkg -j14 KCFLAGS='-march=x86-64-v3 -mtune=znver3' > > And now it keeps segfaulting, like: > > STRIP > debian/linux-image-6.18.0/lib/modules/6.18.0/kernel/virt/lib/irqbypass.ko > DEPMOD debian/linux-image-6.18.0/lib/modules/6.18.0 > dpkg-deb: Paket »linux-image-6.18.0« wird in > »../linux-image-6.18.0_6.18.0-84_amd64.deb« gebaut. > dh_builddeb: error: dpkg-deb --root-owner-group --build > debian/linux-image-6.18.0 .. died with signal 13 > dh_builddeb: error: Aborting due to earlier error > make[3]: *** [debian/rules:66: binary-image] Fehler 2 > > And why? The stacktrace from coredumpctl reveals: > > #0 0x00007f4343d7b058 in bt_skip_func (len_limit=64, pos=8388609, > cur=cur@entry=0x7f4308379010 "\200\005", cur_match=253073, depth=47, > son=0x7f42fefbd010, cyclic_pos=0, cyclic_size=8388609) > at ../../../../src/liblzma/lz/lz_encoder_mf.c:546 > warning: 546 ../../../../src/liblzma/lz/lz_encoder_mf.c: Datei oder > Verzeichnis nicht gefunden > [Current thread is 1 (Thread 0x7f4314e6f6c0 (LWP 3883979))] > (gdb) bt > #0 0x00007f4343d7b058 in bt_skip_func (len_limit=64, pos=8388609, > cur=cur@entry=0x7f4308379010 "\200\005", cur_match=253073, depth=47, > son=0x7f42fefbd010, cyclic_pos=0, cyclic_size=8388609) > at ../../../../src/liblzma/lz/lz_encoder_mf.c:546 > #1 0x00007f4343d7bebe in lzma_mf_bt4_skip (mf=0x7f4304000c88, amount=1) at > ../../../../src/liblzma/lz/lz_encoder_mf.c:740 > #2 0x00007f4343d7cdef in mf_skip (mf=0x7f4304000c88, amount=1) at > ../../../../src/liblzma/lz/lz_encoder.h:294 > #3 encode_init (coder=0x7f433c4f9010, mf=0x7f4304000c88) at > ../../../../src/liblzma/lzma/lzma_encoder.c:282 > #4 lzma_lzma_encode (coder=0x7f433c4f9010, mf=mf@entry=0x7f4304000c88, > out=out@entry=0x7f4304000e06 "", out_pos=out_pos@entry=0x7f4304000df0, > out_size=out_size@entry=65536, limit=2096879) > at ../../../../src/liblzma/lzma/lzma_encoder.c:318 > #5 0x00007f4343d845cd in lzma2_encode (coder_ptr=0x7f4304000d60, > mf=0x7f4304000c88, out=0x7f430a7fe050 "", out_pos=0x7f4314e6ee88, > out_size=25167072) at ../../../../src/liblzma/lzma/lzma2_encoder.c:188 > #6 0x00007f4343d7a5c3 in lz_encode (coder_ptr=0x7f4304000c60, allocator=0x0, > in=0x7f4308ffd010 "\200\005", in_pos=0x7f4314e6ee90, in_size=16384, > out=0x7f430a7fe050 "", out_pos=0x7f4314e6ee88, out_size=25167072, > action=LZMA_RUN) > at ../../../../src/liblzma/lz/lz_encoder.c:176 > #7 0x00007f4343d6e27c in block_encode (coder_ptr=0x7f4304000b70, > allocator=<optimized out>, in=0x7f4308ffd010 "\200\005", > in_pos=0x7f4314e6ee90, in_size=<optimized out>, out=0x7f430a7fe050 "", > out_pos=0x7f4314e6ee88, out_size=25167072, > action=LZMA_RUN) at ../../../../src/liblzma/common/block_encoder.c:63 > #8 0x00007f4343d71907 in worker_encode (thr=0x55af3efeb580, > out_pos=0x7f4314e6ee88, state=<optimized out>) at > ../../../../src/liblzma/common/stream_encoder_mt.c:294 > #9 worker_start (thr_ptr=0x55af3efeb580) at > ../../../../src/liblzma/common/stream_encoder_mt.c:393 > #10 0x00007f4343b12b7b in start_thread (arg=<optimized out>) at > ./nptl/pthread_create.c:448 > #11 0x00007f4343b907b8 in __GI___clone3 () at > ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 > > But why? > > Okay, then I wanted to install one of my existing kernel-image DEBs. And then > initramfs build also started crashing. > > But why? The common factor here was, again, liblzma5! > > So I have changed the compression type of initramfs to zstd and now it > works... somehow. Still not explaining what is happening with liblzma5 here. I cannot reproduce this problem within liblzma5 (which would seem independent from dpkg, that has seen no upload since the release of Debian stable). On Tue, 2025-12-02 at 21:28:43 +0100, Eduard Bloch wrote: > I checked the symptoms again. I can call the command shown in the > stacktrace with the same arguments and it does not crash. With or > without fakeroot. > > Then I tried injecting the same env. vars (extracted from the coredump) > into the shell prior to calling. Still no crash. > > Then I tried the run in gdb directly. Result: > > (gdb) run --root-owner-group --build debian/linux-image-6.18.0 .. > Starting program: /usr/bin/dpkg-deb --root-owner-group --build > debian/linux-image-6.18.0 .. > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > dpkg-deb: Paket »linux-image-6.18.0« wird in > »../linux-image-6.18.0_6.18.0-85_amd64.deb« gebaut. > [Detaching after fork from child process 1135101] > [Detaching after fork from child process 1135102] > [Detaching after fork from child process 1135104] > [Detaching after fork from child process 1135105] > > Program received signal SIGPIPE, Broken pipe. > Download failed: Das Argument ist ungültig. Continuing without source file > ./nptl/./nptl/cancellation.c. > __internal_syscall_cancel (a1=a1@entry=6, a2=a2@entry=93824993085744, > a3=a3@entry=77, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=1) at > ./nptl/cancellation.c:44 > warning: 44 ./nptl/cancellation.c: Datei oder Verzeichnis nicht gefunden > (gdb) bt > #0 __internal_syscall_cancel (a1=a1@entry=6, a2=a2@entry=93824993085744, > a3=a3@entry=77, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=1) at > ./nptl/cancellation.c:44 > #1 0x00007ffff7cde6ad in __syscall_cancel (a1=a1@entry=6, > a2=a2@entry=93824993085744, a3=a3@entry=77, a4=a4@entry=0, a5=a5@entry=0, > a6=a6@entry=0, nr=1) at ./nptl/cancellation.c:75 > #2 0x00007ffff7d53936 in __GI___libc_write (fd=fd@entry=6, > buf=buf@entry=0x555555624930, nbytes=nbytes@entry=77) at > ../sysdeps/unix/sysv/linux/write.c:26 > #3 0x0000555555563389 in fd_write (fd=fd@entry=6, > buf=buf@entry=0x555555624930, len=77) at ../../../lib/dpkg/fdio.c:72 > #4 0x000055555555a0a7 in file_treewalk_feed (dir=<optimized out>, fd_out=6) > at ../../src/deb/build.c:180 > #5 0x0000555555559e87 in tarball_pack (dir=dir@entry=0x7fffffffe093 > "debian/linux-image-6.18.0", > tar_filenames_feeder=tar_filenames_feeder@entry=0x55555555a040 > <file_treewalk_feed>, options=options@entry=0x7fffffffd650, > tar_compress_params=0x555555580010 <compress_params>, > fd_out=fd_out@entry=4) at ../../src/deb/build.c:555 > #6 0x000055555555a5c0 in do_build (argv=<optimized out>) at > ../../src/deb/build.c:730 > #7 0x0000555555559adc in main (argc=<optimized out>, argv=<optimized out>) > at ../../src/deb/main.c:321 And this looks like something else completely. Which I cannot reproduce either. > NOTE: > > I am also unable to use dpkg-source (as called from dpkg-build). Getting > a similar (same?) failure as with dpkg-deb in the debugger, i.e. not > SIGSEGV but SIGPIPE. If dpkg-source is also failing with SIGPIPE, then I'd say there's something going on in your environment. As it is I cannot reproduce neither of these issues, so there's not much that I can do here. (Also are you sure your system is good, f.ex. «dpkg -V»?) Thanks, Guillem

