[<<][emacs][>>][..]
Fri Jun 8 08:53:08 EDT 2012

Blocking

Emacs freezes when I suspend a host (broebel) that's logged in with
emacsclient -t.  Also, that host is exporting NFS shares so that might
be the problem.  Running gdb attach gives the following.  Attach only
completes after waking up broebel.

If the attach is correct, the trace stops in stat called from
Ffile_readable_p / file-readable?

Probably NFS then.  Indeed I found some /net/broebel buffers..

EDIT: Verified: Looks like it was NFS.  When stopping autofs, making
sure /net/broebel is no longer mounted, even if emacsclient -t is
running on the host that is shut off, emacs doesn't block.  What I do
get is annoying pauses, I guess when the /net/broebel files are
checked, and autofs times out.


tom@zoo:~$ ps aux|grep emacs
tom        475  0.0  0.0   7692   844 pts/20   S+   08:43   0:00 grep emacs
tom       4587  0.3  1.7 356884 100980 ?       Dsl  May17 114:01 emacs --daemon
tom      32385  0.0  0.0   4008   240 ?        S    May18   0:00 emacsclient -c
tom@zoo:~$ gdb /usr/bin/emacs
GNU gdb (GDB) 6.8.50.20090628-cvs-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
(gdb) attach 4587
Attaching to program: /usr/bin/emacs, process 4587
^C^CQuit
(gdb) bt
#0  0x00007f848a0ffcd5 in ?? ()
#1  0x000000000051b513 in stat (filename=<value optimized out>)
    at /usr/include/x86_64-linux-gnu/sys/stat.h:457
#2  Ffile_readable_p (filename=<value optimized out>) at fileio.c:2616
#3  0x000000000055d091 in Ffuncall (nargs=<value optimized out>, args=<value optimized out>) at eval.c:3031
#4  0x0000000000597562 in Fbyte_code (bytestr=<value optimized out>, vector=<value optimized out>, 
    maxdepth=<value optimized out>) at bytecode.c:680
#5  0x000000000055cc0f in funcall_lambda (fun=33885061, nargs=<value optimized out>, 
    arg_vector=<value optimized out>) at eval.c:3220
#6  0x000000000055cebb in Ffuncall (nargs=<value optimized out>, args=0x2050b80) at eval.c:3088
#7  0x0000000000597562 in Fbyte_code (bytestr=<value optimized out>, vector=<value optimized out>, 
    maxdepth=<value optimized out>) at bytecode.c:680
#8  0x000000000055cc0f in funcall_lambda (fun=33008069, nargs=<value optimized out>, 
    arg_vector=<value optimized out>) at eval.c:3220
#9  0x000000000055cebb in Ffuncall (nargs=<value optimized out>, args=0x1f7a9c0) at eval.c:3088
#10 0x000000000055e5ec in Fapply (nargs=2, args=0x7fffd9f53ac8) at eval.c:2449
#11 0x000000000055d105 in Ffuncall (nargs=<value optimized out>, args=<value optimized out>) at eval.c:3012
#12 0x0000000000597562 in Fbyte_code (bytestr=<value optimized out>, vector=<value optimized out>, 
    maxdepth=<value optimized out>) at bytecode.c:680
#13 0x000000000055c704 in Feval (form=<value optimized out>) at eval.c:2356
#14 0x000000000055eef0 in internal_lisp_condition_case (var=11661874, bodyform=<value optimized out>, 
    handlers=<value optimized out>) at eval.c:1437
#15 0x00000000005966a3 in Fbyte_code (bytestr=<value optimized out>, vector=<value optimized out>, 
    maxdepth=<value optimized out>) at bytecode.c:870
#16 0x000000000055cc0f in funcall_lambda (fun=10081381, nargs=<value optimized out>, 
    arg_vector=<value optimized out>) at eval.c:3220
---Type <return> to continue, or q <return> to quit---
#17 0x000000000055cebb in Ffuncall (nargs=<value optimized out>, args=0x99d460) at eval.c:3088
#18 0x000000000055e15a in call1 (fn=<value optimized out>, arg1=<value optimized out>) at eval.c:2812
#19 0x00000000004ed28b in timer_check_2 (do_it_now=<value optimized out>) at keyboard.c:4760
#20 timer_check (do_it_now=<value optimized out>) at keyboard.c:4811
#21 0x00000000004ed54a in readable_events (flags=1) at keyboard.c:3700
#22 0x00000000004f2bf5 in get_input_pending (flags=1, addr=<value optimized out>) at keyboard.c:7086
#23 0x00000000004f2e3a in detect_input_pending_run_timers (do_display=1) at keyboard.c:10762
#24 0x000000000059f849 in wait_reading_process_output (time_limit=<value optimized out>, 
    microsecs=<value optimized out>, read_kbd=-1, do_display=<value optimized out>, 
    wait_for_cell=<value optimized out>, wait_proc=<value optimized out>, just_wait_proc=0) at process.c:5064
#25 0x00000000004f40ab in kbd_buffer_get_event (commandflag=<value optimized out>, 
    nmaps=<value optimized out>, maps=<value optimized out>, prev_event=<value optimized out>, 
    used_mouse_menu=<value optimized out>, end_time=0x0) at keyboard.c:4183
#26 read_char (commandflag=<value optimized out>, nmaps=<value optimized out>, maps=<value optimized out>, 
    prev_event=<value optimized out>, used_mouse_menu=<value optimized out>, end_time=0x0) at keyboard.c:3081
#27 0x00000000004f627b in read_key_sequence (keybuf=<value optimized out>, bufsize=<value optimized out>, 
    prompt=<value optimized out>, dont_downcase_last=<value optimized out>, 
    can_return_switch_frame=<value optimized out>, fix_current_buffer=<value optimized out>)
    at keyboard.c:9567
#28 0x00000000004f8810 in command_loop_1 () at keyboard.c:1645
#29 0x000000000055b60f in internal_condition_case (bfun=<value optimized out>, 
    handlers=<value optimized out>, hfun=<value optimized out>) at eval.c:1492
#30 0x00000000004f101e in command_loop_2 () at keyboard.c:1362
#31 0x000000000055b73a in internal_catch (tag=<value optimized out>, func=<value optimized out>, 
    arg=<value optimized out>) at eval.c:1228
#32 0x00000000004f1a41 in command_loop () at keyboard.c:1341
---Type <return> to continue, or q <return> to quit---
#33 0x00000000004f1e1a in recursive_edit_1 () at keyboard.c:956
#34 0x00000000004f1f57 in Frecursive_edit () at keyboard.c:1018
#35 0x00000000004e525c in main (argc=0, argv=0x7fffd9f55278) at emacs.c:1833



[Reply][About]
[<<][emacs][>>][..]