Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
The package udev failed to update automatically after selecting an update its
dependent libraries (libudev-dev). The update also selected libudev1, which
was resolved for update successfully.
* What exactly did you do (or not do) that was effective (or
ineffective)?
Unfortunately, I am not sure about the exact sequence of events, and I am not
sure I can reproduce it easily. I managed to reproduce it twice though (out of
dozen attempts), even once in GDB.
After selecting the libudev-dev for update (with '+' shortcut), and seeing a
broken update of 'udev', I pressed 'g' and closed the dialog window with the
"[ Close ]" button. In the next screen, selected the 'udev' and just move the
cursor line down and perhaps up with the arrow keys. At some point aptitude
crashed.
* What was the outcome of this action?
Crash.
* What outcome did you expect instead?
No crash.
I managed to get aptitude running in GDB with inferior ttyredirected to
another terminal (which was made available with TIOCNOTTY).
Attaching the full stack trace and screenshot at the moment of crash.
Short stack trace:
Thread 1 "aptitude" received signal SIGSEGV, Segmentation fault.
infer_reason (pkg=..., reasons=std::set with 0 elements) at ../../../../src/generic/apt/infer_reason.cc:167
warning: 167 ../../../../src/generic/apt/infer_reason.cc: No such file or directory
(gdb) bt
#0 infer_reason (pkg=..., reasons=std::set with 0 elements) at ../../../../src/generic/apt/infer_reason.cc:167
#1 0x00005555556b534e in reason_fragment (pkg=..., breakage=@0x7fffffffce77: false) at ../../src/reason_fragment.cc:447
#2 0x00005555556ae20e in info_area_multiplex::set_package (this=0x55556834ae10, pkg=..., ver=...) at ../../src/pkg_view.cc:454
#3 0x0000555555686801 in sigc::internal::signal_emit2<void, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, sigc::nil>::emit (
impl=0x555562533260, _A_a1=..., _A_a2=...) at /usr/include/sigc++-2.0/sigc++/signal.h:1300
#4 0x0000555555685b8d in sigc::signal2<void, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, sigc::nil>::emit (
this=<optimized out>, _A_a1=..., _A_a2=...) at /usr/include/sigc++-2.0/sigc++/signal.h:3123
#5 sigc::signal2<void, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, sigc::nil>::operator() (this=<optimized out>, _A_a1=...,
_A_a2=...) at /usr/include/sigc++-2.0/sigc++/signal.h:3139
#6 pkg_item::do_highlighted_changed (this=<optimized out>, highlighted=<optimized out>) at ../../src/pkg_item.cc:115
#7 0x000055555563b22d in sigc::internal::signal_emit1<void, bool, sigc::nil>::emit (impl=0x55556839f420, _A_a1=@0x7fffffffd110: true)
at /usr/include/sigc++-2.0/sigc++/signal.h:1045
#8 0x00007ffff7bcad7e in cwidget::widgets::tree::line_down() () from /lib/x86_64-linux-gnu/libcwidget.so.4
#9 0x00007ffff7bd0c28 in cwidget::widgets::tree::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#10 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#11 0x00007ffff7bbafbd in cwidget::widgets::table::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#12 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#13 0x00007ffff7bb355f in cwidget::widgets::passthrough::handle_key(cwidget::config::key const&) ()
from /lib/x86_64-linux-gnu/libcwidget.so.4
#14 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#15 0x00007ffff7bbafbd in cwidget::widgets::table::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#16 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#17 0x00007ffff7bb355f in cwidget::widgets::passthrough::handle_key(cwidget::config::key const&) ()
from /lib/x86_64-linux-gnu/libcwidget.so.4
#18 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#19 0x00007ffff7ba6af0 in cwidget::widgets::menubar::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#20 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#21 0x00007ffff7b897df in cwidget::toplevel::input_thread::get_input_event::dispatch() () from /lib/x86_64-linux-gnu/libcwidget.so.4
#22 0x00007ffff7b83205 in cwidget::toplevel::mainloop() () from /lib/x86_64-linux-gnu/libcwidget.so.4
#23 0x00005555556de395 in ui_main () at ../../src/ui.cc:3147
#24 0x000055555561acc0 in main (argc=1, argv=<optimized out>) at ../../src/main.cc:1427
(gdb) set print pretty
(gdb) bt
#0 infer_reason (pkg=..., reasons=std::set with 0 elements) at ../../../../src/generic/apt/infer_reason.cc:167
#1 0x00005555556b534e in reason_fragment (pkg=..., breakage=@0x7fffffffce77: false) at ../../src/reason_fragment.cc:447
#2 0x00005555556ae20e in info_area_multiplex::set_package (this=0x55556834ae10, pkg=..., ver=...) at ../../src/pkg_view.cc:454
#3 0x0000555555686801 in sigc::internal::signal_emit2<void, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, sigc::nil>::emit (
impl=0x555562533260, _A_a1=..., _A_a2=...) at /usr/include/sigc++-2.0/sigc++/signal.h:1300
#4 0x0000555555685b8d in sigc::signal2<void, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, sigc::nil>::emit (
this=<optimized out>, _A_a1=..., _A_a2=...) at /usr/include/sigc++-2.0/sigc++/signal.h:3123
#5 sigc::signal2<void, pkgCache::PkgIterator const&, pkgCache::VerIterator const&, sigc::nil>::operator() (this=<optimized out>, _A_a1=...,
_A_a2=...) at /usr/include/sigc++-2.0/sigc++/signal.h:3139
#6 pkg_item::do_highlighted_changed (this=<optimized out>, highlighted=<optimized out>) at ../../src/pkg_item.cc:115
#7 0x000055555563b22d in sigc::internal::signal_emit1<void, bool, sigc::nil>::emit (impl=0x55556839f420, _A_a1=@0x7fffffffd110: true)
at /usr/include/sigc++-2.0/sigc++/signal.h:1045
#8 0x00007ffff7bcad7e in cwidget::widgets::tree::line_down() () from /lib/x86_64-linux-gnu/libcwidget.so.4
#9 0x00007ffff7bd0c28 in cwidget::widgets::tree::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#10 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#11 0x00007ffff7bbafbd in cwidget::widgets::table::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#12 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#13 0x00007ffff7bb355f in cwidget::widgets::passthrough::handle_key(cwidget::config::key const&) ()
from /lib/x86_64-linux-gnu/libcwidget.so.4
#14 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#15 0x00007ffff7bbafbd in cwidget::widgets::table::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#16 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#17 0x00007ffff7bb355f in cwidget::widgets::passthrough::handle_key(cwidget::config::key const&) ()
from /lib/x86_64-linux-gnu/libcwidget.so.4
#18 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#19 0x00007ffff7ba6af0 in cwidget::widgets::menubar::handle_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#20 0x00007ffff7bd328d in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /lib/x86_64-linux-gnu/libcwidget.so.4
#21 0x00007ffff7b897df in cwidget::toplevel::input_thread::get_input_event::dispatch() () from /lib/x86_64-linux-gnu/libcwidget.so.4
#22 0x00007ffff7b83205 in cwidget::toplevel::mainloop() () from /lib/x86_64-linux-gnu/libcwidget.so.4
#23 0x00005555556de395 in ui_main () at ../../src/ui.cc:3147
#24 0x000055555561acc0 in main (argc=1, argv=<optimized out>) at ../../src/main.cc:1427
Regards,
Alex