Subject: bug#5802: emacsclient -c crashes emacs --daemon intermittently; have strace

From: Dan Nicolaescu <[email-masked]>
Date: Tue, 30 Mar 2010 11:46:38 -0400

Ryan Thompson <[email-masked]> writes:

> I am trying to set myself up using emacs --daemon so that I can easily
> manage multiple emacs frames within one process. However, I have hit a
> significant stumbling block. If I run emacs --daemon (or emacs -nw and
> then do (server-start) ) and then repeatedly run emacsclient -c and
> clost the resulting window, emacs will randomly crash. Sometimes it
> happens on the first time that I run emacsclient -c, sometimes on the
> 20th.
>
> I use Ubuntu 9.10, and I have reported this bug in Launchpad. However,
> I have also compiled both emacs 23.1 and trunk from vanilla sources,
> and both of these exhibit the same bug as the Ubuntu-packaged
> versions.
>
> I have generated some stack traces by the following procedure, as
> described at https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/543611
>
> Open two terminals. In the first terminal, run the following commands
> to start emacs with strace:
>
> $ mkdir -p /tmp/emacs-strace
> $ strace -o /tmp/emacs-strace/trace-`date +%s`.log emacs -Q -nw
>
> When emacs has started, do M-x server-start so that emacsclient can
> work. Now, in the second terminal, run the following command:
>
> $ x=0; while emacsclient -c ; do x=$(( $x + 1 )); done; echo "Created
> $x windows before crash."
>
> Now, an emacs window will open. Close it. Each time you close a
> window, a new emacs window will open. Keep closing each one that
> appears. If emacs exhibits the bug, then eventually you will close one
> window, and emacs will crash when it tries to create the next one. At
> this point, you can go get your stack trace in /tmp/emacs-strace.

This is very likely due to a long standing bug in Gtk+, see:
http://bugzilla.gnome.org/show_bug.cgi?id=85715

Please compile emacs using 

./configure --with-x-toolkit=lucid

and try to reproduce the problem you are seeing with that emacs.