unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11741: 24.1; Daemon Dies When X Exits
@ 2012-06-19 13:13 woddfellow2
  2012-06-19 16:18 ` Glenn Morris
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: woddfellow2 @ 2012-06-19 13:13 UTC (permalink / raw)
  To: 11741

If I start an Emacs daemon, even outside of X, then open an emacsclient
frame in X, then C-x 5 0, then exit X, the daemon dies. This happens
even with emacs -Q. This appears to e a regression, as Emacs 23 did not
have this problem:

Connection lost to X server `:0'
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.

(emacs:21992): GLib-WARNING **: g_main_context_prepare() called recursively from within a source's check() or prepare() member.

(emacs:21992): GLib-WARNING **: g_main_context_check() called recursively from within a source's check() or prepare() member.
Fatal error (6)Aborted

bt full:
#0  0xb7fdd424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb6ad4596 in kill () from /lib/libc.so.6
No symbol table info available.
#2  0x08139678 in abort ()
No symbol table info available.
#3  0x080f8e28 in ?? ()
No symbol table info available.
#4  0x080f906d in ?? ()
No symbol table info available.
#5  0xb74d8fc4 in _XIOError () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0xb74d681f in _XEventsQueued () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0xb74c73f8 in XPending () from /usr/lib/libX11.so.6
No symbol table info available.
#8  0xb7b0c8ae in ?? () from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#9  0xb777f232 in g_main_context_prepare () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0xb777f96f in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#11 0xb777fb5f in g_main_context_pending () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#12 0xb7c99c70 in gtk_events_pending () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#13 0x080f90d5 in ?? ()
No symbol table info available.
#14 0x08141477 in ?? ()
No symbol table info available.
#15 0x081415a2 in ?? ()
No symbol table info available.
#16 0x08140e58 in ?? ()
No symbol table info available.
#17 0x081e7e25 in ?? ()
No symbol table info available.
#18 0x0806277f in ?? ()
No symbol table info available.
#19 0x08145f7c in ?? ()
No symbol table info available.
#20 0x08146c14 in ?? ()
No symbol table info available.
#21 0x08148667 in ?? ()
No symbol table info available.
#22 0x081a9f80 in ?? ()
No symbol table info available.
#23 0x0813d435 in ?? ()
No symbol table info available.
#24 0x081a9eab in ?? ()
No symbol table info available.
#25 0x0813e08a in ?? ()
No symbol table info available.
#26 0x0813e37d in ?? ()
No symbol table info available.
#27 0x08057ea0 in ?? ()
No symbol table info available.
#28 0xb6abf3d5 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#29 0x08058c35 in ?? ()
No symbol table info available.

It said xbacktrace wasn't a command.

In GNU Emacs 24.1.1 (i686-pc-linux-gnu, GTK+ Version 2.24.10)
 of 2012-06-11 on shirley.hoetzel.info
Configured using:
 `configure '--prefix=/usr' '--sysconfdir=/etc' '--libexecdir=/usr/lib'
 '--localstatedir=/var' '--with-x-toolkit=gtk' '--with-xft'
 'CFLAGS=-march=i686 -mtune=generic -O2 -pipe -fstack-protector
 --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2'
 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  erc-services-mode: t
  erc-networks-mode: t
  display-time-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
ESC x r e p o r t - e m a c s - g u b DEL DEL b u g 
f DEL DEL DEL DEL DEL b u g RET

Recent messages:
("emacs")
Loading /home/woddf2/.erc/config...
Loading /home/woddf2/.erc/pass...done
Loading /home/woddf2/.erc/config...done
Loading /home/woddf2/.emms-cache...done
Loading term/xterm...done
goto-history-element: Beginning of history; no preceding item

Load-path shadows:
~/.emacs.d/lisp/mediawiki hides /usr/share/emacs/site-lisp/mediawiki
/usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/24.1/lisp/hex-util
/usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/24.1/lisp/md4
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.1/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/24.1/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.1/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.1/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/24.1/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/24.1/lisp/net/ntlm
/usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.1/lisp/net/sasl-cram
/usr/share/emacs/site-lisp/wl/utf7 hides /usr/share/emacs/24.1/lisp/gnus/utf7
/usr/share/emacs/site-lisp/semi/smime hides /usr/share/emacs/24.1/lisp/gnus/smime
/usr/share/emacs/site-lisp/emms/tq hides /usr/share/emacs/24.1/lisp/emacs-lisp/tq
/usr/share/emacs/site-lisp/semi/pgg-pgp hides /usr/share/emacs/24.1/lisp/obsolete/pgg-pgp
/usr/share/emacs/site-lisp/semi/pgg-pgp5 hides /usr/share/emacs/24.1/lisp/obsolete/pgg-pgp5
/usr/share/emacs/site-lisp/semi/pgg hides /usr/share/emacs/24.1/lisp/obsolete/pgg
/usr/share/emacs/site-lisp/semi/pgg-parse hides /usr/share/emacs/24.1/lisp/obsolete/pgg-parse
/usr/share/emacs/site-lisp/semi/pgg-gpg hides /usr/share/emacs/24.1/lisp/obsolete/pgg-gpg
/usr/share/emacs/site-lisp/semi/pgg-def hides /usr/share/emacs/24.1/lisp/obsolete/pgg-def

Features:
(shadow sort mail-extr gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime
smime mel mime-def alist mcharset mcs-20 mcs-e20 pces pces-e20 pces-20
broken pcustom path-util poe pym static apel-ver product gnus-sum
gnus-group gnus-undo gnus-start gnus-spec gnus-win emacsbug sendmail
preview-latex tex-site auto-loads weblogger ring xml-rpc timezone
url-http url-auth url-gw ratpoison ratpoisonrc-mode generic generic-x
fvwm-mode emms-playing-time emms-mode-line emms-cache emms-info-ogginfo
emms-info-mp3info emms-info later-do emms-playlist-mode
emms-player-mplayer emms-player-simple emms-source-playlist
emms-source-file dired regexp-opt emms-setup emms emms-compat znc
erc-services erc-networks erc-goodies erc erc-backend erc-compat
thingatpt pp warnings nnrss mm-url nnmail gnus-int gnus-range
mail-source message idna format-spec rfc822 mml easymenu mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader nnoo gnus gnus-ems nnheader
mail-utils wid-edit epa-file twittering-mode advice help-fns
advice-preload epa derived epg epg-config tls url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-util url-parse
auth-source eieio byte-opt bytecomp byte-compile cconv macroexp assoc
gnus-util time-date password-cache url-vars mm-util mail-prsvr mailcap
xml cl nyan-mode easy-mmode w3m-load edmacro kmacro time tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer loaddefs button faces cus-face files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

-- 
woddfellow2 <http://wlair.us.to/>

()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachments





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#11741: 24.1; Daemon Dies When X Exits
  2012-06-19 13:13 bug#11741: 24.1; Daemon Dies When X Exits woddfellow2
@ 2012-06-19 16:18 ` Glenn Morris
  2012-07-23  4:08 ` bug#11741: Alejandro Benitez
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Glenn Morris @ 2012-06-19 16:18 UTC (permalink / raw)
  To: woddfellow2; +Cc: 11741

woddfellow2 wrote:

> If I start an Emacs daemon, even outside of X, then open an emacsclient
> frame in X, then C-x 5 0, then exit X, the daemon dies. This happens
> even with emacs -Q. This appears to e a regression, as Emacs 23 did not
> have this problem:
>
>   Connection lost to X server `:0'
>   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.

The above message seems pretty clear to me.

Here's what the etc/PROBLEMS entry says:

    ** When Emacs is compiled with Gtk+, closing a display kills Emacs.

    There is a long-standing bug in GTK that prevents it from recovering
    from disconnects: http://bugzilla.gnome.org/show_bug.cgi?id=85715.

    Thus, for instance, when Emacs is run as a server on a text terminal,
    and an X frame is created, and the X server for that frame crashes or
    exits unexpectedly, Emacs must exit to prevent a GTK error that would
    result in an endless loop.

    If you need Emacs to be able to recover from closing displays, compile
    it with the Lucid toolkit instead of GTK.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#11741:
  2012-06-19 13:13 bug#11741: 24.1; Daemon Dies When X Exits woddfellow2
  2012-06-19 16:18 ` Glenn Morris
@ 2012-07-23  4:08 ` Alejandro Benitez
  2012-08-03 17:28 ` bug#11741: 24.1; Daemon Dies When X Exits Alejandro Benitez
  2012-08-20  2:57 ` Alejandro Benitez
  3 siblings, 0 replies; 5+ messages in thread
From: Alejandro Benitez @ 2012-07-23  4:08 UTC (permalink / raw)
  To: 11741; +Cc: woddfellow2

Glenn Morris <rgm@gnu.org> writes:

> woddfellow2 wrote:
>
>> If I start an Emacs daemon, even outside of X, then open an emacsclient
>> frame in X, then C-x 5 0, then exit X, the daemon dies. This happens
>> even with emacs -Q. This appears to e a regression, as Emacs 23 did not
>> have this problem:
>>
>>   Connection lost to X server `:0'
>>   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.
>
> The above message seems pretty clear to me.
>
> Here's what the etc/PROBLEMS entry says:
>
>     ** When Emacs is compiled with Gtk+, closing a display kills Emacs.
>
>     There is a long-standing bug in GTK that prevents it from recovering
>     from disconnects: http://bugzilla.gnome.org/show_bug.cgi?id=85715.
>
>     Thus, for instance, when Emacs is run as a server on a text terminal,
>     and an X frame is created, and the X server for that frame crashes or
>     exits unexpectedly, Emacs must exit to prevent a GTK error that would
>     result in an endless loop.
>
>     If you need Emacs to be able to recover from closing displays, compile
>     it with the Lucid toolkit instead of GTK.

Hi,

Looks like this actually is a regression as the steps to reproduce
that described the OP are not the the same as the know problem.

1. I start an Emacs daemon, even outside of X
2. then open an emacsclient frame in X
3. then C-x 5 0
4. then exit X
5. the daemon dies

Step 3 means that the frame should be deleted before the X server for
that frame would supposedly crash or exit unexpectedly. The actual
problem is that the frame is not successfully deleted before exiting X,
although it looks like it does. Emacs 23.4.1 does delete the frame
successfully, so when I exit the X server I don't get a "there is
currently 1 client connected" message that when I get with Emacs 24.1.

I was able to reproduce this in Emacs 24.1 i686-pc-cygwin, GTK+.
Emacs 23.4.1 i686-pc-cygwin, GTK+ does not die after performing the
4 steps above.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#11741: 24.1; Daemon Dies When X Exits
  2012-06-19 13:13 bug#11741: 24.1; Daemon Dies When X Exits woddfellow2
  2012-06-19 16:18 ` Glenn Morris
  2012-07-23  4:08 ` bug#11741: Alejandro Benitez
@ 2012-08-03 17:28 ` Alejandro Benitez
  2012-08-20  2:57 ` Alejandro Benitez
  3 siblings, 0 replies; 5+ messages in thread
From: Alejandro Benitez @ 2012-08-03 17:28 UTC (permalink / raw)
  To: 11741

I'm posting this because the original message did not containt a subject.

Glenn Morris <rgm@gnu.org> writes:

> woddfellow2 wrote:
>
>> If I start an Emacs daemon, even outside of X, then open an emacsclient
>> frame in X, then C-x 5 0, then exit X, the daemon dies. This happens
>> even with emacs -Q. This appears to e a regression, as Emacs 23 did not
>> have this problem:
>>
>>   Connection lost to X server `:0'
>>   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.
>
> The above message seems pretty clear to me.
>
> Here's what the etc/PROBLEMS entry says:
>
>     ** When Emacs is compiled with Gtk+, closing a display kills Emacs.
>
>     There is a long-standing bug in GTK that prevents it from recovering
>     from disconnects: http://bugzilla.gnome.org/show_bug.cgi?id=85715.
>
>     Thus, for instance, when Emacs is run as a server on a text terminal,
>     and an X frame is created, and the X server for that frame crashes or
>     exits unexpectedly, Emacs must exit to prevent a GTK error that would
>     result in an endless loop.
>
>     If you need Emacs to be able to recover from closing displays, compile
>     it with the Lucid toolkit instead of GTK.

Hi,

Looks like this actually is a regression as the steps to reproduce
that described the OP are not the the same as the know problem.

1. I start an Emacs daemon, even outside of X
2. then open an emacsclient frame in X
3. then C-x 5 0
4. then exit X
5. the daemon dies

Step 3 means that the frame should be deleted before the X server
would supposedly crash or exit unexpectedly. The actual
problem is that the frame is not successfully deleted before exiting X,
although it looks like it does. Emacs 23.4.1 does delete the frame
successfully, so when I exit the X server I don't get a "there is
currently 1 client connected" message that when I get with Emacs 24.1.

I was able to reproduce this in Emacs 24.1 i686-pc-cygwin, GTK+.
Emacs 23.4.1 i686-pc-cygwin, GTK+ does not die after performing the
4 steps above.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#11741: 24.1; Daemon Dies When X Exits
  2012-06-19 13:13 bug#11741: 24.1; Daemon Dies When X Exits woddfellow2
                   ` (2 preceding siblings ...)
  2012-08-03 17:28 ` bug#11741: 24.1; Daemon Dies When X Exits Alejandro Benitez
@ 2012-08-20  2:57 ` Alejandro Benitez
  3 siblings, 0 replies; 5+ messages in thread
From: Alejandro Benitez @ 2012-08-20  2:57 UTC (permalink / raw)
  To: 11741

Looks like this bug is not going to be reopened, but I'd like to leave
things clear just in case:

The long-standing bug in GTK+ that prevents Emacs from recovering from
X disconnects

http://bugzilla.gnome.org/show_bug.cgi?id=85715

used *not* to get triggered by the following use case scenario in
Emacs 23.4 (GTK+ version):

1. Start an Emacs daemon, even outside of X
2. then open an emacsclient frame in X
3. then C-x 5 0
4. then exit X

But in Emacs version 24.1 the daemon started to crash in the above use
case, due to the GTK+ bug.
What I would like to stress is: The GTK+ bug used *not* to get
triggered if you were careful to follow the 4 steps above, until
version 24.1.

The last Emacs (GTK+ version) that I was able to use the daemon was
GNU Emacs 23.4.1 (i686-pc-cygwin, GTK+ Version 2.24.10) of 2012-05-16.





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-20  2:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-19 13:13 bug#11741: 24.1; Daemon Dies When X Exits woddfellow2
2012-06-19 16:18 ` Glenn Morris
2012-07-23  4:08 ` bug#11741: Alejandro Benitez
2012-08-03 17:28 ` bug#11741: 24.1; Daemon Dies When X Exits Alejandro Benitez
2012-08-20  2:57 ` Alejandro Benitez

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).