GNU bug report logs -
#3145
23.0.92; detaching GTK+ tool bar crashes emacs --daemon
Previous Next
Full log
View this message in rfc822 format
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.