Your message dated Mon, 31 Mar 2025 16:09:40 +0200 with message-id <CA+6XHwQuunGEt-tRs6Tdh_3UaCCsSAk_Z+CXURSyEQofmVNDig@mail.gmail.com> and subject line Re: Bug#1030332: libcamera0.0.3:amd64: crashes wireplumber/pipewire sometimes when camera appears has caused the Debian Bug report #1030332, regarding libcamera0.0.3:amd64: crashes wireplumber/pipewire sometimes when camera appears to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 1030332: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030332 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---Title: -
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: libcamera0.0.3:amd64: crashes wireplumber/pipewire sometimes when camera appears
- From: Tomas Janousek <tomi@nomi.cz>
- Date: Fri, 3 Feb 2023 00:14:51 +0000
- Message-id: <Y9xR+9QokZfEZVQe@notes.lisk.in>
Package: libcamera0.0.3
Version: 0.0.3-4
Severity: normalWhen a USB camera appears (usbguard allow-device …, or just
echo 1 >/sys/…/authorized), the pipewire and/or wireplumber processes sometimes segfault in libcamera. Not always, but doing usbguard block-device followed by usbguard allow-device a couple times makes them crash eventually. I can reproduce this with the integrated camera on two different ThinkPads made a couple years apart, the T25 and P14s Gen2i.Backtraces from coredumpctl debug follow:
Core was generated by `/usr/bin/wireplumber'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::_S_left (__x=<optimized out>) at /usr/include/c++/12/bits/stl_function.h:407
407 operator()(const _Tp& __x, const _Tp& __y) const
[Current thread is 1 (Thread 0x7fd067eb16c0 (LWP 1508236))]
(gdb) bt
#0 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::_S_left(std::_Rb_tree_node_base*) (__x=<optimized out>)
at /usr/include/c++/12/bits/stl_function.h:407
#1 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >*, std::_Rb_tree_node_base*, unsigned long const&) (__k=@0x7fd067eaff08: 20736, __y=0x7fd05c002e20, __x=0x21, this=0x7fd05c002e18) at /usr/include/c++/12/bits/stl_tree.h:1952
#2 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::lower_bound(unsigned long const&) (__k=@0x7fd067eaff08: 20736, this=0x7fd05c002e18)
at /usr/include/c++/12/bits/stl_tree.h:1270
#3 std::map<unsigned long, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::lower_bound(unsigned long const&) (__x=@0x7fd067eaff08: 20736, this=0x7fd05c002e18) at /usr/include/c++/12/bits/stl_map.h:1307
#4 std::map<unsigned long, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::operator (__k=@0x7fd067eaff08: 20736, this=0x7fd05c002e18) at /usr/include/c++/12/bits/stl_map.h:507
#5 libcamera::DeviceEnumeratorUdev::addV4L2Device(unsigned long) (this=0x7fd05c000e10, devnum=<optimized out>) at ../src/libcamera/device_enumerator_udev.cpp:306
#6 0x00007fd075efe10f in libcamera::DeviceEnumeratorUdev::addUdevDevice(udev_device) (this=0x7fd05c000e10, dev=0x7fd05c0037d0) at ../src/libcamera/device_enumerator_udev.cpp:113
#7 0x00007fd075efed03 in libcamera::DeviceEnumeratorUdev::udevNotify() (this=0x7fd05c000e10) at ../src/libcamera/device_enumerator_udev.cpp:340
#8 0x00007fd075d7092c in libcamera::Signal<>::emit() (this=<optimized out>) at ../include/libcamera/base/signal.h:153
#9 libcamera::EventDispatcherPoll::processNotifiers(std::vector<pollfd, std::allocator<pollfd> > const&) (this=0x7fd05c0012e0, pollfds=<optimized out>) at ../src/libcamera/base/event_dispatcher_poll.cpp:281
#10 0x00007fd075d70dc2 in libcamera::EventDispatcherPoll::processEvents() (this=0x7fd05c0012e0) at ../src/libcamera/base/event_dispatcher_poll.cpp:169
#11 0x00007fd075d79809 in libcamera::Thread::exec() (this=this@entry=0x56119d05f840) at ../src/libcamera/base/thread.cpp:341
#12 0x00007fd075e52507 in libcamera::CameraManager::Private::run() (this=0x56119d05f830) at ../src/libcamera/camera_manager.cpp:122
#13 0x00007fd075ad44a3 in std::execute_native_thread_routine(void) (__p=0x56119cfa2aa0) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:82
#14 0x00007fd079377fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#15 0x00007fd0793f78d0 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100Core was generated by `/usr/bin/pipewire'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::_S_left (__x=<optimized out>) at /usr/include/c++/12/bits/stl_function.h:407
407 operator()(const _Tp& __x, const _Tp& __y) const
[Current thread is 1 (Thread 0x7fe1d62986c0 (LWP 1507832))]
(gdb) bt
#0 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::_S_left (__x=<optimized out>) at /usr/include/c++/12/bits/stl_function.h:407
#1 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::_M_lower_bound (__k=@0x7fe1d6297008: 20738, __y=0x7fe1cc010f30, __x=0x100000001,
this=0x7fe1cc010f28) at /usr/include/c++/12/bits/stl_tree.h:1952
#2 std::_Rb_tree<unsigned long, std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > >, std::_Select1st<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::lower_bound (__k=@0x7fe1d6297008: 20738, this=0x7fe1cc010f28)
at /usr/include/c++/12/bits/stl_tree.h:1270
#3 std::map<unsigned long, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::lower_bound (__x=@0x7fe1d6297008: 20738, this=0x7fe1cc010f28) at /usr/include/c++/12/bits/stl_map.h:1307
#4 std::map<unsigned long, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::__cxx11::list<libcamera::MediaEntity, std::allocator<libcamera::MediaEntity> > > > >::operator[] (__k=@0x7fe1d6297008: 20738, this=0x7fe1cc010f28) at /usr/include/c++/12/bits/stl_map.h:507
#5 libcamera::DeviceEnumeratorUdev::addV4L2Device (this=0x7fe1cc012130, devnum=<optimized out>) at ../src/libcamera/device_enumerator_udev.cpp:306
#6 0x00007fe1d9fa810f in libcamera::DeviceEnumeratorUdev::addUdevDevice (this=0x7fe1cc012130, dev=0x7fe1cc012790) at ../src/libcamera/device_enumerator_udev.cpp:113
#7 0x00007fe1d9fa8d03 in libcamera::DeviceEnumeratorUdev::udevNotify (this=0x7fe1cc012130) at ../src/libcamera/device_enumerator_udev.cpp:340
#8 0x00007fe1da86c92c in libcamera::Signal<>::emit() (this=<optimized out>) at ../include/libcamera/base/signal.h:153
#9 libcamera::EventDispatcherPoll::processNotifiers (this=0x7fe1cc0056b0, pollfds=...) at ../src/libcamera/base/event_dispatcher_poll.cpp:281
#10 0x00007fe1da86cdc2 in libcamera::EventDispatcherPoll::processEvents (this=0x7fe1cc0056b0) at ../src/libcamera/base/event_dispatcher_poll.cpp:169
#11 0x00007fe1da875809 in libcamera::Thread::exec (this=this@entry=0x55a12b795f10) at ../src/libcamera/base/thread.cpp:341
#12 0x00007fe1d9efc507 in libcamera::CameraManager::Private::run (this=0x55a12b795f00) at ../src/libcamera/camera_manager.cpp:122
#13 0x00007fe1d9ad44a3 in std::execute_native_thread_routine (__p=0x55a12b748730) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:82
#14 0x00007fe1dcd6bfd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#15 0x00007fe1dcdeb8d0 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100-- System Information:
Debian Release: bookworm/sid
APT prefers stable-security
APT policy: (990, 'stable-security'), (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-debug'), (500, 'unstable'), (500, 'stable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386Kernel: Linux 5.18.0-4-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_CPU_OUT_OF_SPEC, TAINT_USER, TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabledVersions of packages libcamera0.0.3:amd64 depends on:
ii libc6 2.36-8
ii libdw1 0.188-2.1
ii libgcc-s1 12.2.0-14
ii libgnutls30 3.7.8-4
ii liblttng-ust1 2.13.5-1
ii libstdc++6 12.2.0-14
ii libudev1 252.4-2
ii libunwind8 1.6.2-3
ii libyaml-0-2 0.2.5-1libcamera0.0.3:amd64 recommends no packages.
Versions of packages libcamera0.0.3:amd64 suggests:
pn libcamera-ipa <none>-- no debconf information
--Tomáš "liskin" ("Pivník") Janoušek, https://lisk.in/
--- End Message ---
--- Begin Message ---
- To: 1030332-done@bugs.debian.org
- Subject: Re: Bug#1030332: libcamera0.0.3:amd64: crashes wireplumber/pipewire sometimes when camera appears
- From: Dylan Aïssi <bob.dybian@gmail.com>
- Date: Mon, 31 Mar 2025 16:09:40 +0200
- Message-id: <CA+6XHwQuunGEt-tRs6Tdh_3UaCCsSAk_Z+CXURSyEQofmVNDig@mail.gmail.com>
- In-reply-to: <[🔎] CA+6XHwQHaZY1kP5UVcT=M9nSzY0EcqGuVwXH8ATSHq4rNvwbvw@mail.gmail.com>
- References: <Y9xR+9QokZfEZVQe@notes.lisk.in> <[🔎] CA+6XHwQHaZY1kP5UVcT=M9nSzY0EcqGuVwXH8ATSHq4rNvwbvw@mail.gmail.com>
Version: 0.0.5-1 Le mer. 12 mars 2025 à 17:24, Dylan Aïssi <bob.dybian@gmail.com> a écrit : > > Based on the upstream comment [1], this bug should be fixed since > libcamera 0.0.5. So, the versions in bookworm-backports or trixie/sid should > be fixed. > > [1] https://bugs.libcamera.org/show_bug.cgi?id=182#c2 So, let's close it and please re-open if this issue persists. Best regards, Dylan
--- End Message ---