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