Bug#844954: libgtk-3-0: segfault when connecting from old X
Adam Borowski
kilobyte at angband.pl
Sat Nov 19 07:18:44 UTC 2016
Package: libgtk-3-0
Version: 3.22.3-2
Severity: important
Any attempts to run a GTK3 program when connected remotely from old X make
the program segfault on start. Anything GTK2, xlogo, etc, do work as
normal. The segfault doesn't seem to be arch-dependant, reproduced it on
amd64 and armhf.
I've tried a bunch of programs, all crash. Attached backtrace is from 'eom'.
Meow!
-- System Information:
Debian Release: stretch/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (150, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.8.8+ (SMP w/6 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages libgtk-3-0 depends on:
ii adwaita-icon-theme 3.22.0-1
ii hicolor-icon-theme 0.15-1
ii libatk-bridge2.0-0 2.22.0-1
ii libatk1.0-0 2.22.0-1
ii libc6 2.24-5
ii libcairo-gobject2 1.14.6-1.1
ii libcairo2 1.14.6-1.1
ii libcolord2 1.3.3-2
ii libcups2 2.2.1-2
ii libepoxy0 1.3.1-1
ii libfontconfig1 2.11.0-6.7
ii libfreetype6 2.6.3-3+b1
ii libgdk-pixbuf2.0-0 2.36.0-1
ii libglib2.0-0 2.50.2-1
ii libgtk-3-common 3.22.3-2
ii libjson-glib-1.0-0 1.2.2-1
ii libpango-1.0-0 1.40.3-3
ii libpangocairo-1.0-0 1.40.3-3
ii libpangoft2-1.0-0 1.40.3-3
ii librest-0.7-0 0.8.0-2
ii libsoup2.4-1 2.56.0-1
ii libwayland-client0 1.11.0-2
ii libwayland-cursor0 1.11.0-2
ii libwayland-egl1-mesa [libwayland-egl1] 12.0.4-2
ii libx11-6 2:1.6.3-1
ii libxcomposite1 1:0.4.4-1
ii libxcursor1 1:1.1.14-1+b1
ii libxdamage1 1:1.1.4-2+b1
ii libxext6 2:1.3.3-1
ii libxfixes3 1:5.0.2-1
ii libxi6 2:1.7.6-1.1
ii libxinerama1 2:1.1.3-1+b1
ii libxkbcommon0 0.6.1-1
ii libxml2 2.9.4+dfsg1-2.1
ii libxrandr2 2:1.5.0-1
ii shared-mime-info 1.7-1
Versions of packages libgtk-3-0 recommends:
ii libgtk-3-bin 3.22.3-2
Versions of packages libgtk-3-0 suggests:
pn gvfs <none>
ii librsvg2-common 2.40.16-1
-- no debconf information
-------------- next part --------------
GNU gdb (Debian 7.11.1-2+b1) 7.11.1
Copyright (C) 2016 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 "x86_64-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"...
Reading symbols from eom...Reading symbols from /usr/lib/debug/.build-id/95/865258ef7f9a9be0cfe314b2fbcf6d317b3027.debug...done.
done.
(gdb) run
Starting program: /usr/bin/eom
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
XIFreeDeviceInfo (info=info at entry=0x0) at ../../src/XIQueryDevice.c:118
(gdb) bt full
#0 0x00007ffff1f735dc in XIFreeDeviceInfo (info=info at entry=0x0)
at ../../src/XIQueryDevice.c:118
ptr = 0x0
#1 0x00007ffff69d9d1a in gdk_x11_device_manager_xi2_constructed (object=0x5555557da0a0 [GdkX11DeviceManagerXI2]) at ././gdk/x11/gdkdevicemanager-xi2.c:727
device_manager = 0x5555557da0a0 [GdkX11DeviceManagerXI2]
display = 0x5555558050e0 [GdkX11Display]
screen = <optimized out>
masters = 0x5555558534c0
slaves = 0x555555853520
xdisplay = <optimized out>
info = 0x0
dev = <optimized out>
ndevices = -1
i = <optimized out>
event_mask =
{deviceid = 4, mask_len = 0, mask = 0x7fffffffdc80 "\030"}
mask = "\000"
__func__ = "gdk_x11_device_manager_xi2_constructed"
#2 0x00007ffff3bca777 in g_object_new_internal (class=class at entry=0x555555857710, params=params at entry=0x7fffffffddc0, n_params=n_params at entry=4)
at ././gobject/gobject.c:1823
nqueue = 0x5555557d9380
object = 0x5555557da0a0 [GdkX11DeviceManagerXI2]
__func__ = "g_object_new_internal"
#3 0x00007ffff3bcc10e in g_object_new_valist (object_type=object_type at entry=93824995389216, first_property_name=first_property_name at entry=0x7ffff6a1dc45 "display", var_args=var_args at entry=0x7fffffffdf10) at ././gobject/gobject.c:2042
stack_params =
{{pspec = 0x5555557f6340 [GParamObject], value = 0x7fffffffdd10}, {pspec = 0x55555580aac0 [GParamInt], value = 0x7fffffffdce0}, {pspec = 0x55555580ab40 [GParamInt], value = 0x7fffffffdcb0}, {pspec = 0x55555580abc0 [GParamInt], value = 0x7fffffffdc80}, {pspec = 0x555555856e10, value = 0x7ffff2e43a0a <__libc_calloc+730>}, {pspec = 0x50, value = 0x5555557d7420}, {pspec = 0x0, value = 0x7fffffffdf80}, {pspec = 0x0, value = 0x7ffff38f0e61 <g_malloc0+33>}, {pspec = 0x555555856f20, value = 0x7ffff3be2b03 <type_data_make_W+147>}, {pspec = 0x1, value = 0x555555856f20}, {pspec = 0x7ffff6a38f92, value = 0x7fffffffdf80}, {pspec = 0x555555856f20, value = 0x7ffff6a38f92}, {pspec = 0x7fffffffdf80, value = 0x7fff00000002}, {pspec = 0x18, value = 0x40}, {pspec = 0x0, value = 0x3000000002}, {pspec = 0x0, value = 0x0}}
params = 0x7fffffffddc0
name = <optimized out>
n_params = 4
class = <optimized out>
unref_class = <optimized out>
object = <optimized out>
__func__ = "g_object_new_valist"
#4 0x00007ffff3bcc3b1 in g_object_new (object_type=93824995389216, first_property_name=first_property_name at entry=0x7ffff6a1dc45 "display")
at ././gobject/gobject.c:1626
var_args =
{{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fffffffe020, reg_save_area = 0x7fffffffdf30}}
__func__ = "g_object_new"
#5 0x00007ffff69d86ae in _gdk_x11_device_manager_new (display=display at entry=0x5555558050e0 [GdkX11Display]) at ././gdk/x11/gdkdevicemanager-x11.c:60
device_manager_xi2 = <optimized out>
major = 2
minor = 3
opcode = 138
firstevent = 70
firsterror = 134
xdisplay = <optimized out>
__func__ = "_gdk_x11_device_manager_new"
#6 0x00007ffff69dd72f in _gdk_x11_display_open (display_name=<optimized out>)
at ././gdk/x11/gdkdisplay-x11.c:1423
xdisplay = <optimized out>
display = 0x5555558050e0 [GdkX11Display]
display_x11 = 0x5555558050e0 [GdkX11Display]
attr =
{title = 0x3 <error: Cannot access memory at address 0x3>, event_mask = 1434292896, x = 21845, y = 1434288144, width = 21845, height = 1, wclass = GDK_INPUT_OUTPUT, visual = 0x2, window_type = 4137802855, cursor = 0x1, wmclass_name = 0x7ffff2dfd132 <__GI_getenv+194> "\205\300u\332B\200<+=u\323J\215\\+\001\353\222\017\037@", wmclass_class = 0x0, override_redirect = 0, type_hint = GDK_WINDOW_TYPE_HINT_NORMAL}
argc = <optimized out>
argv = {0x5555557f6801 "A\177UUU"}
class_hint = <optimized out>
pid = 1
ignore = 148
maj = 0
min = 0
__func__ = "_gdk_x11_display_open"
#7 0x00007ffff69b2155 in gdk_display_manager_open_display (manager=<optimized out>, name=0x0) at ././gdk/gdkdisplaymanager.c:472
backend = 0x5555557d0f60 "*"
any = 1
backend_list = <optimized out>
display = 0x0
backends = 0x5555557d8010
i = <optimized out>
allow_any = 1
__func__ = "gdk_display_manager_open_display"
#8 0x00007ffff6ea1746 in post_parse_hook (context=<optimized out>, group=<optimized out>, data=0x5555557f2b20, error=0x7fffffffe298)
at ././gtk/gtkmain.c:801
info = 0x5555557f2b20
#9 0x00007ffff38f7b08 in g_option_context_parse (context=<optimized out>, argc=0x7fffffffe28c, argv=<optimized out>, error=<optimized out>)
at ././glib/goption.c:2165
group = <optimized out>
i = 1
j = <optimized out>
k = <optimized out>
list = 0x5555557f3200
#10 0x00005555555727ee in main (argc=<optimized out>, argv=<optimized out>)
at main.c:215
error = 0x0
ctx = 0x5555557ef2f0
provider = <optimized out>
(gdb) q
A debugging session is active.
Inferior 1 [process 3632] will be killed.
Quit anyway? (y or n) y
More information about the pkg-gnome-maintainers
mailing list