Subject: emacsclient -c crashes emacs --daemon intermittently; have strace
From: Ryan Thompson <[email-masked]>
To: [email-masked]
Date: Mon, 29 Mar 2010 15:08:21 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

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.

I have generated several traces in this way, and in each one, the last
50 lines are identical except that certain hexadecimal numbers have
changed.

I tried sending this message with one of the traces attached, but I
guess it was too large. Please reply to tell me how I can send a
trace.