From: Jon Dufresne <jon.dufresne@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Need help debugging Emacs: emacsclient will not draw its contents sometimes
Date: Tue, 8 Sep 2015 11:58:35 -0700 [thread overview]
Message-ID: <CADhq2b4j4_ekWf82hz0Um7YHbZbJN7+wT5=ECwvDQvK6GVQnxg@mail.gmail.com> (raw)
In-Reply-To: <83fv2o7rtp.fsf@gnu.org>
On Tue, Sep 8, 2015 at 10:18 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> The backtrace shows that Emacs is idle, waiting for input, which is
> normal. Try typing "finish" repeatedly to step out of the functions
> shown in the backtrace, until some of them doesn't return. Then tell
> here which one didn't.
Thanks!
I have tried this. The results are below. The client process hung on
the first "finish" while the server process took a few more commands
but eventually hung in command_loop_1(). Any thoughts on this?
Cheers,
Jon
Client:
(gdb) bt
#0 0x00000030d8b03a0d in __libc_recv (fd=3,
buf=buf@entry=0x7ffd1328bf60, n=n@entry=8192, flags=flags@entry=0) at
../sysdeps/unix/sysv/linux/x86_64/recv.c:29
#1 0x0000000000401ce0 in recv (__flags=0, __n=8192,
__buf=0x7ffd1328bf60, __fd=<optimized out>) at
/usr/include/bits/socket2.h:44
#2 main (argc=3, argv=0x7ffd1328e088) at ../../lib-src/emacsclient.c:1742
(gdb) finish
Run till exit from #0 0x00000030d8b03a0d in __libc_recv (fd=3,
buf=buf@entry=0x7ffd1328bf60, n=n@entry=8192, flags=flags@entry=0) at
../sysdeps/unix/sysv/linux/x86_64/recv.c:29
Server:
(gdb) bt
#0 0x00000030d8af913c in __pselect (nfds=nfds@entry=17,
readfds=readfds@entry=0x7ffdd014e210,
writefds=writefds@entry=0x7ffdd014e290, exceptfds=exceptfds@entry=0x0,
timeout=<optimized out>, timeout@entry=0x7ffdd014e830,
sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/pselect.c:77
#1 0x00000000005dbeb9 in xg_select (fds_lim=17,
rfds=rfds@entry=0x7ffdd014e850, wfds=wfds@entry=0x7ffdd014e8d0,
efds=efds@entry=0x0, timeout=timeout@entry=0x7ffdd014e830,
sigmask=sigmask@entry=0x0) at ../../src/xgselect.c:114
#2 0x00000000005a2669 in wait_reading_process_output
(time_limit=time_limit@entry=0, nsecs=nsecs@entry=0,
read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=12327986,
wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at
../../src/process.c:4606
#3 0x00000000004f3eb1 in read_decoded_event_from_main_queue
(end_time=0x0, used_mouse_menu=0x7ffdd014f09b, kbp=<synthetic
pointer>) at ../../src/keyboard.c:3907
#4 0x00000000004f3eb1 in read_decoded_event_from_main_queue
(used_mouse_menu=0x7ffdd014f09b, local_getcjmp=0x7ffdd014edf0,
end_time=0x0) at ../../src/keyboard.c:2247
#5 0x00000000004f3eb1 in read_decoded_event_from_main_queue
(end_time=end_time@entry=0x0,
local_getcjmp=local_getcjmp@entry=0x7ffdd014edf0,
prev_event=prev_event@entry=12327986,
used_mouse_menu=used_mouse_menu@entry=0x7ffdd014f09b) at
../../src/keyboard.c:2310
#6 0x00000000004f7984 in read_char (commandflag=1,
map=map@entry=63963270, prev_event=12327986,
used_mouse_menu=used_mouse_menu@entry=0x7ffdd014f09b,
end_time=end_time@entry=0x0)
at ../../src/keyboard.c:2896
#7 0x00000000004f8a48 in read_key_sequence
(keybuf=keybuf@entry=0x7ffdd014f1a0, prompt=12327986,
dont_downcase_last=dont_downcase_last@entry=false,
can_return_switch_frame=can_return_switch_frame@entry=true,
fix_current_buffer=fix_current_buffer@entry=true,
prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at
../../src/keyboard.c:9089
#8 0x00000000004fa84e in command_loop_1 () at ../../src/keyboard.c:1453
#9 0x000000000055fd47 in internal_condition_case
(bfun=bfun@entry=0x4fa630 <command_loop_1>, handlers=<optimized out>,
hfun=hfun@entry=0x4f1180 <cmd_error>) at ../../src/eval.c:1348
#10 0x00000000004ec602 in command_loop_2
(ignore=ignore@entry=12327986) at ../../src/keyboard.c:1178
#11 0x000000000055fc2b in internal_catch (tag=12375458,
func=func@entry=0x4ec5e0 <command_loop_2>, arg=12327986) at
../../src/eval.c:1112
#12 0x00000000004f0d43 in recursive_edit_1 () at ../../src/keyboard.c:1157
#13 0x00000000004f0d43 in recursive_edit_1 () at ../../src/keyboard.c:778
#14 0x00000000004f1098 in Frecursive_edit () at ../../src/keyboard.c:849
#15 0x0000000000418537 in main (argc=<optimized out>,
argv=0x7ffdd014f508) at ../../src/emacs.c:1642
(gdb) finish
Run till exit from #0 0x00000030d8af913c in __pselect
(nfds=nfds@entry=17, readfds=readfds@entry=0x7ffdd014e210,
writefds=writefds@entry=0x7ffdd014e290, exceptfds=exceptfds@entry=0x0,
timeout=<optimized out>, timeout@entry=0x7ffdd014e830,
sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/pselect.c:77
xg_select (fds_lim=17, rfds=rfds@entry=0x7ffdd014e850,
wfds=wfds@entry=0x7ffdd014e8d0, efds=efds@entry=0x0,
timeout=timeout@entry=0x7ffdd014e830, sigmask=sigmask@entry=0x0)
at ../../src/xgselect.c:117
117 if (nfds < 0)
Value returned is $1 = 0
(gdb) finish
Run till exit from #0 xg_select (fds_lim=17,
rfds=rfds@entry=0x7ffdd014e850, wfds=wfds@entry=0x7ffdd014e8d0,
efds=efds@entry=0x0, timeout=timeout@entry=0x7ffdd014e830,
sigmask=sigmask@entry=0x0) at ../../src/xgselect.c:117
wait_reading_process_output (time_limit=time_limit@entry=0,
nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=true,
wait_for_cell=12327986, wait_proc=wait_proc@entry=0x0,
just_wait_proc=0) at ../../src/process.c:4620
4620 if (nfds == 0)
Value returned is $2 = 0
(gdb) finish
Run till exit from #0 wait_reading_process_output
(time_limit=time_limit@entry=0, nsecs=nsecs@entry=0,
read_kbd=read_kbd@entry=-1, do_display=true, wait_for_cell=12327986,
wait_proc=wait_proc@entry=0x0, just_wait_proc=0) at ../../src/process.c:4620
0x00000000004f3eb1 in kbd_buffer_get_event (end_time=0x0,
used_mouse_menu=0x7ffdd014f09b, kbp=<synthetic pointer>) at
../../src/keyboard.c:3907
3907 wait_reading_process_output (0, 0, -1, do_display, Qnil, NULL, 0);
Value returned is $3 = true
(gdb) finish
Run till exit from #0 0x00000000004f3eb1 in kbd_buffer_get_event
(end_time=0x0, used_mouse_menu=0x7ffdd014f09b, kbp=<synthetic
pointer>) at ../../src/keyboard.c:3907
2247 c = kbd_buffer_get_event (&kb, used_mouse_menu, end_time);
(gdb) finish
Run till exit from #0 read_event_from_main_queue
(used_mouse_menu=0x7ffdd014f09b, local_getcjmp=0x7ffdd014edf0,
end_time=0x0) at ../../src/keyboard.c:2247
2320 struct frame *frame = XFRAME (selected_frame);
(gdb) finish
Run till exit from #0 read_decoded_event_from_main_queue
(end_time=end_time@entry=0x0,
local_getcjmp=local_getcjmp@entry=0x7ffdd014edf0,
prev_event=prev_event@entry=12327986,
used_mouse_menu=used_mouse_menu@entry=0x7ffdd014f09b) at
../../src/keyboard.c:2320
read_char (commandflag=1, map=map@entry=63963270, prev_event=12327986,
used_mouse_menu=used_mouse_menu@entry=0x7ffdd014f09b,
end_time=end_time@entry=0x0) at ../../src/keyboard.c:2898
2898 if (NILP(c) && end_time &&
Value returned is $4 = 75183542
(gdb) finish
Run till exit from #0 read_char (commandflag=1,
map=map@entry=63963270, prev_event=12327986,
used_mouse_menu=used_mouse_menu@entry=0x7ffdd014f09b,
end_time=end_time@entry=0x0)
at ../../src/keyboard.c:2898
0x00000000004f8a48 in read_key_sequence
(keybuf=keybuf@entry=0x7ffdd014f1a0, prompt=12327986,
dont_downcase_last=dont_downcase_last@entry=false,
can_return_switch_frame=can_return_switch_frame@entry=true,
fix_current_buffer=fix_current_buffer@entry=true,
prevent_redisplay=prevent_redisplay@entry=false, bufsize=30)
at ../../src/keyboard.c:9089
9089 key = read_char (prevent_redisplay ? -2 : NILP (prompt),
Value returned is $5 = 75183542
(gdb) finish
Run till exit from #0 0x00000000004f8a48 in read_key_sequence
(keybuf=keybuf@entry=0x7ffdd014f1a0, prompt=12327986,
dont_downcase_last=dont_downcase_last@entry=false,
can_return_switch_frame=can_return_switch_frame@entry=true,
fix_current_buffer=fix_current_buffer@entry=true,
prevent_redisplay=prevent_redisplay@entry=false, bufsize=30)
at ../../src/keyboard.c:9089
0x00000000004fa84e in command_loop_1 () at ../../src/keyboard.c:1453
1453 i = read_key_sequence (keybuf, sizeof keybuf / sizeof keybuf[0],
Value returned is $6 = 1
(gdb) finish
Run till exit from #0 0x00000000004fa84e in command_loop_1 () at
../../src/keyboard.c:1453
next prev parent reply other threads:[~2015-09-08 18:58 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-08 13:00 Need help debugging Emacs: emacsclient will not draw its contents sometimes Jon Dufresne
2015-09-08 13:28 ` Tassilo Horn
2015-09-08 17:18 ` Eli Zaretskii
2015-09-08 18:58 ` Jon Dufresne [this message]
2015-09-08 19:16 ` Eli Zaretskii
2015-09-09 22:29 ` Jon Dufresne
2015-09-10 15:26 ` Eli Zaretskii
2015-09-10 18:20 ` Jon Dufresne
2015-09-10 18:46 ` Eli Zaretskii
2015-09-10 18:52 ` Jon Dufresne
2015-09-11 7:26 ` Eli Zaretskii
2015-09-11 16:47 ` Jon Dufresne
2015-09-14 10:09 ` Eli Zaretskii
2015-09-23 0:51 ` Jon Dufresne
2015-09-23 6:45 ` Eli Zaretskii
2015-09-27 22:21 ` Mike Kupfer
2015-09-28 6:39 ` Eli Zaretskii
2016-02-16 1:07 ` Mike Kupfer
2016-02-16 16:26 ` Eli Zaretskii
2016-02-16 16:38 ` Kaushal Modi
2016-02-16 16:44 ` Eli Zaretskii
2016-02-16 17:06 ` Kaushal Modi
2016-02-17 2:05 ` Mike Kupfer
2016-02-17 20:02 ` Eli Zaretskii
2016-02-18 5:01 ` Mike Kupfer
2016-02-20 11:24 ` Eli Zaretskii
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='CADhq2b4j4_ekWf82hz0Um7YHbZbJN7+wT5=ECwvDQvK6GVQnxg@mail.gmail.com' \
--to=jon.dufresne@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@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.