GNU bug report logs - #3145
23.0.92; detaching GTK+ tool bar crashes emacs --daemon

Previous Next

Package: emacs;

Reported by: Stephen Berman <stephen.berman <at> gmx.net>

Date: Tue, 28 Apr 2009 14:50:03 UTC

Severity: normal

Tags: fixed

Fixed in version 24.3

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Forwarded to https://bugzilla.gnome.org/show_bug.cgi?id=581110

Full log


View this message in rfc822 format

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: Stephen Berman <stephen.berman <at> gmx.net>, 3145 <at> debbugs.gnu.org
Subject: bug#3145: 23.0.92; detaching GTK+ tool bar crashes emacs --daemon
Date: Sat, 02 May 2009 18:51:14 +0200
Sorry, no workaround is possible.
The part in Gtk+ that handles detaching uses a hidden window which it stores 
in a static variable.  So it get created on the first display, but is still 
used on the second, but that is not a valid window anymore:

static GtkWidget *
gtk_handle_box_get_invisible (void)
{
  static GtkWidget *handle_box_invisible = NULL;

  if (!handle_box_invisible)
    {
      handle_box_invisible = gtk_invisible_new ();
      gtk_widget_show (handle_box_invisible);
    }

  return handle_box_invisible;
}

This is another instance of the "there is just one display and it is always 
open"-mindset of Gtk+.

I have filed a Gtk+ bug on this 
(http://bugzilla.gnome.org/show_bug.cgi?id=581110). Not sure what we should do 
about this bug though.  Keep it until Gtk+ fixes/rejects the bug report or 
close it?

	Jan D.

> 
> 
> Chong Yidong skrev:
>> Stephen Berman <stephen.berman <at> gmx.net> wrote:
>>
>>> Carrying out the following steps reliably crashes Emacs:
>>>
>>> 1. emacs -Q --daemon
>>> 2. emacsclient -c
>>> 3. Detach the tool bar (only possible with GTK+ build).
>>> 4. Close the client frame with C-x 5 0
>>> 5. emacsclient -c
>>> 6. Detach the tool bar
>>> => SIGSEGV
>>
>> Actually, daemon mode is not needed.  You can also do this:
>>
>> 1. emacs -Q -nw
>> 2. M-x make-frame-on-display RET :0.0 RET
>> 3. Detach the tool bar
>> 4. Close the client frame with C-x 5 0
>> 5. M-x make-frame-on-display RET :0.0 RET
>> 6. Detach the tool bar
>> => SIGSEGV
>>
>> Jan, could you try to debug this?  It may be another manifestation of
>> the problems we've been having with GTK and closing X connections.
> 
> It looks like it.  The window for the detached tool bar is created and 
> managed by Gtk+ and is not deleted when the display is removed it seems.
> 
> I'll see if we can work around it.
> 
>     Jan D.
> 
> 




This bug report was last modified 9 years and 102 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.