[Aptitude-devel] Bug#658271: Bug#658271: Bug#681023: aptitude: quit keybinding lost under some circumstances
Axel Beckert
abe at debian.org
Fri Feb 8 14:40:21 UTC 2013
Control: found -1 0.6.8.2-1
Control: tag -1 - unreproducible
Axel Beckert wrote:
> Daniel Hartwig wrote:
> > If anyone else experiences this please let us know as I would like to
> > get an idea of how widespread the issue is.
> >
> > On 10 July 2012 08:38, Axel Beckert <abe at debian.org> wrote:
> > > I experienced the following already with some earlier aptitude version,
> > > but with 0.6.9 I ran into it nearly everytime I use the interactive
> > > mode:
>
> I still have one box where I have 0.6.9.x installed. Ran into it there
> again today.
Unfortunately this machine died recently.
But I ran into it today on Sid i386 with aptitude from wheezy/sid
(i.e. 0.6.8.2-1) while (unsuccessfully) trying to reproduce
http://bugs.debian.org/466594. No aptitude-dbg
was installed, but I installed it and could reproduce it as follows:
Start aptitude interactively, i.e. with no parameter or option.
Install aptitude-dbg (if not already installed) and remove reportbug
and all other packages aptitude wants to remove because of that, too.
Press 2x "g" to remove reportbug and install aptitude-dbg.
Then either press Enter after the installation and removals are
finished -- or press Ctrl-C and start aptitude again.
Now "q" works.
Press "B" on base-files (first package in list of installed packages
here). Quickly returns to the TUI.
"q" still works as expected.
Select dpkg-dev-el. Press + for installation (it must have been not
installed as it has reportbug as indirect dependency and we removed
that before).
Press "g" to get the preview. Press "q" to leave the preview. Works as
expected.
Press "q" again. Nothing happens.
I could reproduce this at least three times in a row (with "quiting"
aptitude with a Ctrl-C in between). It was not important if I first
pressed "B" on base-files or "+" on dpkg-dev-el. It though seemed to
be important to press "+" on dpkg-dev-el and not on task-amharic
(which was one of the first packages in the not-installed list),
because it didn't work with that -- no idea why.
I created an aptitude state bundle (40 MB) with which this issue
should be reproducible. It's available at
http://www.phys.ethz.ch/~abe/Debian-Bugs/aptitude-state-bundle-for-%23466594.bz2
Additionally here's a single-stepping through in gdb what happened
after pressing "q" in case the above doesn't help to reproduce this
issue:
(gdb) bt
#0 0xb73d9424 in __kernel_vsyscall ()
#1 0xb6db120a in __pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:153
#2 0xb7170e0b in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
#3 0xb7521cea in ui_main () at ../../src/ui.cc:2936
#4 0xb745440c in main (argc=1, argv=0xbfa43254) at ../../src/main.cc:1307
(gdb) s
Single stepping until exit from function __kernel_vsyscall, which has no line number information.
__pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:156
156 pthread_cond_wait.c: No such file or directory.
(gdb)
At this point I pressed "q" in the TUI.
__pthread_disable_asynccancel (oldtype=0) at cancellation.c:69
69 cancellation.c: No such file or directory.
(gdb)
66 in cancellation.c
(gdb)
69 in cancellation.c
(gdb)
72 in cancellation.c
(gdb)
75 in cancellation.c
(gdb)
79 in cancellation.c
(gdb)
81 in cancellation.c
(gdb)
79 in cancellation.c
(gdb)
81 in cancellation.c
(gdb)
83 in cancellation.c
(gdb)
94 in cancellation.c
(gdb)
100 in cancellation.c
(gdb)
__pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:159
159 pthread_cond_wait.c: No such file or directory.
(gdb)
162 in pthread_cond_wait.c
(gdb)
166 in pthread_cond_wait.c
(gdb)
168 in pthread_cond_wait.c
(gdb)
171 in pthread_cond_wait.c
(gdb)
175 in pthread_cond_wait.c
(gdb)
180 in pthread_cond_wait.c
(gdb)
175 in pthread_cond_wait.c
(gdb)
180 in pthread_cond_wait.c
(gdb)
175 in pthread_cond_wait.c
(gdb)
180 in pthread_cond_wait.c
(gdb)
185 in pthread_cond_wait.c
(gdb)
188 in pthread_cond_wait.c
(gdb)
_pthread_cleanup_pop (buffer=0xbfa42d7c, execute=0) at cleanup_compat.c:45
45 cleanup_compat.c: No such file or directory.
(gdb)
48 in cleanup_compat.c
(gdb)
52 in cleanup_compat.c
(gdb)
54 in cleanup_compat.c
(gdb)
__pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:191
191 pthread_cond_wait.c: No such file or directory.
(gdb)
__pthread_mutex_cond_lock (mutex=0xb721dd38) at ../nptl/pthread_mutex_lock.c:50
50 ../nptl/pthread_mutex_lock.c: No such file or directory.
(gdb)
47 in ../nptl/pthread_mutex_lock.c
(gdb)
__i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170
170 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S: No such file or directory.
(gdb)
171 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S
(gdb)
__pthread_mutex_cond_lock (mutex=0xb721dd38) at ../nptl/pthread_mutex_lock.c:50
50 ../nptl/pthread_mutex_lock.c: No such file or directory.
(gdb)
51 in ../nptl/pthread_mutex_lock.c
(gdb)
50 in ../nptl/pthread_mutex_lock.c
(gdb)
51 in ../nptl/pthread_mutex_lock.c
(gdb)
54 in ../nptl/pthread_mutex_lock.c
(gdb)
56 in ../nptl/pthread_mutex_lock.c
(gdb)
54 in ../nptl/pthread_mutex_lock.c
(gdb)
56 in ../nptl/pthread_mutex_lock.c
(gdb)
61 in ../nptl/pthread_mutex_lock.c
(gdb)
62 in ../nptl/pthread_mutex_lock.c
(gdb)
125 in ../nptl/pthread_mutex_lock.c
(gdb)
131 in ../nptl/pthread_mutex_lock.c
(gdb)
__pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:192
192 pthread_cond_wait.c: No such file or directory.
(gdb)
0xb7170e0b in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_mutex_unlock (mutex=0xb721dd38) at pthread_mutex_unlock.c:290
290 pthread_mutex_unlock.c: No such file or directory.
(gdb)
291 in pthread_mutex_unlock.c
(gdb)
Cannot access memory at address 0xcf8
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=1) at pthread_mutex_unlock.c:36
36 in pthread_mutex_unlock.c
(gdb)
37 in pthread_mutex_unlock.c
(gdb)
36 in pthread_mutex_unlock.c
(gdb)
__i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170
170 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S: No such file or directory.
(gdb)
171 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=1) at pthread_mutex_unlock.c:37
37 pthread_mutex_unlock.c: No such file or directory.
(gdb)
38 in pthread_mutex_unlock.c
(gdb)
41 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
46 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
49 in pthread_mutex_unlock.c
(gdb)
52 in pthread_mutex_unlock.c
(gdb)
0xb6db0602 in _L_unlock_621 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
(gdb)
Single stepping until exit from function _L_unlock_621,
which has no line number information.
__lll_unlock_wake () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S:369
369 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S: No such file or directory.
(gdb)
371 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
373 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
379 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
380 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
381 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
382 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
383 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
384 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
386 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
389 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
392 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
395 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowlevellock.S
(gdb)
0xb6db060b in _L_unlock_621 () from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
(gdb)
Single stepping until exit from function _L_unlock_621,
which has no line number information.
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=0) at pthread_mutex_unlock.c:77
77 pthread_mutex_unlock.c: No such file or directory.
(gdb)
0xb7170e51 in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_mutex_lock (mutex=0xb721dd6c) at pthread_mutex_lock.c:50
50 pthread_mutex_lock.c: No such file or directory.
(gdb)
51 in pthread_mutex_lock.c
(gdb)
50 in pthread_mutex_lock.c
(gdb)
51 in pthread_mutex_lock.c
(gdb)
54 in pthread_mutex_lock.c
(gdb)
56 in pthread_mutex_lock.c
(gdb)
54 in pthread_mutex_lock.c
(gdb)
56 in pthread_mutex_lock.c
(gdb)
64 in pthread_mutex_lock.c
(gdb)
69 in pthread_mutex_lock.c
(gdb)
82 in pthread_mutex_lock.c
(gdb)
84 in pthread_mutex_lock.c
(gdb)
85 in pthread_mutex_lock.c
(gdb)
125 in pthread_mutex_lock.c
(gdb)
127 in pthread_mutex_lock.c
(gdb)
125 in pthread_mutex_lock.c
(gdb)
127 in pthread_mutex_lock.c
(gdb)
131 in pthread_mutex_lock.c
(gdb)
0xb7170e68 in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_mutex_lock (mutex=0xb721dd38) at pthread_mutex_lock.c:50
50 in pthread_mutex_lock.c
(gdb)
51 in pthread_mutex_lock.c
(gdb)
50 in pthread_mutex_lock.c
(gdb)
51 in pthread_mutex_lock.c
(gdb)
54 in pthread_mutex_lock.c
(gdb)
56 in pthread_mutex_lock.c
(gdb)
54 in pthread_mutex_lock.c
(gdb)
56 in pthread_mutex_lock.c
(gdb)
61 in pthread_mutex_lock.c
(gdb)
62 in pthread_mutex_lock.c
(gdb)
125 in pthread_mutex_lock.c
(gdb)
127 in pthread_mutex_lock.c
(gdb)
125 in pthread_mutex_lock.c
(gdb)
127 in pthread_mutex_lock.c
(gdb)
131 in pthread_mutex_lock.c
(gdb)
0xb7170ece in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_mutex_unlock (mutex=0xb721dd38) at pthread_mutex_unlock.c:290
290 pthread_mutex_unlock.c: No such file or directory.
(gdb)
291 in pthread_mutex_unlock.c
(gdb)
Cannot access memory at address 0xcf8
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=1) at pthread_mutex_unlock.c:36
36 in pthread_mutex_unlock.c
(gdb)
37 in pthread_mutex_unlock.c
(gdb)
36 in pthread_mutex_unlock.c
(gdb)
__i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170
170 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S: No such file or directory.
(gdb)
171 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=1) at pthread_mutex_unlock.c:37
37 pthread_mutex_unlock.c: No such file or directory.
(gdb)
38 in pthread_mutex_unlock.c
(gdb)
41 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
46 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
49 in pthread_mutex_unlock.c
(gdb)
52 in pthread_mutex_unlock.c
(gdb)
77 in pthread_mutex_unlock.c
(gdb)
0xb7170ee3 in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0xb8cf4fa8) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:99
99 static T_return call_it(slot_rep* rep)
(gdb)
103 return (typed_rep->functor_)();
(gdb)
operator() (this=0xb8cf4fc0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
103 return (typed_rep->functor_)();
(gdb)
operator() (this=0xb8cf4fc4) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
77 { return func_ptr_(); }
(gdb)
check_apt_errors () at ../../src/ui.cc:302
302 ../../src/ui.cc: No such file or directory.
(gdb)
303 in ../../src/ui.cc
(gdb)
318 in ../../src/ui.cc
(gdb)
sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0xb8cf4fa8) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:104
104 }
(gdb)
0xb7170f99 in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_mutex_unlock (mutex=0xb721dd6c) at pthread_mutex_unlock.c:290
290 pthread_mutex_unlock.c: No such file or directory.
(gdb)
291 in pthread_mutex_unlock.c
(gdb)
Cannot access memory at address 0xcf8
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd6c, decr=1) at pthread_mutex_unlock.c:36
36 in pthread_mutex_unlock.c
(gdb)
37 in pthread_mutex_unlock.c
(gdb)
36 in pthread_mutex_unlock.c
(gdb)
__i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170
170 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S: No such file or directory.
(gdb)
171 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd6c, decr=1) at pthread_mutex_unlock.c:37
37 pthread_mutex_unlock.c: No such file or directory.
(gdb)
38 in pthread_mutex_unlock.c
(gdb)
41 in pthread_mutex_unlock.c
(gdb)
55 in pthread_mutex_unlock.c
(gdb)
58 in pthread_mutex_unlock.c
(gdb)
61 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
46 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
49 in pthread_mutex_unlock.c
(gdb)
52 in pthread_mutex_unlock.c
(gdb)
77 in pthread_mutex_unlock.c
(gdb)
0xb7170dbb in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_mutex_lock (mutex=0xb721dd38) at pthread_mutex_lock.c:50
50 pthread_mutex_lock.c: No such file or directory.
(gdb)
51 in pthread_mutex_lock.c
(gdb)
50 in pthread_mutex_lock.c
(gdb)
51 in pthread_mutex_lock.c
(gdb)
54 in pthread_mutex_lock.c
(gdb)
56 in pthread_mutex_lock.c
(gdb)
54 in pthread_mutex_lock.c
(gdb)
56 in pthread_mutex_lock.c
(gdb)
61 in pthread_mutex_lock.c
(gdb)
62 in pthread_mutex_lock.c
(gdb)
125 in pthread_mutex_lock.c
(gdb)
127 in pthread_mutex_lock.c
(gdb)
125 in pthread_mutex_lock.c
(gdb)
127 in pthread_mutex_lock.c
(gdb)
131 in pthread_mutex_lock.c
(gdb)
0xb7170ddb in cwidget::toplevel::mainloop(int) () from /usr/lib/libcwidget.so.3
(gdb)
Single stepping until exit from function _ZN7cwidget8toplevel8mainloopEi,
which has no line number information.
__pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:101
101 pthread_cond_wait.c: No such file or directory.
(gdb)
97 in pthread_cond_wait.c
(gdb)
__i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170
170 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S: No such file or directory.
(gdb)
171 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S
(gdb)
__pthread_cond_wait (cond=0xb721dd08, mutex=0xb721dd38) at pthread_cond_wait.c:101
101 pthread_cond_wait.c: No such file or directory.
(gdb)
105 in pthread_cond_wait.c
(gdb)
108 in pthread_cond_wait.c
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=0) at pthread_mutex_unlock.c:37
37 pthread_mutex_unlock.c: No such file or directory.
(gdb)
36 in pthread_mutex_unlock.c
(gdb)
__i686.get_pc_thunk.bx () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S:170
170 ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S: No such file or directory.
(gdb)
171 in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/sem_post.S
(gdb)
__pthread_mutex_unlock_usercnt (mutex=0xb721dd38, decr=0) at pthread_mutex_unlock.c:37
37 pthread_mutex_unlock.c: No such file or directory.
(gdb)
38 in pthread_mutex_unlock.c
(gdb)
41 in pthread_mutex_unlock.c
(gdb)
47 in pthread_mutex_unlock.c
(gdb)
46 in pthread_mutex_unlock.c
I felt that, at that point, I'm already back in the mainloop for a
while and hence stopped the stepping. I hope that was enough to get a
clue what happened.
Regards, Axel
--
,''`. | Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' : | Debian Developer, ftp.ch.debian.org Admin
`. `' | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
`- | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5
More information about the Aptitude-devel
mailing list