[Aptitude-devel] Bug#809184: "aptitude changelog" aborts with "Illegal instruction"
Manuel A. Fernandez Montecelo
manuel.montezelo at gmail.com
Tue Dec 29 23:11:54 UTC 2015
2015-12-29 17:48 Bjarni Ingi Gislason:
>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
Thanks for the info.
Looks like a problem with Boost, and I've been checking in its BTS and:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794622
The AMD K6 is an i585, or at least not a fully compatible i686, if I
recall correctly.
I've pinged the maintainers of the x32 port to see if they go ahead with
the NMU (pushing a release with that patch included). I am not sure if
we can do much more about it from aptitude's side.
Cheers.
--
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>
More information about the Aptitude-devel
mailing list