[Aptitude-devel] Bug#809184: "aptitude changelog" aborts with "Illegal instruction"

Bjarni Ingi Gislason bjarniig at rhi.hi.is
Tue Dec 29 17:48:46 UTC 2015


On Mon, Dec 28, 2015 at 10:25:07AM +0800, Paul Wise wrote:
> On Mon, 28 Dec 2015 01:57:25 +0000 Bjarni Ingi Gislason wrote:
> 
> >   aptitude changelog apt ...
> 
> Does this always produce the same outcome?
> 

  Yes, at least three times.

> >   Output was "Illegal instruction" with a return value of 132.
> ...
> > Architecture: i386 (i586)
> 
> There are some things that would help the aptitude maintainers figure
> out what the problem is:
> 
> Send the output of this command:
> 
> cat /proc/cpuinfo
> 

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 5
model		: 8
model name	: AMD-K6(tm) 3D processor
stepping	: 12
cpu MHz		: 331.579
cache size	: 64 KB
fdiv_bug	: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
wp		: yes
flags		: fpu vme de pse tsc msr cx8 pge mmx syscall 3dnow k6_mtrr vmmcall
bogomips	: 663.15
clflush size	: 32
cache_alignment	: 32
address sizes	: 32 bits physical, 32 bits virtual
power management:

> Enable the debug repo, install debug symbols, gdb and make a backtrace:
> 
> Create this file:
> 
> /etc/apt/sources.list.d/04-debian-debug.sources
> 

  Error from apt-get.

  The line must end with ".list"

> Put this line in it:
> 
> deb http://debug.mirrors.debian.org/debian-debug/ unstable-debug main
> 

  Error from apt-get.

  The URL may not end with "/".

> Update the apt cache:
> 
> sudo apt-get update
> 
> Install the gdb debugger and debug symbols:
> 
> sudo apt-get install gdb aptitude-dbg libapt-pkg5.0-dbgsym libboost1.58-dbg libc6-dbg libncursesw5-dbg libgcc1-dbg libsqlite3-0-dbg libstdc++6-5-dbg libtinfo5-dbg libxapian22v5-dbg
> 
> Run the debugger and get a crash trace:
> 
> gdb -batch -n -ex 'set height 0' -ex run -ex bt -ex 'thread apply all bt full' --args aptitude changelog apt
> 

  Running just "aptitude" shows no error (no command issued except "q").

  Running "aptitude changelog" (no furter arguments) returns normally
with no output.

  Running "aptitude changelog apt" in a writable directory gives a core
dump.

  "gdb --core=core" shows:

Script started on þri 29. des 2015, kl. 04.08.33 GMT
$ gdb --core=core
GNU gdb (Debian 7.10-1) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
[New LWP 4270]
[New LWP 4261]
[New LWP 4268]
Core was generated by `aptitude changelog apt'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0xb6f5216f in ?? ()
[Current thread is 1 (LWP 4270)]
(gdb) quit
$ exit
exit

Script done on þri 29. des 2015, kl. 04.10.11 GMT


  The gdb trace reports:


Script started on þri 29. des 2015, kl. 04.11.05 GMT
$ gdb -batch -n -ex 'set height 0' -ex run -ex bt -ex 'thread apply all bt full' --args aptitude changelog apt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[New Thread 0xb435bb40 (LWP 4317)]
[New Thread 0xb3b5bb40 (LWP 4318)]
[New Thread 0xb335bb40 (LWP 4319)]
[New Thread 0xb2b5bb40 (LWP 4320)]

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0xb335bb40 (LWP 4319)]
0xb7bf216f in boost::filesystem::path::m_parent_path_end (this=this at entry=0xb335afc4) at libs/filesystem/src/path.cpp:348
348	libs/filesystem/src/path.cpp: No such file or directory.
#0  0xb7bf216f in boost::filesystem::path::m_parent_path_end (this=this at entry=0xb335afc4) at libs/filesystem/src/path.cpp:348
#1  0xb7bf238a in boost::filesystem::path::parent_path (this=this at entry=0xb335afc4) at libs/filesystem/src/path.cpp:353
#2  0xb7beb3f8 in boost::filesystem::detail::create_directories (p=..., ec=0x0) at libs/filesystem/src/operations.cpp:940
#3  0x801b5e51 in boost::filesystem::create_directories (p=...) at /usr/include/boost/filesystem/operations.hpp:523
#4  get_download_cache () at ../../../../src/generic/apt/apt.cc:571
#5  0x801da21a in aptitude::(anonymous namespace)::download_thread::cache_lookup_thread::process_job (job=std::shared_ptr (empty) 0xb5f020b0, this=0xb335b308) at ../../../../src/generic/apt/download_queue.cc:567
#6  aptitude::util::job_queue_thread<aptitude::(anonymous namespace)::download_thread::cache_lookup_thread, std::shared_ptr<aptitude::(anonymous namespace)::download_thread::start_request> >::run (this=this at entry=0xb5f06304) at ../../../../src/generic/util/job_queue_thread.h:206
#7  0x801dafc4 in aptitude::util::job_queue_thread<aptitude::(anonymous namespace)::download_thread::cache_lookup_thread, std::shared_ptr<aptitude::(anonymous namespace)::download_thread::start_request> >::bootstrap::operator() (this=<synthetic pointer>) at ../../../../src/generic/util/job_queue_thread.h:80
#8  cwidget::threads::thread::bootstrap<aptitude::util::job_queue_thread<aptitude::(anonymous namespace)::download_thread::cache_lookup_thread, std::shared_ptr<aptitude::(anonymous namespace)::download_thread::start_request> >::bootstrap> (p=0xb5f0bdb8) at /usr/include/cwidget/generic/threads/threads.h:117
#9  0xb79bff6b in start_thread (arg=0xb335bb40) at pthread_create.c:333
#10 0xb773697e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122

Thread 5 (Thread 0xb2b5bb40 (LWP 4320)):
#0  __GI___call_tls_dtors () at cxa_thread_atexit_impl.c:86
No locals.
#1  0xb79bff79 in start_thread (arg=0xb2b5bb40) at pthread_create.c:343
        pd = 0xb2b5bb40
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1214435328, 0, -1296712896, -1296714776, 1844788472, 829241074}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#2  0xb773697e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122
No locals.

Thread 4 (Thread 0xb335bb40 (LWP 4319)):
#0  0xb7bf216f in boost::filesystem::path::m_parent_path_end (this=this at entry=0xb335afc4) at libs/filesystem/src/path.cpp:348
        end_pos = 15
        filename_was_separator = <optimized out>
#1  0xb7bf238a in boost::filesystem::path::parent_path (this=this at entry=0xb335afc4) at libs/filesystem/src/path.cpp:353
        end_pos = <optimized out>
#2  0xb7beb3f8 in boost::filesystem::detail::create_directories (p=..., ec=0x0) at libs/filesystem/src/operations.cpp:940
        local_ec = {m_val = 2, m_cat = 0xb7be006c <boost::system::system_category()::system_category_const>}
        parent = {static preferred_separator = 47 '/', m_pathname = "\203Ä\030[Ã\215´&\000\000\000\000\215B\001\203ì\f\211\021Pèê\232ö"}
#3  0x801b5e51 in boost::filesystem::create_directories (p=...) at /usr/include/boost/filesystem/operations.hpp:523
No locals.
#4  get_download_cache () at ../../../../src/generic/apt/apt.cc:571
        env_XDG_CACHE_HOME = <optimized out>
        xdg_cache_home = "/home/bg/.cache"
        download_cache_dir = "/home/bg/.cache/aptitude"
        download_cache_file_name = ""
        logger = std::shared_ptr (count 2, weak 1) 0x803cf434
#5  0x801da21a in aptitude::(anonymous namespace)::download_thread::cache_lookup_thread::process_job (job=std::shared_ptr (empty) 0xb5f020b0, this=0xb335b308) at ../../../../src/generic/apt/download_queue.cc:567
        download_cache = std::shared_ptr (empty) 0x0
#6  aptitude::util::job_queue_thread<aptitude::(anonymous namespace)::download_thread::cache_lookup_thread, std::shared_ptr<aptitude::(anonymous namespace)::download_thread::start_request> >::run (this=this at entry=0xb5f06304) at ../../../../src/generic/util/job_queue_thread.h:206
        next = std::shared_ptr (count 1, weak 0) 0xb5f020bc
        l = {parent = @0x803c4cb8, locked = false}
#7  0x801dafc4 in aptitude::util::job_queue_thread<aptitude::(anonymous namespace)::download_thread::cache_lookup_thread, std::shared_ptr<aptitude::(anonymous namespace)::download_thread::start_request> >::bootstrap::operator() (this=<synthetic pointer>) at ../../../../src/generic/util/job_queue_thread.h:80
No locals.
#8  cwidget::threads::thread::bootstrap<aptitude::util::job_queue_thread<aptitude::(anonymous namespace)::download_thread::cache_lookup_thread, std::shared_ptr<aptitude::(anonymous namespace)::download_thread::start_request> >::bootstrap> (p=0xb5f0bdb8) at /usr/include/cwidget/generic/threads/threads.h:117
No locals.
#9  0xb79bff6b in start_thread (arg=0xb335bb40) at pthread_create.c:333
        __res = <optimized out>
        pd = 0xb335bb40
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1214435328, 0, -1288324288, -1288326168, 1844788475, 829241074}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#10 0xb773697e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122
No locals.

Thread 3 (Thread 0xb3b5bb40 (LWP 4318)):
#0  __GI___call_tls_dtors () at cxa_thread_atexit_impl.c:86
No locals.
#1  0xb79bff79 in start_thread (arg=0xb3b5bb40) at pthread_create.c:343
        pd = 0xb3b5bb40
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1214435328, 0, -1279935680, -1279937560, 1844788474, 829241074}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#2  0xb773697e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122
No locals.

Thread 2 (Thread 0xb435bb40 (LWP 4317)):
quit
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/i386/i586/../i486/pthread_cond_wait.S:188
No locals.
Backtrace stopped: Cannot access memory at address 0xb435b01c
Couldn't get registers: No such process.
$ quit
^Zbash: quit: command not found
$ exit
exit

Script done on þri 29. des 2015, kl. 04.26.07 GMT

  While "gdb" is working, "top" shows that it uses first about 80 % CPU, then about 6 %
and 83 % waiting (wa).  The disk-light is then continously lit.

  After "Thread 2 (Thread 0xb435bb40 (LWP 4317)):" there is no progress.
 Therefor I issued the "quit" command.

-- 
Bjarni I. Gislason



More information about the Aptitude-devel mailing list