← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 278261] Re: two xscreens -> gnome panel crashes

 

I believe I've managed to identify the issue here. It is dependent on my
having correctly navigated the register variable identification. Gdb is
supposed to report which register the variable is stored in using "info
address dpy" but this reports "Symbol "dpy" is a variable with multiple
locations" - not exactly helpful.

I then looked at all the registers (info registers) and saw that rbx and
rdi contained the same value. I took a leap of faith and assumed this
was the dpy pointer. Examining the structure there the values seem to
make sense in the context of a Display pointer (which is a typedef of
the true  _XDisplay).

The breakpoint was triggered after trying to open a program via a custom
launcher on screen 1 (DISPLAY=:0.1).

In XDefineCursor(Display dpy, Window w, Cursor c) the values in the dpy
structure show:

(gdb) print ((Display *)$rbx)->proto_major_version
$14 = 11
(gdb) print ((Display *)$rbx)->proto_minor_version
$15 = 0
(gdb) print ((Display *)$rbx)->vendor
$16 = 0x204cbc0 "The X.Org Foundation"

(gdb) print ((Display *)$rbx)->nscreens
$11 = 2
(gdb) print ((Display *)$rbx)->display_name
$12 = 0x2032c50 ":0.0"
(gdb) print ((Display *)$rbx)->default_screen
$13 = 0

Notice that "display_name" is ":0.0" when it should be ":0.1".

This suggests that the GDK_WINDOW_XDISPLAY and subsidiary macros in the
GTK package are not delivering the correct result.

Because the issue is limited to custom launchers on display :0.1 it
looks likely the problem is higher up the call stack; most likely in
gnome-panel itself.

-- 
two xscreens -> gnome panel crashes
https://bugs.launchpad.net/bugs/278261
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to libxcb in ubuntu.