Activity log for bug #2051141

Date Who What changed Old value New value Message
2024-01-24 15:51:50 Marco Trevisan (Treviño) bug added bug
2024-01-24 15:52:02 Marco Trevisan (Treviño) nominated for series Ubuntu Jammy
2024-01-24 15:52:02 Marco Trevisan (Treviño) bug task added libxmlb (Ubuntu Jammy)
2024-01-24 15:52:08 Marco Trevisan (Treviño) libxmlb (Ubuntu Jammy): status New Triaged
2024-01-24 15:52:10 Marco Trevisan (Treviño) libxmlb (Ubuntu): status Triaged Fix Released
2024-01-24 15:52:15 Marco Trevisan (Treviño) libxmlb (Ubuntu Jammy): importance Undecided Medium
2024-01-24 16:28:50 Marco Trevisan (Treviño) attachment added debdiff https://bugs.launchpad.net/ubuntu/+source/libxmlb/+bug/2051141/+attachment/5741964/+files/libxmlb-lzma-fix.patch
2024-01-24 16:40:55 Marco Trevisan (Treviño) attachment added corrupted test metadata https://bugs.launchpad.net/ubuntu/+source/libxmlb/+bug/2051141/+attachment/5741971/+files/fwupd-corrupted-metadata.tar.xz
2024-01-24 16:45:40 Marco Trevisan (Treviño) description After downloading firmware database files fwupd could crash because of this: Starting program: /usr/libexec/fwupd/fwupd --verbose [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 15:47:33.085 FuDebug verbose to info (on console 1) 15:47:33.086 FuEngine starting fwupd 1.9.9… [New Thread 0x7ffff33ff640 (LWP 159733)] 15:47:33.096 FuRemoteList loading remote from /etc/fwupd/remotes.d/dell-esrt.conf 15:47:33.096 FuRemoteList loading remote from /etc/fwupd/remotes.d/fwupd.conf 15:47:33.096 FuRemoteList loading remote from /etc/fwupd/remotes.d/lvfs-testing.conf 15:47:33.097 FuRemoteList loading remote from /etc/fwupd/remotes.d/lvfs.conf 15:47:33.097 FuRemoteList loading remote from /etc/fwupd/remotes.d/vendor-directory.conf 15:47:33.097 FuRemoteList loading remote from /etc/fwupd/remotes.d/vendor.conf 15:47:33.097 FuRemoteList enabled remotes: dell-esrt[1000], fwupd[1000], vendor-directory[1000], lvfs[0] 15:47:33.097 FuEngine client certificate now exists: nothing to do 15:47:33.142 FuQuirks loading quirks from /usr/share/fwupd/quirks.d 15:47:33.142 FuQuirks loading quirks from /var/lib/fwupd/quirks.d 15:47:33.143 FuContext SMBIOS Manufacturer=LENOVO 15:47:33.143 FuContext SMBIOS EnclosureKind=a 15:47:33.143 FuContext SMBIOS Family=ThinkPad P14s Gen 4 15:47:33.143 FuContext SMBIOS ProductName= 15:47:33.143 FuContext SMBIOS ProductSku=LENOVO_MT_21K5_BU_Think_FM_ThinkPad P14s Gen 4 15:47:33.143 FuContext SMBIOS BiosVendor=LENOVO 15:47:33.143 FuContext SMBIOS BiosVersion=R2FET36W (1.16 ) 15:47:33.143 FuContext SMBIOS BiosMajorRelease=01 15:47:33.143 FuContext SMBIOS BiosMinorRelease=10 15:47:33.143 FuContext SMBIOS FirmwareMajorRelease=01 15:47:33.143 FuContext SMBIOS FirmwareMinorRelease=0e 15:47:33.143 FuContext SMBIOS BaseboardManufacturer=LENOVO 15:47:33.143 FuContext SMBIOS BaseboardProduct=21K5CTO1WW 15:47:33.143 FuContext failed to load fdt: cannot find /sys/firmware/fdt or override /var/lib/fwupd/system.dtb 15:47:33.146 FuContext added udev subsystem watch of firmware-attributes 15:47:33.218 FuBiosSettings loaded 91 BIOS settings 15:47:33.218 FuBiosSettings Disabling changing SecureBoot since Allow3rdPartyUEFICA is Disable 15:47:33.218 FuEngine loading metadata for remote 'vendor-directory' 15:47:33.218 FuEngine ignoring: /usr/share/fwupd/remotes.d/vendor/firmware/README.md 15:47:33.218 FuEngine ignoring: Errore nell'aprire la directory «/var/lib/fwupd/local.d»: File o directory non esistente 15:47:33.218 FuEngine ignoring: Errore nell'aprire la directory «/usr/share/fwupd/local.d»: File o directory non esistente ** ERROR:../src/xb-lzma-decompressor.c:130:xb_lzma_decompressor_convert: code should not be reached Bail out! ERROR:../src/xb-lzma-decompressor.c:130:xb_lzma_decompressor_convert: code should not be reached Thread 1 "fwupd" received signal SIGABRT, Aborted. __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737313229568) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: File o directory non esistente. (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737313229568) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=140737313229568) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=140737313229568, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007ffff7442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007ffff74287f3 in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007ffff7743b57 in g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7ffff7eb4990 "xb_lzma_decompressor_convert", message=<optimized out>) at ../../../glib/gtestutils.c:3253 #6 0x00007ffff779d70f in g_assertion_message_expr (domain=0x0, file=0x7ffff7eb412e "../src/xb-lzma-decompressor.c", line=130, func=0x7ffff7eb4990 "xb_lzma_decompressor_convert", expr=<optimized out>) at ../../../glib/gtestutils.c:3279 #7 0x00007ffff7e9d548 in () at /lib/x86_64-linux-gnu/libxmlb.so.2 #8 0x00007ffff78aeec5 in read_internal (stream=<optimized out>, buffer=<optimized out>, count=<optimized out>, blocking=1, cancellable=0x0, error=0x7fffffffdeb8) at ../../../gio/gconverterinputstream.c:492 #9 0x00007ffff78dd1f7 in g_input_stream_read (stream=0x5555555b6960, buffer=0x555555675ed0, count=32768, cancellable=0x0, error=0x7fffffffdeb8) at ../../../gio/ginputstream.c:198 #10 0x00007ffff7ea324c in xb_builder_compile () at /lib/x86_64-linux-gnu/libxmlb.so.2 #11 0x00007ffff7ea4175 in xb_builder_ensure () at /lib/x86_64-linux-gnu/libxmlb.so.2 #12 0x00007ffff7c8a249 in fu_engine_load_metadata_store (self=self@entry=0x5555555b2000, flags=flags@entry=78, error=error@entry=0x7fffffffe248) at ../src/fu-engine.c:4623 #13 0x00007ffff7c916e3 in fu_engine_load (self=<optimized out>, flags=flags@entry=78, progress=<optimized out>, error=error@entry=0x7fffffffe248) at ../src/fu-engine.c:8757 #14 0x0000555555561c92 in fu_daemon_setup (self=self@entry=0x5555555aa010, socket_address=socket_address@entry=0x0, error=error@entry=0x7fffffffe248) at ../src/fu-daemon.c:2306 #15 0x000055555555c078 in main (argc=<optimized out>, argv=<optimized out>) at ../src/fu-main.c:174 (gdb) -- This has been fixed upstream via https://github.com/hughsie/libxmlb/pull/133 so it would be a nice backport for 22.04, since it may prevent system updates. [ Impact ] fwupd can crash on invalid metadata files [ Test case ] - Download the corrupted test metadata from this bug: wget https://bugs.launchpad.net/ubuntu/+source/libxmlb/+bug/2051141/+attachment/5741971/+files/fwupd-corrupted-metadata.tar.xz \ -O /tmp/fwupd-corrupted-metadata.tar.xz - Replace your repo metadata sudo tar xvf /tmp/fwupd-corrupted-metadata.tar.xz -C /var/lib - Start fwupd daemon sudo /usr/libexec/fwupd/fwupd --verbose - The daemon should not crash once libxmlb is updated [ Regression Potential ] - Updates may be not available in fwupdmgr --- After downloading firmware database files fwupd could crash because of this: Starting program: /usr/libexec/fwupd/fwupd --verbose [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 15:47:33.085 FuDebug verbose to info (on console 1) 15:47:33.086 FuEngine starting fwupd 1.9.9… [New Thread 0x7ffff33ff640 (LWP 159733)] 15:47:33.096 FuRemoteList loading remote from /etc/fwupd/remotes.d/dell-esrt.conf 15:47:33.096 FuRemoteList loading remote from /etc/fwupd/remotes.d/fwupd.conf 15:47:33.096 FuRemoteList loading remote from /etc/fwupd/remotes.d/lvfs-testing.conf 15:47:33.097 FuRemoteList loading remote from /etc/fwupd/remotes.d/lvfs.conf 15:47:33.097 FuRemoteList loading remote from /etc/fwupd/remotes.d/vendor-directory.conf 15:47:33.097 FuRemoteList loading remote from /etc/fwupd/remotes.d/vendor.conf 15:47:33.097 FuRemoteList enabled remotes: dell-esrt[1000], fwupd[1000], vendor-directory[1000], lvfs[0] 15:47:33.097 FuEngine client certificate now exists: nothing to do 15:47:33.142 FuQuirks loading quirks from /usr/share/fwupd/quirks.d 15:47:33.142 FuQuirks loading quirks from /var/lib/fwupd/quirks.d 15:47:33.143 FuContext SMBIOS Manufacturer=LENOVO 15:47:33.143 FuContext SMBIOS EnclosureKind=a 15:47:33.143 FuContext SMBIOS Family=ThinkPad P14s Gen 4 15:47:33.143 FuContext SMBIOS ProductName= 15:47:33.143 FuContext SMBIOS ProductSku=LENOVO_MT_21K5_BU_Think_FM_ThinkPad P14s Gen 4 15:47:33.143 FuContext SMBIOS BiosVendor=LENOVO 15:47:33.143 FuContext SMBIOS BiosVersion=R2FET36W (1.16 ) 15:47:33.143 FuContext SMBIOS BiosMajorRelease=01 15:47:33.143 FuContext SMBIOS BiosMinorRelease=10 15:47:33.143 FuContext SMBIOS FirmwareMajorRelease=01 15:47:33.143 FuContext SMBIOS FirmwareMinorRelease=0e 15:47:33.143 FuContext SMBIOS BaseboardManufacturer=LENOVO 15:47:33.143 FuContext SMBIOS BaseboardProduct=21K5CTO1WW 15:47:33.143 FuContext failed to load fdt: cannot find /sys/firmware/fdt or override /var/lib/fwupd/system.dtb 15:47:33.146 FuContext added udev subsystem watch of firmware-attributes 15:47:33.218 FuBiosSettings loaded 91 BIOS settings 15:47:33.218 FuBiosSettings Disabling changing SecureBoot since Allow3rdPartyUEFICA is Disable 15:47:33.218 FuEngine loading metadata for remote 'vendor-directory' 15:47:33.218 FuEngine ignoring: /usr/share/fwupd/remotes.d/vendor/firmware/README.md 15:47:33.218 FuEngine ignoring: Errore nell'aprire la directory «/var/lib/fwupd/local.d»: File o directory non esistente 15:47:33.218 FuEngine ignoring: Errore nell'aprire la directory «/usr/share/fwupd/local.d»: File o directory non esistente ** ERROR:../src/xb-lzma-decompressor.c:130:xb_lzma_decompressor_convert: code should not be reached Bail out! ERROR:../src/xb-lzma-decompressor.c:130:xb_lzma_decompressor_convert: code should not be reached Thread 1 "fwupd" received signal SIGABRT, Aborted. __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737313229568) at ./nptl/pthread_kill.c:44 44 ./nptl/pthread_kill.c: File o directory non esistente. (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737313229568) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=140737313229568) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=140737313229568, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007ffff7442476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007ffff74287f3 in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007ffff7743b57 in g_assertion_message     (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7ffff7eb4990 "xb_lzma_decompressor_convert", message=<optimized out>) at ../../../glib/gtestutils.c:3253 #6 0x00007ffff779d70f in g_assertion_message_expr     (domain=0x0, file=0x7ffff7eb412e "../src/xb-lzma-decompressor.c", line=130, func=0x7ffff7eb4990 "xb_lzma_decompressor_convert", expr=<optimized out>) at ../../../glib/gtestutils.c:3279 #7 0x00007ffff7e9d548 in () at /lib/x86_64-linux-gnu/libxmlb.so.2 #8 0x00007ffff78aeec5 in read_internal     (stream=<optimized out>, buffer=<optimized out>, count=<optimized out>, blocking=1, cancellable=0x0, error=0x7fffffffdeb8) at ../../../gio/gconverterinputstream.c:492 #9 0x00007ffff78dd1f7 in g_input_stream_read     (stream=0x5555555b6960, buffer=0x555555675ed0, count=32768, cancellable=0x0, error=0x7fffffffdeb8)     at ../../../gio/ginputstream.c:198 #10 0x00007ffff7ea324c in xb_builder_compile () at /lib/x86_64-linux-gnu/libxmlb.so.2 #11 0x00007ffff7ea4175 in xb_builder_ensure () at /lib/x86_64-linux-gnu/libxmlb.so.2 #12 0x00007ffff7c8a249 in fu_engine_load_metadata_store     (self=self@entry=0x5555555b2000, flags=flags@entry=78, error=error@entry=0x7fffffffe248)     at ../src/fu-engine.c:4623 #13 0x00007ffff7c916e3 in fu_engine_load     (self=<optimized out>, flags=flags@entry=78, progress=<optimized out>, error=error@entry=0x7fffffffe248)     at ../src/fu-engine.c:8757 #14 0x0000555555561c92 in fu_daemon_setup     (self=self@entry=0x5555555aa010, socket_address=socket_address@entry=0x0, error=error@entry=0x7fffffffe248)     at ../src/fu-daemon.c:2306 #15 0x000055555555c078 in main (argc=<optimized out>, argv=<optimized out>) at ../src/fu-main.c:174 (gdb) -- This has been fixed upstream via https://github.com/hughsie/libxmlb/pull/133 so it would be a nice backport for 22.04, since it may prevent system updates.