Subject: bug#22932: 25.0.92; X protocol error: BadRequest (invalid request code or no such operation) on protocol request 149

From: Eli Zaretskii <[email-masked]>
Date: Tue, 08 Mar 2016 18:27:37 +0200

> From: John Eismeier <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>, [email-masked]
> Date: Tue, 08 Mar 2016 09:36:13 -0500
> 
> 
> I have recompiled with the arguments below, what this correct?
> 
> CFLAGS='-O0 -g3' ./configure --prefix=/jenkins/emacs-25/build --with-x-toolkit=lucid --with-sound=no  --enable-checking='yes,glyphs' --enable-check-lisp-object-type
> 
> launched with, was this correct?

Yes, thanks.

> /jenkins/emacs-25/build/bin/emacs -Q -xrm "emacs.synchronous: true"
> X protocol error: BadRequest (invalid request code or no such operation) on protocol request 149
> Fatal error 6: Aborted
> 
> 
> does this help ?

It does.

> Program received signal SIGABRT, Aborted.
> 0x00007f7fea31820b in raise (sig=6)
>     at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
> 37	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
> (gdb)
> #0  0x00007f7fea31820b in raise (sig=6)
>     at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
> #1  0x0000000000588c38 in terminate_due_to_signal (sig=6, backtrace_limit=40)
>     at emacs.c:380
> #2  0x00000000005b5efc in emacs_abort () at sysdep.c:2247
> #3  0x000000000046833f in redisplay_internal () at xdisp.c:13458
> #4  0x000000000046aad6 in redisplay_preserve_echo_area (from_where=13)
>     at xdisp.c:14250
> #5  0x0000000000695009 in Fdelete_process (process=...) at process.c:841
> #6  0x00000000006a41de in kill_buffer_processes (buffer=...) at process.c:7231
> #7  0x000000000058af10 in shut_down_emacs (sig=6, stuff=...) at emacs.c:1978
> #8  0x0000000000588be8 in terminate_due_to_signal (sig=6, backtrace_limit=40)
>     at emacs.c:364
> #9  0x00000000005b5efc in emacs_abort () at sysdep.c:2247
> #10 0x000000000045f65c in message3_nolog (m=...) at xdisp.c:10280
> #11 0x000000000045f46d in message3 (m=...) at xdisp.c:10240
> #12 0x00000000006329af in Fmessage (nargs=2, args=0x7fffa51e3680)
>     at editfns.c:3686
> #13 0x00000000006419ec in Ffuncall (nargs=3, args=0x7fffa51e3678)
>     at eval.c:2673
> #14 0x000000000068fc5c in exec_byte_code (bytestr=..., vector=...,
>     maxdepth=..., args_template=..., nargs=0, args=0x7fffa51e3e00)
>     at bytecode.c:880
> #15 0x000000000064253a in funcall_lambda (fun=..., nargs=0,
>     arg_vector=0x7fffa51e3e00) at eval.c:2855
> #16 0x0000000000641db8 in Ffuncall (nargs=1, args=0x7fffa51e3df8)
>     at eval.c:2742
> #17 0x000000000068fc5c in exec_byte_code (bytestr=..., vector=...,
>     maxdepth=..., args_template=..., nargs=2, args=0x7fffa51e4590)
>     at bytecode.c:880
> #18 0x000000000064253a in funcall_lambda (fun=..., nargs=2,
>     arg_vector=0x7fffa51e4580) at eval.c:2855
> #19 0x0000000000641db8 in Ffuncall (nargs=3, args=0x7fffa51e4578)
>     at eval.c:2742
> #20 0x000000000068fc5c in exec_byte_code (bytestr=..., vector=...,
>     maxdepth=..., args_template=..., nargs=0, args=0x0) at bytecode.c:880
> #21 0x00000000006429ab in funcall_lambda (fun=..., nargs=0,
>     arg_vector=0x32a78dd) at eval.c:2921
> #22 0x0000000000641db8 in Ffuncall (nargs=1, args=0x7fffa51e4ce8)
>     at eval.c:2742
> #23 0x000000000068fc5c in exec_byte_code (bytestr=..., vector=...,
>     maxdepth=..., args_template=..., nargs=0, args=0x0) at bytecode.c:880
> #24 0x00000000006429ab in funcall_lambda (fun=..., nargs=0,
>     arg_vector=0x32a2bbd) at eval.c:2921
> #25 0x0000000000641db8 in Ffuncall (nargs=1, args=0x7fffa51e5500)
>     at eval.c:2742
> #26 0x0000000000640e0f in funcall_nil (nargs=1, args=0x7fffa51e5500)
>     at eval.c:2332
> #27 0x000000000064130c in run_hook_with_args (nargs=1, args=0x7fffa51e5500,
>     funcall=0x640dec <funcall_nil>) at eval.c:2509
> #28 0x0000000000640e93 in Frun_hook_with_args (nargs=1, args=0x7fffa51e5500)
>     at eval.c:2374
> #29 0x0000000000641399 in run_hook (hook=...) at eval.c:2522
> #30 0x000000000058ad41 in Fkill_emacs (arg=...) at emacs.c:1898

This Emacs was killed 4 times over, oh boy...

> #31 0x0000000000557d31 in x_connection_closed (dpy=0xe6d880,
>     error_message=0x7fffa51e5760 "X protocol error: BadRequest (invalid request code or no such operation) on protocol request 149", ioerror=false)
>     at xterm.c:9484
> #32 0x0000000000557e67 in x_error_quitter (display=0xe6d880,
>     event=0x7fffa51e5910) at xterm.c:9553
> #33 0x0000000000557db4 in x_error_handler (display=0xe6d880,
>     event=0x7fffa51e5910) at xterm.c:9523
> #34 0x00007f7fee9a854b in _XError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
> #35 0x00007f7fee9a55e7 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
> #36 0x00007f7fee9a6687 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
> #37 0x00007f7fec2fd6f9 in ?? () from /usr/lib/x86_64-linux-gnu/libXrandr.so.2
> #38 0x0000000000568c78 in x_get_monitor_attributes_xrandr (dpyinfo=0xe79020)
>     at xfns.c:4266
> #39 0x000000000056905e in x_get_monitor_attributes (dpyinfo=0xe79020)
>     at xfns.c:4369
> #40 0x0000000000569127 in Fx_display_monitor_attributes_list (terminal=...)
>     at xfns.c:4515
> #41 0x000000000056c65f in compute_tip_xy (f=0x61b5260, parms=..., dx=...,
>     dy=..., width=463, height=22, root_x=0x7fffa51e5e80, root_y=0x7fffa51e5e84)
>     at xfns.c:5707
> #42 0x000000000056da31 in Fx_show_tip (string=..., frame=..., parms=...,
>     timeout=..., dx=..., dy=...) at xfns.c:6055

OK, the error happens when Emacs attempts to display a tooltip.  Is it
correct that you cannot show a tooltip at all without crashing Emacs?

As to why, we need help from X experts.  The immediate reason is the
call to x_get_monitor_attributes_xrandr.  Ken, can you take a look?
Why would that call trigger an X error?