emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Killing a frame sometimes kills emacs


From: Tassilo Horn
Subject: Re: Killing a frame sometimes kills emacs
Date: Thu, 01 Sep 2011 12:42:38 +0200
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> It turned out to be a crash, not something calling Fkill_emacs.  Here's
>> the backtrace:
>
> What about the Lisp backtrace?

That would have been xbacktrace, right?  Next time...

> And since this is an optimized build, the backtrace is almost useless
> anyway.  Can you try reproducing this in an unoptimized build?

That emacs was compiled with

  CFLAGS="-mtune=native -O1 -pipe -g -ggdb"

and I'll try with -O0 the next time.

>> #7  0x00000000004e157c in xg_display_close (dpy=0x6ca0020) at gtkutil.c:182
>>         gdpy = 0xd682e0
>> #8  0x00000000004afc49 in x_delete_terminal (terminal=<optimized out>)
>>     at xterm.c:10607
>>         dpyinfo = 0x698d3e0
>> #9  0x00000000004a40f2 in Fdelete_terminal (terminal=107998581, 
>>     force=<optimized out>) at terminal.c:345
>>         t = 0x66fed70
>> #10 0x00000000004235cc in delete_frame (frame=99991829, force=<optimized 
>> out>)
>>     at frame.c:1379
>>         tmp = <optimized out>
>>         terminal = <optimized out>
>>         f = 0x5f5c110
>>         sf = 0x121b7e0
>>         kb = 0x0
>>         minibuffer_selected = 0
>>         tooltip_frame = 0
>> #11 0x000000000042382a in Fdelete_frame (frame=<optimized out>, 
>>     force=<optimized out>) at frame.c:1516
>
> This part does look as if Emacs was going to close the X display where
> the frame was displayed.  Were all other frames in that session on
> other displays?

No, there was exactly one single frame on the current display, and no
TTY frames.  Then I clicked some link to a txt file in the chromium
browser, which fired up "emacsclient -c file.txt".  So then I had
exactly 2 X11 frames.  Then I clicked the X knob of the frame brought up
by the client, and that made emacs crash.

> If not, how come Emacs is about to delete the terminal?  Here's the
> relevant code:
>
>     if (terminal->reference_count == 0)
>       {
>       Lisp_Object tmp;
>       XSETTERMINAL (tmp, terminal);
>
>         kb = NULL;
>       Fdelete_terminal (tmp, NILP (force) ? Qt : force);
>       }
>
> Can you look at the value of terminal->reference_count?

In an unoptimized build, that should be in the backtrace, right?

Bye,
Tassilo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]