From: Ryan Thompson <rct@thompsonclan.org>
To: Dan Nicolaescu <dann@gnu.org>
Cc: 5802@debbugs.gnu.org
Subject: bug#5802: emacsclient -c crashes emacs --daemon intermittently; have strace
Date: Sat, 3 Apr 2010 14:20:04 -0700 [thread overview]
Message-ID: <r2g2a4ba2fd1004031420q99de5a0fq789b8f3a1c2b4841@mail.gmail.com> (raw)
In-Reply-To: <yxqy6h77y1e.fsf@fencepost.gnu.org>
On Thu, Apr 1, 2010 at 12:50 PM, Dan Nicolaescu <dann@gnu.org> wrote:
> Ryan Thompson <rct@thompsonclan.org> writes:
>
>> On Tue, Mar 30, 2010 at 10:47 AM, Dan Nicolaescu <dann@gnu.org> wrote:
>>> Ryan Thompson <rct@thompsonclan.org> writes:
>>>
>>>> On Tue, Mar 30, 2010 at 8:46 AM, Dan Nicolaescu <dann@gnu.org> wrote:
>>>>> Ryan Thompson <rct@thompsonclan.org> 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.
>>>>>
>>>>
>>>> I tried that; same problem. Would you like a stack trace?
>>>
>>> Sure, for the lucid version please.
>>> But please get the stack trace using by attaching gdb to emacs.
>>> See etc/DEBUG for more info.
>>>
>>> Also, please start emacs using "emacs -Q"
>>>
>>>
>>>
>>
>> I tried to figure out gdb, but I couldn't figure it out in the time I
>> had. But I have been running all my tests with -Q. I'll try again when
>> I have more time to mess around with it.
>
> cd emacs/src
> gdb ./emacs
> run -Q -nw -f server-start
>
>
> do whatever you do to to crash emacs, and when that happens type
>
> xbacktrace
>
> in gdb
>
> Again, this is only useful for the version compiled using ./configure --with-x-toolkit=lucid
>
On further inspection, I can no longer reproduce the crash
--with-x-toolkit=lucid. The segfault in the gtk version occurs in
"gdk_screen_get_display," from /usr/lib/libgdk-x11-2.0.so.0, which is
in Ubuntu package libgtk2.0-0 version 2.18.3-1ubuntu2.2.
When the lucid version, emacs does not crash, but for some reason,
when I run the emacsclient frame-creating loop that I described
previously, sometimes the client frame disappears as soon as it
appears, and I assumed that a crash had occurred. But in this case,
emacs does not crash, and I only get the problem in a loop like this.
Simply running "emacsclient -c" manually over and over at the
command-line never causes a frame to disappear. So, I think I will
move forward using the lucid version, and you can mark this as a GTK
problem.
Thanks for your patience.
next prev parent reply other threads:[~2010-04-03 21:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2a4ba2fd1003251154w52283ce8w9a728b4d1e1c4170@mail.gmail.com>
2010-03-29 22:08 ` bug#5802: emacsclient -c crashes emacs --daemon intermittently; have strace Ryan Thompson
[not found] ` <handler.5802.B.126990214822027.ack@debbugs.gnu.org>
2010-03-29 23:39 ` bug#5802: Acknowledgement (emacsclient -c crashes emacs --daemon intermittently; have strace) Ryan Thompson
2010-03-30 15:46 ` bug#5802: emacsclient -c crashes emacs --daemon intermittently; have strace Dan Nicolaescu
2010-03-30 17:06 ` Ryan Thompson
2010-03-30 17:47 ` Dan Nicolaescu
2010-04-01 6:02 ` Ryan Thompson
2010-04-01 19:50 ` Dan Nicolaescu
2010-04-03 21:20 ` Ryan Thompson [this message]
2010-04-09 6:11 ` Dan Nicolaescu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=r2g2a4ba2fd1004031420q99de5a0fq789b8f3a1c2b4841@mail.gmail.com \
--to=rct@thompsonclan.org \
--cc=5802@debbugs.gnu.org \
--cc=dann@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.