[Aptitude-devel] Bug#816431: aptitude: crash (SIGFPE) on limit/filter (pressing L) in tree view
Jason Woofenden
jason at jasonwoof.com
Tue Mar 1 19:57:57 UTC 2016
Package: aptitude
Version: 0.7.7-1
Severity: important
Dear Maintainer,
Aptitude crashes when I press L (lowercase), then type certain
strings into the "Enter the new package tree limit:" prompt.
Below is a table of strings I've tried, followed by whether it
crashed aptitude ("crash") or not ("happy"). Below that I have
pasted a full backtrace of the crash from the string "wine-dev".
wine-dev crash
wine-development crash
wine-foo happy (no packages match, but it doesn't crash)
wine happy
wine- crash
win- happy
wine-development-foo happy (no matches, no crash)
wine-devfoo happy (no matches, no crash)
map happy
moop crash
moo happy
bar happy
baz crash
I can't figure out the pattern of why it crashes for some input and
not others. But I do consistently get crashes on the input labeled
"crash" above, and consistently _don't_ get crashes on those
labeled "happy" above.
Please let me know if there is further testing or information
gathering I can do.
Thanks for all your work on this!
--
Jason
Enter the new package tree limit: wine-dev
Program received signal SIGFPE, Arithmetic exception.
0x800b868e in pkg_tree::build_tree (this=0x80c129d0, progress=warning: RTTI symbol not found for class 'progress::progress_progress'
...) at ../../src/pkg_tree.cc:209
209 ../../src/pkg_tree.cc: No such file or directory.
(gdb) bt full
#0 0x800b868e in pkg_tree::build_tree (this=0x80c129d0, progress=warning: RTTI symbol not found for class 'progress::progress_progress'
...) at ../../src/pkg_tree.cc:209
pkg = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package,
int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = 0xb40af054, Owner = 0x804c66f8}, HashIndex = 1344}
it = {
first = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package, int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = , Owner = }, HashIndex = 1344}, second = {ref = }}
search_info = {ref = 0x80c1b600}
matches = std::vector of length 5, capacity 8 = {{
first = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package, int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = 0xb40af054, Owner = 0x804c66f8}, HashIndex = 1344}, second = {
ref = 0x818d2fe0}}, {
first = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package, int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = 0xb3d6301c, Owner = 0x804c66f8}, HashIndex = 28352}, second = {
ref = 0x80c54528}}, {
first = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package, int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = 0xb40af188, Owner = 0x804c66f8}, HashIndex = 32519}, second = {
ref = 0x818d30a8}}, {
first = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package, int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = 0xb40af15c, Owner = 0x804c66f8}, HashIndex = 35952}, second = {
ref = 0x80c19130}}, {
first = {<pkgCache::Iterator<pkgCache::Package, pkgCache::PkgIterator>> = {<std::iterator<std::forward_iterator_tag, pkgCache::Package, int, pkgCache::Package*, pkgCache::Package&>> = {<No data fields>}, S = 0xb418f514, Owner = 0x804c66f8}, HashIndex = 43676}, second = {
ref = 0x818d2db0}}}
num = 1
total = 5
update_progress_10pct = 0
empty = true
mytree = 0x818d2860
cache_empty = false
grouper = 0x80c12cd8
sorter = {<cwidget::widgets::sortpolicy> = {_vptr.sortpolicy = 0xb40af054}, chain = 0x804c66f8}
rval = <optimized out>
#1 0x800b8f92 in pkg_tree::build_tree (this=0x80c129d0) at ../../src/pkg_tree.cc:272
p = {ref = 0x80c56988}
rval = <optimized out>
#2 0x800b95ce in pkg_tree::set_limit (this=0x80c129d0, _limit=L"wine-dev") at ../../src/pkg_tree.cc:289
old_limit = {ref = 0x0}
old_limitstr = L""
new_limit = {ref = 0x80e0de00}
#3 0x800b9c35 in sigc::bound_mem_functor1<void, pkg_tree, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>::operator() (_A_a1=..., this=0x812a0944) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1856
No locals.
#4 sigc::adaptor_functor<sigc::bound_mem_functor1<void, pkg_tree, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> >::operator()<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&> (
_A_arg1=L"wine-dev", this=0x812a0940) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89
No locals.
#5 sigc::internal::slot_call1<sigc::bound_mem_functor1<void, pkg_tree, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>, void, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >::call_it (
rep=0x812a0928, a_1=...) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:142
typed_rep = 0x812a0928
#6 0xb7d46630 in cwidget::widgets::editline::handle_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#7 0xb7db5b3b in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#8 0xb7d83c38 in cwidget::widgets::passthrough::handle_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#9 0xb7db5b3b in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#10 0xb7d9b404 in cwidget::widgets::table::handle_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#11 0xb7db5b3b in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#12 0xb7d83c38 in cwidget::widgets::passthrough::handle_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#13 0xb7db5b3b in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#14 0xb7d6021c in cwidget::widgets::menubar::handle_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#15 0xb7db5b3b in cwidget::widgets::widget::dispatch_key(cwidget::config::key const&) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#16 0xb7d27b51 in cwidget::toplevel::input_thread::get_input_event::dispatch() () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#17 0xb7d1ebef in cwidget::toplevel::mainloop(int) () from /usr/lib/i386-linux-gnu/libcwidget.so.3
No symbol table info available.
#18 0x80113a6c in ui_main () at ../../src/ui.cc:2965
clearer = {<No data fields>}
#19 0x80030f8e in main (argc=1, argv=0xbffff704) at ../../src/main.cc:1387
p = {ref = 0x0}
rootdir = <optimized out>
status_fname = <optimized out>
package_display_format = "%c%a%M %p# - %d#"
version_display_format = "%c%a%M %p# %t %i"
group_by_mode_string = "auto"
show_package_names_mode_string = "auto"
sort_policy = "name,version"
width = ""
log_file = ""
simulate = <optimized out>
download_only = <optimized out>
arch_only = <optimized out>
update_only = <optimized out>
install_only = <optimized out>
queue_only = <optimized out>
autoclean_only = <optimized out>
clean_only = <optimized out>
assume_yes = <optimized out>
fix_broken = <optimized out>
safe_resolver_no_new_installs = <optimized out>
safe_resolver_no_new_upgrades = <optimized out>
safe_resolver_show_resolver_actions = <optimized out>
resolver_mode = <optimized out>
disable_columns = <optimized out>
showvers = <optimized out>
showdeps = <optimized out>
showsize = <optimized out>
showwhy = <optimized out>
show_why_summary_mode = "no-summary"
visual_preview = <optimized out>
always_prompt = <optimized out>
verbose = <optimized out>
seen_quiet = <optimized out>
quiet = <optimized out>
user_tags = std::vector of length 0, capacity 0
curopt = <optimized out>
group_by_mode = <optimized out>
show_package_names_mode = <optimized out>
why_display_mode = <optimized out>
debug_search = <optimized out>
curr_quiet = <optimized out>
-- Package-specific info:
Terminal: st-256color
$DISPLAY is set.
which aptitude: /usr/bin/aptitude
aptitude version information:
aptitude 0.7.7
Compiler: g++ 5.3.1 20160224
Compiled against:
apt version 5.0.0
NCurses version 6.0
libsigc++ version: 2.6.2
Gtk+ support disabled.
Qt support disabled.
Current library versions:
NCurses version: ncurses 6.0.20160213
cwidget version: 0.5.17
Apt version: 5.0.0
aptitude linkage:
linux-gate.so.1 (0xb77c6000)
libapt-pkg.so.5.0 => /usr/lib/i386-linux-gnu/libapt-pkg.so.5.0 (0xb7248000)
libncursesw.so.5 => /lib/i386-linux-gnu/libncursesw.so.5 (0xb7213000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xb71ee000)
libsigc-2.0.so.0 => /usr/lib/i386-linux-gnu/libsigc-2.0.so.0 (0xb71e7000)
libcwidget.so.3 => /usr/lib/i386-linux-gnu/libcwidget.so.3 (0xb70e4000)
libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb7002000)
libboost_iostreams.so.1.58.0 => /usr/lib/i386-linux-gnu/libboost_iostreams.so.1.58.0 (0xb6fe9000)
libboost_filesystem.so.1.58.0 => /usr/lib/i386-linux-gnu/libboost_filesystem.so.1.58.0 (0xb6fcf000)
libboost_system.so.1.58.0 => /usr/lib/i386-linux-gnu/libboost_system.so.1.58.0 (0xb6fca000)
libxapian.so.22 => /usr/lib/i386-linux-gnu/sse2/libxapian.so.22 (0xb6dc0000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb6da3000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6c33000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb6be5000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6bc8000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb6a10000)
libutil.so.1 => /lib/i386-linux-gnu/i686/cmov/libutil.so.1 (0xb6a0c000)
libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xb6a07000)
libresolv.so.2 => /lib/i386-linux-gnu/i686/cmov/libresolv.so.2 (0xb69ee000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb69d1000)
libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb69be000)
liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xb6995000)
liblz4.so.1 => /usr/lib/i386-linux-gnu/liblz4.so.1 (0xb6982000)
librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xb6978000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb6972000)
/lib/ld-linux.so.2 (0x8002c000)
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 4.4.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages aptitude depends on:
ii aptitude-common 0.7.7-1
ii libapt-pkg5.0 1.2.4
ii libboost-filesystem1.58.0 1.58.0+dfsg-5+b1
ii libboost-iostreams1.58.0 1.58.0+dfsg-5+b1
ii libboost-system1.58.0 1.58.0+dfsg-5+b1
ii libc6 2.21-9
ii libcwidget3v5 0.5.17-4+b1
ii libgcc1 1:5.3.1-10
ii libncursesw5 6.0+20160213-1
ii libsigc++-2.0-0v5 2.6.2-1
ii libsqlite3-0 3.11.0-2
ii libstdc++6 5.3.1-10
ii libtinfo5 6.0+20160213-1
ii libxapian22v5 1.2.22-3
Versions of packages aptitude recommends:
pn aptitude-doc-en | aptitude-doc <none>
pn libparse-debianchangelog-perl <none>
ii sensible-utils 0.0.9
Versions of packages aptitude suggests:
pn apt-xapian-index <none>
pn debtags <none>
ii tasksel 3.34
-- no debconf information
More information about the Aptitude-devel
mailing list