all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



  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.