After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 85715 - Closing displays
Closing displays
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Backend: X11
3.0.x
Other Linux
: Normal normal
: Medium API
Assigned To: gtk-bugs
gtk-bugs
: 107217 113542 126579 148812 161558 304608 335083 645176 683815 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2002-06-17 22:03 UTC by Owen Taylor
Modified: 2019-06-18 12:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
fix a number of close issues / crashers. (3.79 KB, patch)
2003-12-16 16:14 UTC, Michael Meeks
none Details | Review
Patch that fixes crashes and cleans up some more stuff (6.20 KB, patch)
2005-04-29 13:12 UTC, Michael Natterer
none Details | Review
Updated patch (7.94 KB, patch)
2005-05-02 16:06 UTC, Michael Natterer
none Details | Review
Next update (10.46 KB, patch)
2005-05-02 17:25 UTC, Michael Natterer
none Details | Review
Merged patch (11.58 KB, patch)
2005-05-04 12:07 UTC, Michael Natterer
none Details | Review
Next update (12.16 KB, patch)
2005-05-06 22:14 UTC, Michael Natterer
none Details | Review
Nect one (13.18 KB, patch)
2005-05-06 22:39 UTC, Michael Natterer
none Details | Review
Minimal patch against gtk 2.6.7 with which Mozilla doesnt segfault (2.61 KB, patch)
2005-05-30 06:04 UTC, Denis Vlasenko
none Details | Review
patch ported to HEAD (19.80 KB, patch)
2005-10-31 14:48 UTC, Michael Natterer
committed Details | Review
Errors and backtrace from migrating gedit to a new display (18.59 KB, text/plain)
2005-11-14 12:21 UTC, Bernard Blackham
  Details
backtrace from the first assertion in moving gedit (7.89 KB, text/plain)
2005-11-15 15:19 UTC, Bernard Blackham
  Details
Fix display migration of GtkMenuToolButton (1.84 KB, patch)
2006-01-04 10:21 UTC, Michael Natterer
committed Details | Review
Backtrace (too long to fit in comment) (11.63 KB, application/x-xz)
2014-02-15 12:26 UTC, Maciej (Matthew) Piechotka
  Details

Description Owen Taylor 2002-06-17 22:03:00 UTC
http://mail.gnome.org/archives/gtk-devel-list/2002-June/msg00129.html

Describes a plan for adding the ability to close displays to
GTK+-2.2. Some additional particular items that need fixing:

 - gdk_x11_display_finalize() needs some careful going
   over; there is a lot of stuff it leaves un-freed. For
   instance the ClientFilter objects in the client_filters
   list.

 - gdk_x11_screen_finalize() also needs a lot of attention.

 - gdk_display_close() just unrefs currently; it *should*
   unref (if the display hasn't already been closed) but 
   has to do a lot more as well.

 - A lot of caches need to be freed when the display is dispposed;
   along with ones mentioned in the mail message, a few others
   are the scratch_image information in gdkimage.c and 
   the pixmap catch in gtktree.c. (Although gtktree.c could
   just be left, since it's a GTK_ENABLE_BROKEN widget.)
Comment 1 Owen Taylor 2002-11-08 22:41:47 UTC
The API stuff should be done now, though there still is a lot
of work in the implementation details.
Comment 2 Owen Taylor 2002-12-15 23:46:41 UTC
Rest of the details will have to wait for 2.4.
Comment 3 Owen Taylor 2003-02-27 20:27:30 UTC
*** Bug 107217 has been marked as a duplicate of this bug. ***
Comment 4 Ethan Blanton 2003-02-28 19:46:37 UTC
A quick patch that documents this:

http://web.ics.purdue.edu/~eblanton/gtk/gtk+-2.2.1-gdk_display_close-doc.diff
Comment 5 Owen Taylor 2003-05-22 18:06:21 UTC
*** Bug 113542 has been marked as a duplicate of this bug. ***
Comment 6 Matthias Clasen 2003-11-13 10:27:34 UTC
*** Bug 126579 has been marked as a duplicate of this bug. ***
Comment 7 Matthias Clasen 2003-11-13 10:28:11 UTC
bug 126579 tracks down one particular crash when closing displays.
Comment 8 Michael Meeks 2003-12-16 16:14:40 UTC
Created attachment 22483 [details] [review]
fix a number of close issues / crashers.
Comment 9 Owen Taylor 2004-03-12 19:52:14 UTC
Don't think there is a huge value in fixing a few things
piecemeal, so I'd rather apply this patch only on the
2.6 devel branch when that opens.
Comment 10 Matthias Clasen 2004-06-26 06:03:33 UTC
So this can go in HEAD now, I guess.
Comment 11 Owen Taylor 2004-07-30 14:50:50 UTC
*** Bug 148812 has been marked as a duplicate of this bug. ***
Comment 12 Matthias Clasen 2004-12-18 03:59:15 UTC
*** Bug 161558 has been marked as a duplicate of this bug. ***
Comment 13 Michael Natterer 2005-04-29 13:12:53 UTC
Created attachment 45825 [details] [review]
Patch that fixes crashes and cleans up some more stuff

Attached patch does everything the patch in comment #8 does.

Additionally it frees more stuff that was previously leaked.
And it needs review, esp. the part where I hack badly to
be able to destroy the root window.
Comment 14 Michael Natterer 2005-05-02 16:06:57 UTC
Created attachment 45943 [details] [review]
Updated patch

Updated patch adds finalization of the closed screen's GdkVisuals.
Comment 15 Michael Natterer 2005-05-02 17:25:57 UTC
Created attachment 45948 [details] [review]
Next update

Adds finalization of GdkKeymapX11
Comment 16 Matthias Clasen 2005-05-02 18:06:38 UTC
Here is my own patch from last December. I haven't done any comparison to your
patch yet. From what I remember, my patch was incomplete wrt to actual closing
of displays, but it had the necessary pieces for a protocol to let e.g. the wm
initiate migration of windows. This, together with a cmdline utility for
starting a migration, can be found at 

http://people.redhat.com/mclasen/migration
Comment 17 Michael Natterer 2005-05-04 12:07:40 UTC
Created attachment 46014 [details] [review]
Merged patch

Attached patch merges in some changes from Matthias' patch, namely
proper root window destruction and some parts that i considered nicer
in Matthias' patch than in my own. Didn't merge any of the display
migration changes.

Merged patch should be free from any hacks now that root window
destruction is de-uglyfied.
Comment 18 Matthias Clasen 2005-05-06 19:39:35 UTC
Hmm, the gtk-demo change display example seems to still crash for me,
with the patch. I haven't looked in detail yet.
Comment 19 Michael Natterer 2005-05-06 22:14:50 UTC
Created attachment 46108 [details] [review]
Next update

on_renderer_display_closed() in gdkpango.c had the wrong signature.

gtk-demo crashes on XFreeGC() in gdk_gc_x11_finalize() now. I tried
to debug that with some simple g_print(), but I don't have the
setup to debug inside xlib right now.
Comment 20 Michael Natterer 2005-05-06 22:39:21 UTC
Created attachment 46110 [details] [review]
Nect one

Unsets xdisplay, screen etc members *after* chaining up in
gdk_screen_x11_dispose(), so x11 implementations of
members destroyed by the parent class (namely GdkGCs) have
a chance to call xlib functions. The update also adds some
"member = NULL" lines in gdk_screen_dispose(), they would
probably have crashed next :)

In gtk-demo, I can close a display now after moving a window
there and back.
Comment 21 Matthias Clasen 2005-05-18 06:17:12 UTC
*** Bug 304608 has been marked as a duplicate of this bug. ***
Comment 22 Denis Vlasenko 2005-05-18 06:29:56 UTC
As per root problem which caused me to debug and submit bug 304608:
gtk_init seems to be a preferred way to initialize gtk, but
it was not clear to me how to shut gtk down so that all
(modulo bugs) resources are freed prior to exit?

I needed that for Mozilla. I ended up with a hack. See
https://bugzilla.mozilla.org/show_bug.cgi?id=293007:

// gtk_init() -> gtk_init_check():
// return gdk_display_open_default_libgtk_only () != NULL;
// thus we lost GdkDisplay* inside gtk_init!

Due to Xft font caching more than megabyte was not freed because of this.

Neither app examples nor source around gtk_init() implementation
have any hints.
Comment 23 Denis Vlasenko 2005-05-19 06:06:43 UTC
Summary of problems with 2.6.7 when I try to close last GdkDisplay
(see Mozilla's bugzilla for details):

gdkdisplay-x11.c:
  gdk_display_x11_dispose(): crash if display_x11->xdisplay==NULL
  gdk_display_x11_finalize(): same
  _gdk_windowing_set_default_display(display): does not handle NULL parameter
        (this happens on 'close last GdkDisplay' codepath)
gdkgc-x11.c:
  gdk_gc_x11_finalize(): if user has closed all GdkDisplays, it calls
        XFreeGC(NULL,...) - which crashes
Comment 24 Michael Natterer 2005-05-19 08:12:53 UTC
All these issues and more are addressed in the attached patch #46110.
Comment 25 Denis Vlasenko 2005-05-30 06:03:13 UTC
I am trying to close default GdkDisplay on exit
from Mozilla by adding
    gdk_display_close(gdk_display_get_default());
just before end of main()
(see https://bugzilla.mozilla.org/show_bug.cgi?id=293007)

Stock gtk 2.6.7 segfaults.
gtk 2.6.7 patched with patch #4611 segfaults.
Looks like use-after-free.
Valgrind trace (abridged):

Addrcheck, a fine-grained address checker for x86-linux.
Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
Using valgrind-2.4.0, a program supervision framework for x86-linux.
Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.

My PID = 26929, parent PID = 26927.  Prog and args are:
   /usr/app/mozilla-2005-05-08/mozilla-bin
For more details, rerun with: -v

Invalid read of size 4
   at 0x34824CB5: g_hash_table_lookup_node (in libglib-2.0.so.0.600.4)
   by 0x34825030: g_hash_table_remove (in libglib-2.0.so.0.600.4)
   by 0x346FA079: _gdk_xid_table_remove (in libgdk-x11-2.0.so.0.600.7)
   by 0x346EB158: gdk_pixmap_impl_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346BC839: gdk_pixmap_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x344838CC: free_gc_drawable (in libgtk-x11-2.0.so.0.600.7)
   by 0x348257DB: g_hash_nodes_destroy (in libglib-2.0.so.0.600.4)
   by 0x34824C0B: g_hash_table_destroy (in libglib-2.0.so.0.600.4)
   by 0x3481E50D: g_datalist_clear_i (in libglib-2.0.so.0.600.4)
   by 0x3481E3FA: g_datalist_clear (in libglib-2.0.so.0.600.4)
   by 0x347C8189: g_object_finalize (in libgobject-2.0.so.0.600.4)
   by 0x346ED2DD: gdk_screen_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346D1A4B: gdk_display_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346AFDE1: gdk_display_close (in libgdk-x11-2.0.so.0.600.7)
   by 0x804E0D6: main (in mozilla-bin)
 Address 0x34CA06A8 is 8 bytes inside a block of size 28 free'd
   at 0x341467B9: free (vg_replace_malloc.c:152)
   by 0x3483908B: g_free (in libglib-2.0.so.0.600.4)
   by 0x34824C3A: g_hash_table_destroy (in libglib-2.0.so.0.600.4)
   by 0x346D19A8: gdk_display_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346AFDE1: gdk_display_close (in libgdk-x11-2.0.so.0.600.7)
   by 0x804E0D6: main (in mozilla-bin)

Invalid read of size 4
   at 0x34824CBB: g_hash_table_lookup_node (in libglib-2.0.so.0.600.4)
   by 0x34825030: g_hash_table_remove (in libglib-2.0.so.0.600.4)
   by 0x346FA079: _gdk_xid_table_remove (in libgdk-x11-2.0.so.0.600.7)
   by 0x346EB158: gdk_pixmap_impl_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346BC839: gdk_pixmap_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x344838CC: free_gc_drawable (in libgtk-x11-2.0.so.0.600.7)
   by 0x348257DB: g_hash_nodes_destroy (in libglib-2.0.so.0.600.4)
   by 0x34824C0B: g_hash_table_destroy (in libglib-2.0.so.0.600.4)
   by 0x3481E50D: g_datalist_clear_i (in libglib-2.0.so.0.600.4)
   by 0x3481E3FA: g_datalist_clear (in libglib-2.0.so.0.600.4)
   by 0x347C8189: g_object_finalize (in libgobject-2.0.so.0.600.4)
   by 0x346ED2DD: gdk_screen_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346D1A4B: gdk_display_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346AFDE1: gdk_display_close (in libgdk-x11-2.0.so.0.600.7)
   by 0x804E0D6: main (in mozilla-bin)
 Address 0x34CA06AC is 12 bytes inside a block of size 28 free'd
   at 0x341467B9: free (vg_replace_malloc.c:152)
   by 0x3483908B: g_free (in libglib-2.0.so.0.600.4)
   by 0x34824C3A: g_hash_table_destroy (in libglib-2.0.so.0.600.4)
   by 0x346D19A8: gdk_display_x11_finalize (in libgdk-x11-2.0.so.0.600.7)
   by 0x347C822B: g_object_last_unref (in libgobject-2.0.so.0.600.4)
   by 0x347CB42C: g_object_unref (in libgobject-2.0.so.0.600.4)
   by 0x346AFDE1: gdk_display_close (in libgdk-x11-2.0.so.0.600.7)
   by 0x804E0D6: main (in mozilla-bin)
...
Comment 26 Denis Vlasenko 2005-05-30 06:04:30 UTC
Created attachment 47018 [details] [review]
Minimal patch against gtk 2.6.7 with which Mozilla doesnt segfault
Comment 27 Michael Natterer 2005-10-31 14:48:26 UTC
Created attachment 54135 [details] [review]
patch ported to HEAD

Here's an updates patch that could go into HEAD. Changes from previous
version are:

- gdk_display_dispose() sets the most recently opened display as the
  new default one, instead of always setting the default to NULL
- fixed display closing crashs/warnings in gtkclipboard.c and
  gtktextdisplay.c

With the patch applied, the following works fine in gtk-demo:

- open :2.0
- move gtk-demo window there
- close :0.0
- re-open :0.0
- move gtk-demo window back
- close :2.0
- quit normally
Comment 28 Bernard Blackham 2005-11-08 17:42:03 UTC
Thanks Michael! gtkdemo works here also.

I get a segfault migrating Ethereal to another display. It segfaults only if the
original display is closed. Ethereal 0.10.12 (plus a few lines to migrate with
gtk_window_set_screen), with GTK+ 2.8.6 + patch from Attachment #54135 [details].
Backtrace is below. Let me know if I can provide any more information.

  • #0 IA__g_hash_table_remove
    at ghash.c line 201
  • #1 _gdk_xid_table_remove
    at gdkxid.c line 69
  • #2 gdk_pixmap_impl_x11_dispose
    at gdkpixmap-x11.c line 139
  • #3 IA__g_object_unref
    at gobject.c line 1674
  • #4 gdk_pixmap_finalize
    at gdkpixmap.c line 237
  • #5 IA__g_object_unref
    at gobject.c line 1702
  • #6 free_gc_drawable
    at gtkgc.c line 105
  • #7 g_hash_nodes_destroy
    at ghash.c line 748
  • #8 IA__g_hash_table_destroy
    at ghash.c line 179
  • #9 g_datalist_clear_i
    at gdataset.c line 125
  • #10 IA__g_datalist_clear
    at gdataset.c line 150
  • #11 g_object_finalize
    at gobject.c line 534
  • #12 gdk_screen_finalize
    at gdkscreen.c line 141
  • #13 gdk_screen_x11_finalize
    at gdkscreen-x11.c line 343
  • #14 IA__g_object_unref
    at gobject.c line 1702
  • #15 gdk_display_x11_finalize
    at gdkdisplay-x11.c line 782
  • #16 IA__g_object_unref
    at gobject.c line 1702
  • #17 IA__gdk_display_close
    at gdkdisplay.c line 217
  • #18 switch_displays
  • #19 gtk_item_factory_callback_marshal
    at gtkitemfactory.c line 241
  • #20 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #21 IA__g_closure_invoke
    at gclosure.c line 492
  • #22 signal_emit_unlocked_R
    at gsignal.c line 2485
  • #23 IA__g_signal_emit_valist
    at gsignal.c line 2244
  • #24 IA__g_signal_emit
    at gsignal.c line 2288
  • #25 IA__gtk_widget_activate
    at gtkwidget.c line 3766
  • #26 IA__gtk_menu_shell_activate_item
    at gtkmenushell.c line 1057
  • #27 gtk_menu_shell_button_release
    at gtkmenushell.c line 663
  • #28 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #29 g_type_class_meta_marshal
    at gclosure.c line 569
  • #30 IA__g_closure_invoke
    at gclosure.c line 492
  • #31 signal_emit_unlocked_R
    at gsignal.c line 2523
  • #32 IA__g_signal_emit_valist
    at gsignal.c line 2254
  • #33 IA__g_signal_emit
    at gsignal.c line 2288
  • #34 gtk_widget_event_internal
    at gtkwidget.c line 3735
  • #35 IA__gtk_propagate_event
    at gtkmain.c line 2169
  • #36 IA__gtk_main_do_event
    at gtkmain.c line 1406
  • #37 gdk_event_dispatch
    at gdkevents-x11.c line 2294
  • #38 g_main_dispatch
    at gmain.c line 1934
  • #39 IA__g_main_context_dispatch
    at gmain.c line 2484
  • #40 g_main_context_iterate
    at gmain.c line 2565
  • #41 IA__g_main_loop_run
    at gmain.c line 2769
  • #42 IA__gtk_main
    at gtkmain.c line 985
  • #43 main

Comment 29 Michael Natterer 2005-11-08 20:43:15 UTC
Yea, I bet there are still several ways to crash it by changing/closing
the old display. See the stack trace in comment #25. It definitely also
leaks some stuff.

However I'd prefer to fix this stuff on top of the patch that works
for gtk-demo, it has grown quite large already and doesn't become
easier to read when adding more fixes :)
Comment 30 Tim Janik 2005-11-09 13:05:03 UTC
please commit the patch mitch, it fixes a load of issues and looks very good to
me. you're completely right, we can work out other segfaults/issues on top of
the set of fixes you already.
Comment 31 Matthias Clasen 2005-11-10 05:55:48 UTC
Agreed, looks like a step in the right direction. 
Lets commit it and work from there on the remaining issues.
Comment 32 Michael Natterer 2005-11-10 12:11:06 UTC
Ok, comitted:

2005-11-10  Michael Natterer  <mitch@imendio.com>

	Applied patch from maemo-gtk that addresses many issues wrt
	display migration and display closing (bug #85715).

	* gdk/gdkdisplay.c (gdk_display_dispose): don't just set the
	default display to NULL when it's closed. Instead set the most
	recently opened display as new default (if one exists).

	* gdk/gdkpango.c (on_renderer_display_closed): fixed signature
	of this callback.

	* gdk/gdkscreen.c (gdk_screen_dispose): check if the GCs still
	exist before unrefing them.

	* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): if the screen
	is closed, allow destruction of the root window.

	* gdk/x11/gdkdisplay-x11.c: moved some stuff from finalize() to
	dispose(), free stuff that was leaked before.

	* gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen): check if
	the xsettings_client still exists before destroying it.

	* gdk/x11/gdkkeys-x11.c: added finalization and free the allocated
	X resources.

	* gdk/x11/gdkpixmap-x11.c: moved stuff from finalize() to new
	dispose() implementation.

	* gdk/x11/gdkscreen-x11.c: moved stuff from finalize() to
	dispose() and check if it still exists before unrefing it. Set
	their pointers to NULL/None *after* upchaining in dispose(),
	because X11 implementations of members of the parent class still
	need them for their own destruction.

	* gdk/x11/gdkvisual-x11.c: removed finalize() implementation which
	was g_error()ing when finalizing a visual.

	* gtk/gtkclipboard.c (gtk_clipboard_finalize): don't use
	get_clipboard_widget() because it would create the widget if it
	doesn't exist. Use g_object_get_data() directly instead.

	* gtk/gtktextdisplay.c (on_renderer_display_closed): fixed signature
	of this callback.
Comment 33 Michael Natterer 2005-11-10 12:11:52 UTC
Argl, accidentially set to NEEDINFO, reopening.
Comment 34 Bernard Blackham 2005-11-14 12:20:28 UTC
Ethereal still fails with a BadPixmap error from X, even without closing the
display.

Next test was gedit. It works fine if the display is not closed. If it is
however, I get the crash in the attached file.
Comment 35 Bernard Blackham 2005-11-14 12:21:33 UTC
Created attachment 54727 [details]
Errors and backtrace from migrating gedit to a new display
Comment 36 Michael Natterer 2005-11-14 12:44:04 UTC
Looks the program is screwed long before the crash happens. Would be
interesting to see a stack trace of the first critical warning.
Comment 37 Michael Natterer 2005-11-15 14:43:52 UTC
This commit should fix the crashers from comment #25 and comment #28:

2005-11-15  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): destroy
	display->xid_ht as late as possible (right before XCloseDisplay)
	because it still needs to be around when the display's screens are
	finalized. (#85715)
Comment 38 Bernard Blackham 2005-11-15 15:19:14 UTC
Created attachment 54782 [details]
backtrace from the first assertion in moving gedit

Triggered a SIGSTOP on the assertion in g_log and this is the backtrace. The
pango errors from the previous log appear if text is typed in gedit before
closing the screen.
Comment 39 Michael Natterer 2005-11-16 13:12:50 UTC
More stuff cleaned up correctly on display close:

2005-11-16  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkevents-x11.c (_gdk_events_uninit): new internal
	function which destroys the display's event source. Also removes
	the source from the global display_sources list and unrefs it.

	* gdk/x11/gdkprivate-x11.h: declare the function.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_dispose): call it
	instead of half-destroying the source here.
Comment 40 Michael Natterer 2006-01-04 10:21:50 UTC
Created attachment 56758 [details] [review]
Fix display migration of GtkMenuToolButton

GtkMenuToolButton was not using gtk_menu_attach_to_widget()
and gtk_menu_detach(), resulting in broken behavior upon
screen/display change. Attached patch fixes this.
Comment 41 Tim Janik 2006-01-04 10:36:15 UTC
thanks mitch, the GtkMenuToolButton changes look good to me, please apply.
Comment 42 Michael Natterer 2006-01-04 11:25:57 UTC
Applied to HEAD:

2006-01-04  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenutoolbutton.c
	(gtk_menu_tool_button_set_menu)
	(gtk_menu_tool_button_destroy): use gtk_menu_attach_to_widget()
	and gtk_menu_detach() instead of reffing/unreffing the menu
	manually. Also fixes brokenness on screen change (bug #85715).
Comment 43 Michael Natterer 2006-01-10 16:48:00 UTC
One more small fix:

2006-01-10  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkpango.c (on_renderer_display_closed): disconnect from the
	right object ("closed" is emitted by the display, not the screen).
	(bug #85715)
Comment 44 Michael Natterer 2006-01-12 13:51:23 UTC
Get rid of scratch GdkImages when the display closes:

2006-01-12  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkimage.c (scratch_image_info_for_depth): connect to the
	display's "closed" signal and free the cached scratch images upon
	display closing (bug #85715).
Comment 45 Michael Natterer 2006-01-23 10:46:53 UTC
Another one:

2006-01-23  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcolorbutton.c: move destruction of the private GdkGC
	from finalize() to unrealize(). Fixes BadMatch on display change
	(bug #85715).
Comment 46 Matthias Clasen 2006-03-15 20:22:56 UTC
Mitch, what is the status of this ? Any work left ?
Comment 47 Michael Natterer 2006-03-19 11:22:37 UTC
*** Bug 335083 has been marked as a duplicate of this bug. ***
Comment 48 Michael Natterer 2006-03-21 10:20:58 UTC
I'm not aware of anything that's still broken (even tho there
probably is), but I left the bug open because new issues were
appearing regularly.

However, properly closing the display needs heavy support
from the app. It must move away or close all its windows
and other display related resources, then it must call
gdk_display_close(). Only then it's safe to actually close
the display. That's not exactly "toolkit support" for display
closing, it's rather the tookit supporting the app to do it.

It's also still the app that needs explicit support for moving
windows between screens/displays.

Do we want support for randomly closing the display, without the
app crashing? That would require implementing some if the stuff
from Owen's initial proposal, like marking all its resources
"dead" and silently doing nothing with them until the app came
around destroying them or moving them to another display.

What we probably want is toolkit support for moving any window
to other screens without extensive app support. Adding an
API like the proposed gtk_widget_set_can_change_screen()
sounds like a reasonable way.

Do we want to collect all these issues in the same bug report?
This one has grown rather large in the meantime :)
Comment 49 Matthias Clasen 2006-06-19 20:07:29 UTC
Moving off 2.10 Freeze; but as you say, it may be better to close this one and open new ones as required.
Comment 50 Chris Wilson 2006-08-10 23:16:10 UTC
I've a patch [overstatement... a mass of changes admist many others] which handles the miscellany by making any object that uses a screen take a ref (such as toplevels, styles, gcs, drawables, etc) and the screen take a ref on the display. The screen/display dispose/finalize are rebalanced to keep the connection (and associated bookkeeping) usuable until finalize. The display->screen->display ref cycle is broken by the explicit run_dispose from gdk_display_close and then natural attrition causes the display to shutdown with its last user. This appears to handle the random closure case, although I've not checked how honoured display->closed truely is.
Comment 51 Andrew Cowie 2007-08-05 07:52:34 UTC
I think I just ran into this (or the issue it has become in #48 and #50). My initial telemetry is that nothing took a ref on the GdkScreen (or GdkDisplay, it's all a bit circular) in the first place, and so when I go and do something innocent like get a GdkScreen with gtk_window_get_screen(), ref it, use it, and then unref it when I'm done, it appears to drop ref count to zero, and, gaboom.

Gdk-ERROR **: attempted to destroy root window
aborting...

I'll open a new bug if I can confirm any of this with an isolated test case.

AfC
Comment 52 Michael Natterer 2009-02-19 15:22:52 UTC
Years later re comment #51:

Andrew, can you attach some small test code that crashes in that case?
Comment 53 dann 2009-08-08 19:33:07 UTC
(In reply to comment #52)
> Years later re comment #51:
> 
> Andrew, can you attach some small test code that crashes in that case?
> 

Here's a different test case, using the recently released emacs-23.1 (older versions don't support the necessary features):

$ emacs -Q -nw -f server-start

from a different xterm:
$ emacsclient -c -n
this will create a Gtk+ emacs window

use xkill to kill that window

now do again:

$ emacsclient -c -n

this should create a new emacs window, but it does not and a lot of assertions are printed in the original xterm.

This only happens when emacs is configured to use Gtk+  (the default). If emacs is configured with:
./configure --with-x-toolkit=lucid 

this problem does not happen.

This is on an up to date Fedora 11 system, Gtk+ 2.16.1

Comment 54 Ryan 2010-04-11 09:02:22 UTC
For more test cases and backtraces, see https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/543611
Comment 55 Ulrich Müller 2011-07-02 06:49:00 UTC
The bug still exists with GTK+ 3.0.11.
Tested with Emacs from BZR (revision 104859 of trunk).
Comment 56 Stefan Monnier 2012-06-19 17:08:29 UTC
FWIW, I still see the problem with Emacs (using Debian testing's 3.4.2).
Comment 57 Eugen Dedu 2013-10-29 17:56:14 UTC
Any chance to see this bug fixed?
Comment 58 Matthias Clasen 2014-01-25 02:19:47 UTC
*** Bug 645176 has been marked as a duplicate of this bug. ***
Comment 59 Matthias Clasen 2014-01-25 02:20:15 UTC
*** Bug 683815 has been marked as a duplicate of this bug. ***
Comment 60 Pierre-Yves Luyten 2014-02-08 09:35:46 UTC
SIGABRT launching emacs (without any arg)

emacs 24.3
gtk 3.11.5
fedora rawhide

(gdb) bt
  • #0 raise
    from /lib64/libpthread.so.0
  • #1 terminate_due_to_signal
  • #2 emacs_abort
  • #3 x_connection_closed
  • #4 x_error_quitter.isra.17
  • #5 x_error_handler
  • #6 _XError
    from /lib64/libX11.so.6
  • #7 handle_error
    from /lib64/libX11.so.6
  • #8 handle_response
    from /lib64/libX11.so.6
  • #9 _XEventsQueued
    from /lib64/libX11.so.6
  • #10 XFlush
    from /lib64/libX11.so.6
  • #11 _XimProtoDestroyIC
    from /lib64/libX11.so.6
  • #12 XDestroyIC
    from /lib64/libX11.so.6
  • #13 free_frame_xic
  • #14 x_free_frame_resources
  • #15 x_destroy_window
  • #16 delete_frame
  • #17 x_connection_closed
  • #18 x_error_quitter.isra.17
  • #19 x_error_handler
  • #20 _XError
    from /lib64/libX11.so.6
  • #21 handle_error
    from /lib64/libX11.so.6
  • #22 handle_response
    from /lib64/libX11.so.6
  • #23 _XReply
    from /lib64/libX11.so.6
  • #24 _XQueryColors
    from /lib64/libX11.so.6
  • #25 XQueryColors
    from /lib64/libX11.so.6
  • #26 xftfont_get_colors
  • #27 xftfont_prepare_face
  • #28 prepare_face_for_display
  • #29 get_glyph_face_and_encoding
  • #30 fill_glyph_string
  • #31 draw_glyphs
  • #32 x_write_glyphs
  • #33 update_window_line
  • #34 update_window
  • #35 update_window_tree
  • #36 update_frame
  • #37 redisplay_internal
  • #38 echo_area_display
  • #39 message3_nolog
  • #40 message3
  • #41 Fmessage
  • #42 Ffuncall
  • #43 exec_byte_code
  • #44 funcall_lambda
  • #45 Ffuncall
  • #46 call4
  • #47 Fload
  • #48 Ffuncall
  • #49 call1
  • #50 mapcar1
  • #51 Fmapc
  • #52 eval_sub
  • #53 readevalloop
  • #54 Feval_buffer
  • #55 Ffuncall
  • #56 exec_byte_code
  • #57 funcall_lambda
  • #58 Ffuncall
  • #59 call4
  • #60 Fload
  • #61 Ffuncall
  • #62 exec_byte_code
  • #63 Ffuncall
  • #64 exec_byte_code
  • #65 apply_lambda
  • #66 eval_sub
  • #67 Feval
  • #68 internal_condition_case

Comment 61 Maciej (Matthew) Piechotka 2014-02-15 12:26:24 UTC
Created attachment 269195 [details]
Backtrace (too long to fit in comment)

emacs 23.3.1, gtk 3.11.5 with or without any args on start. Output on stderr refers to this bug.
Comment 62 Igor Gnatenko 2014-02-18 08:16:13 UTC
I also can reproduce it w/ emacs and gtk 3.11.5
Comment 63 Ulrich Müller 2014-02-18 09:57:46 UTC
(In reply to comment #61)
(In reply to comment #62)
Comment 64 Ulrich Müller 2014-02-18 10:01:18 UTC
(In reply to comment #61)
(In reply to comment #62)

Please keep in mind that recent Emacs versions shut down before this bug can actually occur. In xterm.c of Emacs 24.3, function x_connection_closed:

#ifdef USE_GTK
      /* A long-standing GTK bug prevents proper disconnect handling
	 (https://bugzilla.gnome.org/show_bug.cgi?id=85715).  Once,
	 the resulting Glib error message loop filled a user's disk.
	 To avoid this, kill Emacs unconditionally on disconnect.  */
      shut_down_emacs (0, Qnil);
      fprintf (stderr, "%s\n\
When compiled with GTK, Emacs cannot recover from X disconnects.\n\
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715\n\
For details, see etc/PROBLEMS.\n",
	       error_msg);
      emacs_abort ();
#endif /* USE_GTK */

So make sure that you have disabled this code block before testing, otherwise your confirmation reports will be worthless.
Comment 65 Pierre-Yves Luyten 2014-02-20 21:53:37 UTC
(In reply to comment #64)
> 
> Please keep in mind that recent Emacs versions shut down before this bug can
> actually occur. In xterm.c of Emacs 24.3 (...)


yes even removing this, emacs_abort() happens somewhere else, but I'm not sure anymore this bugzilla is the right one?

(gdb) bt
  • #0 raise
    from /lib64/libpthread.so.0
  • #1 terminate_due_to_signal
    at emacs.c line 378
  • #2 emacs_abort
    at sysdep.c line 2127
  • #3 x_connection_closed
  • #4 x_error_quitter
    at xterm.c line 7720
  • #5 x_error_handler
    at xterm.c line 7690
  • #6 _XError
    from /lib64/libX11.so.6
  • #7 handle_error
    from /lib64/libX11.so.6
  • #8 handle_response
    from /lib64/libX11.so.6
  • #9 _XEventsQueued
    from /lib64/libX11.so.6
  • #10 XFlush
    from /lib64/libX11.so.6
  • #11 _XimProtoDestroyIC
    from /lib64/libX11.so.6
  • #12 XDestroyIC
    from /lib64/libX11.so.6
  • #13 free_frame_xic
    at xfns.c line 2041
  • #14 x_free_frame_resources
    at xterm.c line 9240
  • #15 x_destroy_window
    at xterm.c line 9332
  • #16 delete_frame

Comment 66 Dominic 2014-03-06 15:03:06 UTC
I am seeing the same problem; setting XLIB_SKIP_ARGB_VISUALS=1 seems to mitigate the problem on startup. However, starting emacs like this, in many situations I get additional SEGFAULTS:

gdk_x11_window_foreign_new_for_display on gdkwindow-x11.c:1238 calls XVisualIDFromVisual with visual=0x0
Comment 67 Dominic 2014-03-06 15:32:33 UTC
Addendum: Me and the reporters here experienced this issue starting with gtk+ 3.11.5. From its changelog: "Theming: GTK+ now uses RGBA visuals by default"
Comment 68 Dominic 2014-03-06 16:11:33 UTC
Actually, GDK_RGBA=0 seems to solve all crashes with >=gtk+-3.11.5 for me.

Can somebody explain what an application needs to compatible with GDK_RGBA=1?
Comment 69 Dominic 2014-03-06 16:25:52 UTC
Looking at the causing commit, there is a link to https://bugzilla.gnome.org/show_bug.cgi?id=630217 . It has a description of the problem and also mentions that the changes have been reverted for gtk+-3.11.6 because of https://bugzilla.gnome.org/show_bug.cgi?id=724067 and https://bugzilla.gnome.org/show_bug.cgi?id=723740 .

Not the bug of this report in any case.
Comment 70 Oleksandr Gavenko 2015-04-07 21:25:32 UTC
I also trapped into this bug indirectly after filling Emacs bug #20263:

I run Emacs on development host under X Window as:

  emacs24 --daemon
  emacsclient -c &

Next when I connect to Emacs as:

  $ ssh -Y user <at> localhost
  ssh$ emacsclient -c
  C-x C-c
  ssh$ exit

or as:

  $ startx xterm -- `command -v Xnest` :1 -geometry 800x600
  xnest$ emacsclient -c
  C-x C-c
  xnest$ exit

Emacs daemon exited on exit shell command (but because special #ifdef code as shown above).

Seems that Emacs only one true application that require this feature...
Comment 71 Anmar Oueja 2015-04-12 01:47:42 UTC
I just installed the latest emacs (GNU Emacs 25.0.50.1) and it exhibits the same problem.
Comment 72 r3bl 2015-07-27 08:45:39 UTC
This issue is present on the default elementary OS Freya installation which uses 3.4.15 version of Gtk.

Any idea how to fix this?
Comment 73 consumercitizen 2015-08-11 06:02:05 UTC
You can start emacs with this on ubuntu 14.04

  XLIB_SKIP_ARGB_VISUALS=1 emacs

more details available here:

http://elementaryos.stackexchange.com/questions/797/how-to-get-gnu-emacs-work-on-elementary-os
Comment 74 Kalle Tuulos 2016-12-19 09:06:47 UTC
This problem exists still on Ubuntu 16.10, when used through X2Go and using Xfce as windowing environment.

When Emacs is used locally, there is no problem. The problem did not occur on 16.04, so something has changed between 16.04 and 16.10.
Comment 75 Norman Gaywood 2017-02-19 20:52:36 UTC
This problem exists still on Fedora 25 when used through x2go.
Fails with XFCE4 and MATE desktops.

Works with a X11 connection via ssh.

Starting with:
XLIB_SKIP_ARGB_VISUALS=1 emacs
does not change anything, it still crashes with:

X protocol error: BadRequest (invalid request code or no such operation) on protocol request 131
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
Fatal error 6: Aborted
Backtrace:
emacs[0x50ac9c]
emacs[0x4f114c]
emacs[0x50ad43]
emacs[0x4c0ea0]
emacs[0x4c57f6]
emacs[0x4c587b]
/lib64/libX11.so.6(_XError+0x11d)[0x7f68b373cddd]
/lib64/libX11.so.6(+0x40d07)[0x7f68b3739d07]
/lib64/libX11.so.6(+0x40dc5)[0x7f68b3739dc5]
/lib64/libX11.so.6(_XReply+0x238)[0x7f68b373acd8]
/lib64/libX11.so.6(XQueryPointer+0x8e)[0x7f68b3730e6e]
/lib64/libgdk-3.so.0(+0x56b5a)[0x7f68b5784b5a]
/lib64/libgdk-3.so.0(+0x75695)[0x7f68b57a3695]
/lib64/libgdk-3.so.0(gdk_window_get_device_position_double+0x10b)[0x7f68b5776e5b]
/lib64/libgdk-3.so.0(gdk_window_get_device_position+0x2d)[0x7f68b5776f5d]
/lib64/libgtk-3.so.0(+0x338a39)[0x7f68b5d5aa39]
/lib64/libgtk-3.so.0(+0x338faf)[0x7f68b5d5afaf]
/lib64/libgdk-3.so.0(+0x29e78)[0x7f68b5757e78]
/lib64/libglib-2.0.so.0(+0x4a89d)[0x7f68b40a989d]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x162)[0x7f68b40a8e52]
emacs[0x5e09a8]
emacs[0x5a5cf7]
emacs[0x422f33]
emacs[0x4fd3d1]
emacs[0x4fdf3d]
emacs[0x4ffb84]
emacs[0x564432]
emacs[0x4f1614]
emacs[0x5643d3]
emacs[0x4f15d0]
emacs[0x4f5dd7]
emacs[0x4f6128]
emacs[0x419d52]
/lib64/libc.so.6(__libc_start_main+0xf1)[0x7f68abf4e401]
emacs[0x41a79a]
Aborted (core dumped)
Comment 76 juneyoung.lee 2017-07-10 03:33:50 UTC
I see the same error message when opening emacs with X11-forwarding.
My client is Windows 10 Home Edition with Xming installed. I used putty to log in to the Manjaro server. OS of the server is Manjaro
Comment 77 anchimei9273 2017-08-04 19:42:07 UTC
I have same error. Similar condition with comment76. 
Use SecureCRT or Putty to login with x-11 forwarding. 

What's the solution for this? Help
Comment 78 spacewar 2017-11-06 02:52:01 UTC
As in comment 75, emacs in an X2go session on Fedora 26 still gets this error.

X protocol error: BadRequest (invalid request code or no such operation) on protocol request 131
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
Fatal error 6: Aborted
Backtrace:
emacs[0x50abde]
emacs[0x4f12f9]
emacs[0x50ac83]
emacs[0x4c0d90]
emacs[0x4c50d9]
emacs[0x4c515b]
/lib64/libX11.so.6(_XError+0x11a)[0x7f2109eca9ba]
/lib64/libX11.so.6(+0x418eb)[0x7f2109ec78eb]
/lib64/libX11.so.6(+0x41995)[0x7f2109ec7995]
/lib64/libX11.so.6(_XReply+0x240)[0x7f2109ec88f0]
/lib64/libX11.so.6(XQueryPointer+0x8e)[0x7f2109ebe99e]
/lib64/libgdk-3.so.0(+0x56e11)[0x7f210bf1be11]
/lib64/libgdk-3.so.0(+0x72dd6)[0x7f210bf37dd6]
/lib64/libgdk-3.so.0(gdk_window_get_device_position_double+0x114)[0x7f210bf0dc94]
/lib64/libgdk-3.so.0(gdk_window_get_device_position+0x2d)[0x7f210bf0ddbd]
/lib64/libgtk-3.so.0(+0x338db1)[0x7f210c4f3db1]
/lib64/libgtk-3.so.0(+0x3392ef)[0x7f210c4f42ef]
/lib64/libgdk-3.so.0(+0x29d50)[0x7f210beeed50]
/lib64/libglib-2.0.so.0(+0x4acad)[0x7f210a835cad]
/lib64/libglib-2.0.so.0(g_main_context_dispatch+0x157)[0x7f210a835247]
emacs[0x5e1b30]
emacs[0x5a7039]
emacs[0x423560]
emacs[0x4fd197]
emacs[0x4fe050]
emacs[0x4ffad4]
emacs[0x5635e2]
emacs[0x4f1714]
emacs[0x563561]
emacs[0x4f16ab]
emacs[0x4f5f67]
emacs[0x4f628a]
emacs[0x41a09c]
/lib64/libc.so.6(__libc_start_main+0xea)[0x7f210184950a]
emacs[0x41ab8a]
Aborted (core dumped)
Comment 79 rajeev.tyagi 2018-01-29 21:19:59 UTC
I am also seeing this issue while using emacs editor on a SLES12.2 OS host:

[SLES12.2 hds1fna2091 20180129_1537 ~]# emacs temp &
[1] 79306
[SLES12.2 hds1fna2091 20180129_1537 ~]# Activating service name='org.gtk.vfs.Daemon'
Successfully activated service 'org.gtk.vfs.Daemon'
Activating service name='org.gnome.GConf'
Successfully activated service 'org.gnome.GConf'

(emacs-gtk:79314): Gtk-CRITICAL **: gtk_distribute_natural_allocation: assertion 'extra_space >= 0' failed
X protocol error: BadRequest (invalid request code or no such operation) on protocol request 131
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.

Backtrace:
/usr/bin/emacs-gtk[0x4f88bb]
/usr/bin/emacs-gtk[0x4de48e]
/usr/bin/emacs-gtk[0x4f8903]
/usr/bin/emacs-gtk[0x4b374b]
/usr/bin/emacs-gtk[0x4b57ec]
/usr/bin/emacs-gtk[0x4b584d]
/usr/lib64/libX11.so.6(_XError+0x12b)[0x7fd78a9692cb]
/usr/lib64/libX11.so.6(+0x43367)[0x7fd78a966367]
/usr/lib64/libX11.so.6(+0x43415)[0x7fd78a966415]
/usr/lib64/libX11.so.6(_XReply+0x1e8)[0x7fd78a9672f8]
/usr/lib64/libX11.so.6(XQueryPointer+0x55)[0x7fd78a95d825]
...
Comment 80 mcperreault 2018-03-16 00:18:43 UTC
There is similar behavior using Windows 10 with PuTTY (X11 Forwarding) to run emacs on a Debian system.  Any attempt to do anything (change size, click in, use a drop down, etc) with the emacs window results in the window closing, and this error:



(emacs:23589): Gtk-CRITICAL **: gtk_window_set_mnemonics_visible: assertion 'GTK                                                                        _IS_WINDOW (window)' failed
X protocol error: BadRequest (invalid request code or no such operation) on prot                                                                        ocol request 130
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
Fatal error 6: Aborted
Backtrace:
emacs[0x50b41c]
emacs[0x4f17cc]
emacs[0x50b4c3]
emacs[0x4c14f0]
emacs[0x4c5e26]
emacs[0x4c5eab]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XError+0x11d)[0x7fca2ecac22d]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x42157)[0x7fca2eca9157]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x42215)[0x7fca2eca9215]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XReply+0x238)[0x7fca2ecaa128]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XQueryPointer+0x8e)[0x7fca2eca02be]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x58841)[0x7fca30aee841]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x74b76)[0x7fca30b0ab76]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(gdk_window_get_device_position_double+0x                                                                        114)[0x7fca30ae0684]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(gdk_window_get_device_position+0x2d)[0x7                                                                        fca30ae07ad]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x33c8b1)[0x7fca310c98b1]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x33cdef)[0x7fca310c9def]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x2b770)[0x7fca30ac1770]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4b853)[0x7fca2f417853]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x155)[0x7fca2f41                                                                        6dd5]
emacs[0x5df7a8]
emacs[0x5a6b85]
emacs[0x4fc87c]
emacs[0x4fe68d]
emacs[0x5002c4]
emacs[0x564c22]
emacs[0x4f1c94]
emacs[0x564bc3]
emacs[0x4f1c50]
emacs[0x4f6477]
emacs[0x4f67d8]
emacs[0x419212]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7fca2a1faf2a]
emacs[0x419c5a]
Aborted
Comment 81 GNOME Infrastructure Team 2018-05-02 13:44:01 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gtk/issues/221.