Package: aptitude
Version: 0.6.1.5-3
Severity: important

If you pass an invalid distribution to aptitude changelog,
it fails with an segmentation fault. For example:

        aptitude changelog aptitude/x

I attached a backtrace.

-- Package-specific info:
aptitude 0.6.1.5 compiled at Mar 12 2010 18:48:34
Compiler: g++ 4.4.3
Compiled against:
  apt version 4.8.0
  NCurses version 5.7
  libsigc++ version: 2.2.4.2
  Ept support enabled.
  Gtk+ support disabled.

Current library versions:
  NCurses version: ncurses 5.7.20100313
  cwidget version: 0.5.16
  Apt version: 4.8.0
        linux-vdso.so.1 =>  (0x00007fff4482c000)
        libapt-pkg-libc6.9-6.so.4.8 => /usr/lib/libapt-pkg-libc6.9-6.so.4.8 
(0x00007f2fdaf52000)
        libncursesw.so.5 => /lib/libncursesw.so.5 (0x00007f2fdacff000)
        liblog4cxx.so.10 => /usr/lib/liblog4cxx.so.10 (0x00007f2fda911000)
        libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0x00007f2fda70c000)
        libcwidget.so.3 => /usr/lib/libcwidget.so.3 (0x00007f2fda440000)
        libept.so.0 => /usr/lib/libept.so.0 (0x00007f2fda1c8000)
        libxapian.so.15 => /usr/lib/libxapian.so.15 (0x00007f2fd9e77000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f2fd9c60000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007f2fd99cf000)
        libboost_iostreams.so.1.40.0 => /usr/lib/libboost_iostreams.so.1.40.0 
(0x00007f2fd97c4000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007f2fd95a8000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f2fd9293000)
        libm.so.6 => /lib/libm.so.6 (0x00007f2fd9011000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f2fd8dfb000)
        libc.so.6 => /lib/libc.so.6 (0x00007f2fd8aa6000)
        libutil.so.1 => /lib/libutil.so.1 (0x00007f2fd88a3000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007f2fd869f000)
        libaprutil-1.so.0 => /usr/lib/libaprutil-1.so.0 (0x00007f2fd847b000)
        libdb-4.8.so => /usr/lib/libdb-4.8.so (0x00007f2fd8101000)
        libapr-1.so.0 => /usr/lib/libapr-1.so.0 (0x00007f2fd7ec9000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007f2fd7cb8000)
        librt.so.1 => /lib/librt.so.1 (0x00007f2fd7ab0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f2fdb235000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x00007f2fd78ab000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f2fd7674000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f2fd744c000)
Terminal: xterm
$DISPLAY is set.
`which aptitude`: /usr/bin/aptitude
aptitude version information:

aptitude linkage:

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (350, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.33-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages aptitude depends on:
ii  apt [libapt-pkg-libc6.9 0.7.25.3         Advanced front-end for dpkg
ii  libboost-iostreams1.40. 1.40.0-6+b1      Boost.Iostreams Library
ii  libc6                   2.10.2-6         Embedded GNU C Library: Shared lib
ii  libcwidget3             0.5.16-3         high-level terminal interface libr
ii  libept0                 0.5.30           High-level library for managing De
ii  libgcc1                 1:4.4.3-7        GCC support library
ii  liblog4cxx10            0.10.0-1.1       A logging library for C++
ii  libncursesw5            5.7+20100313-2   shared libraries for terminal hand
ii  libsigc++-2.0-0c2a      2.2.4.2-1        type-safe Signal Framework for C++
ii  libsqlite3-0            3.6.23.1-1       SQLite 3 shared library
ii  libstdc++6              4.4.3-7          The GNU Standard C++ Library v3
ii  libxapian15             1.0.18-1         Search engine library
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages aptitude recommends:
pn  apt-xapian-index              <none>     (no description available)
pn  aptitude-doc-en | aptitude-do <none>     (no description available)
ii  libparse-debianchangelog-perl 1.1.1-2    parse Debian changelogs and output
ii  sensible-utils                0.0.4      Utilities for sensible alternative

Versions of packages aptitude suggests:
pn  debtags                       <none>     (no description available)
ii  tasksel                       2.81       Tool for selecting tasks for insta

-- debconf-show failed

-- 
Julian Andres Klode  - Debian Developer, Ubuntu Member

See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff401b910 (LWP 13020)]
[New Thread 0x7ffff15d3910 (LWP 13021)]
[New Thread 0x7ffff0dd2910 (LWP 13022)]
[Thread 0x7ffff0dd2910 (LWP 13022) exited]

Program received signal SIGSEGV, Segmentation fault.
#0  do_cmdline_changelog (packages=<value optimized out>) at 
cmdline_changelog.cc:327
        ver = {Ver = 0x7ffff2211000, Owner = 0x96a620}
        p = warning: can't find linker symbol for virtual table for 
`aptitude::cmdline::source_package' value
warning:   found `std::string::_Rep::_S_empty_rep_storage' instead
{package = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}, version = {static npos = 
18446744073709551615, _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p 
= 0x931c98 ""}}, maintainer = {static npos = 18446744073709551615, _M_dataplus 
= {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}, section = {static npos = 
18446744073709551615, _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p 
= 0x931c98 ""}}, binaries = {<std::_Vector_base<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > > >> = {_M_impl = 
{<std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No 
data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No 
data fields>}, build_deps = 
{<std::_Vector_base<pkgSrcRecords::Parser::BuildDepRec, 
std::allocator<pkgSrcRecords::Parser::BuildDepRec> >> = {_M_impl = 
{<std::allocator<pkgSrcRecords::Parser::BuildDepRec>> = 
{<__gnu_cxx::new_allocator<pkgSrcRecords::Parser::BuildDepRec>> = {<No data 
fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage 
= 0x0}}, <No data fields>}}
        input = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x7fffec02d3d8 "aptitude/x"}}
        source = cmdline_version_archive
        package = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x7fffec0293d8 "aptitude"}}
        sourcestr = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x7fffec0293a8 "x"}}
        pkg = {Pkg = 0x7ffff2268960, Owner = 0x96a620, HashIndex = 0}
        filename = {real_name = 0x0}
        pager = 0x682197 "/usr/bin/sensible-pager"
        default_release = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}
#1  0x00000000004e615a in cmdline_changelog (argc=2, argv=0x7fffffffe688) at 
cmdline_changelog.cc:403
        progress = {_vptr.OpProgress = 0x65bf70, Current = 40522, Total = 
40522, Size = 1, SubTotal = 38718, LastPercent = 0, LastTime = {tv_sec = 0, 
tv_usec = 0}, LastOp = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}, LastSubOp = {static npos = 
18446744073709551615, _M_dataplus = {<std::allocator<char>> = 
{<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p 
= 0x931c98 ""}}, Op = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0xaad078 "Reading task descriptions"}}, 
SubOp = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}, Percent = 100, MajorChange = 
255}
        packages = {<std::_Vector_base<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > > >> = {_M_impl = 
{<std::allocator<std::basic_string<char, std::char_traits<char>, 
std::allocator<char> > >> = {<__gnu_cxx::new_allocator<std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >> = {<No data fields>}, <No 
data fields>}, _M_start = 0x7fffec0195e0, _M_finish = 0x7fffec0195e8, 
_M_end_of_storage = 0x7fffec0195e8}}, <No data fields>}
#2  0x0000000000426fca in main (argc=3, argv=0x7fffffffe678) at main.cc:1073
        status_fname = 0x0
        width = warning: can't find linker symbol for virtual table for 
`std::basic_string<char, std::char_traits<char>, std::allocator<char> >' value
warning:   found `std::string::_Rep::_S_empty_rep_storage' instead
{static npos = 18446744073709551615, _M_dataplus = warning: can't find linker 
symbol for virtual table for `std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider' value
warning:   found `std::string::_Rep::_S_empty_rep_storage' instead
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}
        simulate = <value optimized out>
        download_only = false
        safe_resolver_no_new_installs = <value optimized out>
        install_only = false
        resolver_mode = resolver_mode_default
        showvers = <value optimized out>
        always_prompt = <value optimized out>
        verbose = 0
        update_only = false
        autoclean_only = false
        clean_only = false
        assume_yes = false
        disable_columns = false
        showdeps = <value optimized out>
        showwhy = <value optimized out>
        quiet = 0
        debug_search = false
        log_config_file = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x95be78 "/etc/apt/aptitude-log.conf"}}
        fix_broken = <value optimized out>
        seen_quiet = false
        user_tags = {<std::_Vector_base<aptitude::cmdline::tag_application, 
std::allocator<aptitude::cmdline::tag_application> >> = {_M_impl = 
{<std::allocator<aptitude::cmdline::tag_application>> = 
{<__gnu_cxx::new_allocator<aptitude::cmdline::tag_application>> = {<No data 
fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage 
= 0x0}}, <No data fields>}
        display_format = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x95b728 "%c%a%M %p# - %d#"}}
        sort_policy = {static npos = 18446744073709551615, _M_dataplus = 
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x94f1a8 "name"}}
        why_display_mode = aptitude::why::no_summary
        rootdir = <value optimized out>
        show_why_summary_mode = {static npos = 18446744073709551615, 
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = 
{<No data fields>}, <No data fields>}, _M_p = 0x94f1d8 "no-summary"}}
        curopt = <value optimized out>
        queue_only = <value optimized out>
        log_file = warning: can't find linker symbol for virtual table for 
`std::basic_string<char, std::char_traits<char>, std::allocator<char> >' value
warning:   found `std::string::_Rep::_S_empty_rep_storage' instead
{static npos = 18446744073709551615, _M_dataplus = warning: can't find linker 
symbol for virtual table for `std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Alloc_hider' value
warning:   found `std::string::_Rep::_S_empty_rep_storage' instead
{<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data 
fields>}, <No data fields>}, _M_p = 0x931c98 ""}}
        safe_resolver_show_resolver_actions = <value optimized out>
        visual_preview = <value optimized out>
        arch_only = <value optimized out>
        safe_resolver_no_new_upgrades = <value optimized out>
        showsize = <value optimized out>
rax            0x7ffff5211300   140737305973504
rbx            0x7fffec0195e0   140737152914912
rcx            0x96a620 9872928
rdx            0x7ffff5211300   140737305973504
rsi            0x7fffffffd858   140737488345176
rdi            0x7fffec029390   140737152979856
rbp            0x96a620 0x96a620
rsp            0x7fffffffd9e0   0x7fffffffd9e0
r8             0xffff800008439415       -140737349708779
r9             0x7ffff22723bf   140737256039359
r10            0x0      0
r11            0x7ffff5f06ab0   140737319561904
r12            0x7fffffffdcc0   140737488346304
r13            0x7fffffffdcb0   140737488346288
r14            0x7fffffffdca0   140737488346272
r15            0x7ffff2268960   140737255999840
rip            0x4e57a9 0x4e57a9 <do_cmdline_changelog(std::vector<std::string, 
std::allocator<std::string> > const&)+1177>
eflags         0x10206  [ PF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0

Thread 3 (Thread 0x7ffff15d3910 (LWP 13021)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at 
../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x000000000059d495 in wait<cwidget::threads::mutex::lock> (this=0xa8e430) 
at /usr/include/cwidget/generic/threads/threads.h:508
#2  resolver_manager::background_thread_execution (this=0xa8e430) at 
resolver_manager.cc:566
#3  0x00000000005f7091 in void* 
cwidget::threads::thread::bootstrap<resolver_manager::background_thread_bootstrap>(void*)
 ()
#4  0x00007ffff617973a in start_thread (arg=<value optimized out>) at 
pthread_create.c:300
#5  0x00007ffff573e69d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ffff401b910 (LWP 13020)):
#0  0x00007ffff5737f82 in select () from /lib/libc.so.6
#1  0x00007ffff4ac5c30 in apr_sleep () from /usr/lib/libapr-1.so.0
#2  0x00007ffff75e7e19 in log4cxx::helpers::FileWatchdog::run(apr_thread_t*, 
void*) () from /usr/lib/liblog4cxx.so.10
#3  0x00007ffff764b949 in log4cxx::helpers::Thread::launcher(apr_thread_t*, 
void*) () from /usr/lib/liblog4cxx.so.10
#4  0x00007ffff4ac3483 in dummy_worker () from /usr/lib/libapr-1.so.0
#5  0x00007ffff617973a in start_thread (arg=<value optimized out>) at 
pthread_create.c:300
#6  0x00007ffff573e69d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffff7fd5750 (LWP 13017)):
#0  do_cmdline_changelog (packages=<value optimized out>) at 
cmdline_changelog.cc:327
#1  0x00000000004e615a in cmdline_changelog (argc=2, argv=0x7fffffffe688) at 
cmdline_changelog.cc:403
#2  0x0000000000426fca in main (argc=3, argv=0x7fffffffe678) at main.cc:1073
A debugging session is active.

        Inferior 1 [process 13017] will be killed.

Quit anyway? (y or n) [answered Y; input not from terminal]

Attachment: pgpqfx9khsxir.pgp
Description: PGP signature

Reply via email to