Subject: bug#16119: 24.3.50; emacs aborted -- [xcb] Unknown request in queue while appending request

From: Nicolas Richard <[email-masked]>
Date: Thu, 12 Dec 2013 13:25:01 +0100

Le 12/12/2013 13:04, Dmitry Antipov a écrit :
> On 12/12/2013 02:59 PM, Nicolas Richard wrote:
> 
>> [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
> 
> 1) Hm...could you also run 'info threads' in GDB and, if there are more than one of them,
> collect all backtraces?

I assumed that collecting all backtraces could be done via "thread <id>" and then "bt".
Here's what I've done :
(gdb) info threads
  Id   Target Id         Frame 
  6    Thread 0xb1d93b40 (LWP 10061) "emacs" deliver_input_available_signal (sig=29) at keyboard.c:7151
  5    Thread 0xb2594b40 (LWP 10060) "emacs" 0xb6efd325 in sys_futex0 (val=4, op=<optimized out>, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:90
  4    Thread 0xb38ffb40 (LWP 8571) "dconf worker" 0xb7fdf424 in __kernel_vsyscall ()
  3    Thread 0xb42a8b40 (LWP 8570) "gdbus" 0xb7fdf424 in __kernel_vsyscall ()
  2    Thread 0xb4cceb40 (LWP 8569) "gmain" 0xb7fdf424 in __kernel_vsyscall ()
* 1    Thread 0xb5077880 (LWP 8565) "emacs" 0xb7fdf424 in __kernel_vsyscall ()

(gdb) thread 2
[Switching to thread 2 (Thread 0xb4cceb40 (LWP 8569))]
#0  0xb7fdf424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdf424 in __kernel_vsyscall ()
#1  0xb6e4a00b in *__GI___poll (fds=0xb4300478, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb78444cb in g_poll (fds=0xb4300478, nfds=1, timeout=-1) at gpoll.c:132
#3  0xb783685e in g_main_context_poll (n_fds=1, fds=0xb4300478, timeout=<optimized out>, context=0x88fbc70, priority=<optimized out>) at gmain.c:3995
#4  g_main_context_iterate (dispatch=1, block=-1216068448, context=0x88fbc70, self=<optimized out>) at gmain.c:3696
#5  g_main_context_iterate (context=0x88fbc70, block=-1216068448, dispatch=1, self=<optimized out>) at gmain.c:3638
#6  0xb7836997 in g_main_context_iteration (context=0x88fbc70, may_block=1) at gmain.c:3762
#7  0xb7836a16 in glib_worker_main (data=0x0) at gmain.c:5427
#8  0xb785b84a in g_thread_proxy (data=0x88fc800) at gthread.c:798
#9  0xb6f0b017 in start_thread (arg=0xb4cceb40) at pthread_create.c:305
#10 0xb6e54cbe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Lisp Backtrace:

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb5077880 (LWP 8565)]
0xb7fdf424 in __kernel_vsyscall ()
The program received a signal in another thread while
making a function call from GDB.
Evaluation of the expression containing the function
(backtrace_top) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb) info threads
  Id   Target Id         Frame 
  6    Thread 0xb1d93b40 (LWP 10061) "emacs" 0xb6efd2fa in do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:53
  5    Thread 0xb2594b40 (LWP 10060) "emacs" 0xb6efd325 in sys_futex0 (val=4, op=<optimized out>, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:90
  4    Thread 0xb38ffb40 (LWP 8571) "dconf worker" 0xb7fdf424 in __kernel_vsyscall ()
  3    Thread 0xb42a8b40 (LWP 8570) "gdbus" 0xb7fdf424 in __kernel_vsyscall ()
  2    Thread 0xb4cceb40 (LWP 8569) "gmain" backtrace_top () at eval.c:209
* 1    Thread 0xb5077880 (LWP 8565) "emacs" 0xb7fdf424 in __kernel_vsyscall ()
(gdb) thread 3
[Switching to thread 3 (Thread 0xb42a8b40 (LWP 8570))]
#0  0xb7fdf424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdf424 in __kernel_vsyscall ()
#1  0xb6e4a00b in *__GI___poll (fds=0xb39023b0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb78444cb in g_poll (fds=0xb39023b0, nfds=3, timeout=-1) at gpoll.c:132
#3  0xb783685e in g_main_context_poll (n_fds=3, fds=0xb39023b0, timeout=<optimized out>, context=0x8935fb0, priority=<optimized out>) at gmain.c:3995
#4  g_main_context_iterate (dispatch=1, block=-1216068448, context=0x8935fb0, self=<optimized out>) at gmain.c:3696
#5  g_main_context_iterate (context=0x8935fb0, block=-1216068448, dispatch=1, self=<optimized out>) at gmain.c:3638
#6  0xb7836d73 in g_main_loop_run (loop=0x8935f90) at gmain.c:3895
#7  0xb7a75aca in gdbus_shared_thread_func (user_data=0x8937078) at gdbusprivate.c:278
#8  0xb785b84a in g_thread_proxy (data=0x88fce60) at gthread.c:798
#9  0xb6f0b017 in start_thread (arg=0xb42a8b40) at pthread_create.c:305
#10 0xb6e54cbe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133
[Switching to Thread 0xb4cceb40 (LWP 8569)]
The program stopped in another thread while making a function call from GDB.
Evaluation of the expression containing the function
(backtrace_top) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb) info threads
  Id   Target Id         Frame 
  6    Thread 0xb1d93b40 (LWP 10061) "emacs" do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:53
  5    Thread 0xb2594b40 (LWP 10060) "emacs" 0xb6efd325 in sys_futex0 (val=4, op=<optimized out>, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:90
  4    Thread 0xb38ffb40 (LWP 8571) "dconf worker" 0xb7fdf424 in __kernel_vsyscall ()
  3    Thread 0xb42a8b40 (LWP 8570) "gdbus" <function called from gdb>
* 2    Thread 0xb4cceb40 (LWP 8569) "gmain" 0xb7fdf424 in __kernel_vsyscall ()
  1    Thread 0xb5077880 (LWP 8565) "emacs" 0xb7fdf424 in __kernel_vsyscall ()
(gdb) thread 4
[Switching to thread 4 (Thread 0xb38ffb40 (LWP 8571))]
#0  0xb7fdf424 in __kernel_vsyscall ()
(gdb) bt
#0  0xb7fdf424 in __kernel_vsyscall ()
#1  0xb6e4a00b in *__GI___poll (fds=0xb2f00c78, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb78444cb in g_poll (fds=0xb2f00c78, nfds=1, timeout=-1) at gpoll.c:132
#3  0xb783685e in g_main_context_poll (n_fds=1, fds=0xb2f00c78, timeout=<optimized out>, context=0x8957220, priority=<optimized out>) at gmain.c:3995
#4  g_main_context_iterate (dispatch=1, block=-1216068448, context=0x8957220, self=<optimized out>) at gmain.c:3696
#5  g_main_context_iterate (context=0x8957220, block=-1216068448, dispatch=1, self=<optimized out>) at gmain.c:3638
#6  0xb7836d73 in g_main_loop_run (loop=0xb2f00c68) at gmain.c:3895
#7  0xb4457736 in dconf_context_thread (data=0x8957220) at dconfcontext.c:11
#8  0xb785b84a in g_thread_proxy (data=0x894a6c0) at gthread.c:798
#9  0xb6f0b017 in start_thread (arg=0xb38ffb40) at pthread_create.c:305
#10 0xb6e54cbe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133
[Switching to Thread 0xb42a8b40 (LWP 8570)]
The program stopped in another thread while making a function call from GDB.
Evaluation of the expression containing the function
(backtrace_top) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb) info threads
  Id   Target Id         Frame 
  6    Thread 0xb1d93b40 (LWP 10061) "emacs" 0xb6efd304 in do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:53
  5    Thread 0xb2594b40 (LWP 10060) "emacs" 0xb6efd325 in sys_futex0 (val=4, op=<optimized out>, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:90
  4    Thread 0xb38ffb40 (LWP 8571) "dconf worker" <function called from gdb>
* 3    Thread 0xb42a8b40 (LWP 8570) "gdbus" 0xb7fdf424 in __kernel_vsyscall ()
  2    Thread 0xb4cceb40 (LWP 8569) "gmain" 0xb7fdf424 in __kernel_vsyscall ()
  1    Thread 0xb5077880 (LWP 8565) "emacs" 0xb7fdf424 in __kernel_vsyscall ()
(gdb) thread 5
[Switching to thread 5 (Thread 0xb2594b40 (LWP 10060))]
#0  0xb6efd325 in sys_futex0 (val=4, op=<optimized out>, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:90
90	/var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0xb6efd325 in sys_futex0 (val=4, op=<optimized out>, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:90
#1  futex_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/x86/futex.h:120
#2  do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:58
#3  gomp_barrier_wait_end (bar=0xb4f83f8, state=4) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/bar.c:49
#4  0xb6efd3cc in gomp_barrier_wait (bar=0xb4f83f8) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/bar.c:57
#5  0xb6efbc28 in gomp_thread_start (xdata=0xbfffacf0) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/team.c:119
#6  0xb6f0b017 in start_thread (arg=0xb2594b40) at pthread_create.c:305
#7  0xb6e54cbe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Lisp Backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5077880 (LWP 8565)]
*__GI_abort () at abort.c:127
127	abort.c: Aucun fichier ou dossier de ce type.
The program received a signal in another thread while
making a function call from GDB.
Evaluation of the expression containing the function
(backtrace_p) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb) info threads
  Id   Target Id         Frame 
  6    Thread 0xb1d93b40 (LWP 10061) "emacs" 0xb6efd304 in do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:53
  5    Thread 0xb2594b40 (LWP 10060) "emacs" backtrace_p (pdl=0x88f5a68) at eval.c:205
  4    Thread 0xb38ffb40 (LWP 8571) "dconf worker" <function called from gdb>
  3    Thread 0xb42a8b40 (LWP 8570) "gdbus" 0xb7fdf424 in __kernel_vsyscall ()
  2    Thread 0xb4cceb40 (LWP 8569) "gmain" 0xb7fdf424 in __kernel_vsyscall ()
* 1    Thread 0xb5077880 (LWP 8565) "emacs" *__GI_abort () at abort.c:127
(gdb) thread 6
[Switching to thread 6 (Thread 0xb1d93b40 (LWP 10061))]
#0  0xb6efd304 in do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:53
53	/var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  0xb6efd304 in do_wait (val=4, addr=0xb4f83fc) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/wait.h:53
#1  gomp_barrier_wait_end (bar=0xb4f83f8, state=4) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/bar.c:49
#2  0xb6efd3cc in gomp_barrier_wait (bar=0xb4f83f8) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/config/linux/bar.c:57
#3  0xb6efbc28 in gomp_thread_start (xdata=0xbfffad24) at /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/libgomp/team.c:119
#4  0xb6f0b017 in start_thread (arg=0xb1d93b40) at pthread_create.c:305
#5  0xb6e54cbe in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:133

Lisp Backtrace:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5077880 (LWP 8565)]
*__GI_abort () at abort.c:127
127	abort.c: Aucun fichier ou dossier de ce type.
The program received a signal in another thread while
making a function call from GDB.
Evaluation of the expression containing the function
(backtrace_p) will be abandoned.
When the function is done executing, GDB will silently stop.
(gdb) 

I understand that gdb is not completely happy with that, but I do not know what to do with its complaint.

> 2) According to http://cgit.freedesktop.org/xorg/lib/libX11, libX11-1.5.0 is 18 months old.
> Could you try an upgrade? My system has 1.6.0.

Sure, will do.

Nico.