emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: BLOCK_INPUT on Mac OS X


From: YAMAMOTO Mitsuharu
Subject: Re: BLOCK_INPUT on Mac OS X
Date: Tue, 07 Sep 2004 17:21:50 +0900
User-agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 Emacs/21.3.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On 06 Sep 2004 12:17:45 -0400, Stefan <address@hidden> said:

> Can you try and figure out where in the C code is Emacs looping?  A
> well placed QUIT in there should do the trick.

It seems to be looping in `emacs_read' called from `Fcall_process'.
Here's the backtrace.  I believe this can also be reproducible in
other "SIGIO systems".

                                     YAMAMOTO Mitsuharu
                                address@hidden

(gdb) bt
#0  0x9000eac4 in read ()
#1  0x00139e90 in emacs_read (fildes=55, buf=0xbfff9d20 "", nbyte=16384) at 
/Users/mituharu/src/cvs/emacs/src/sysdep.c:3260
#2  0x002342f4 in Fcall_process (nargs=6, args=0xbfffe7dc) at 
/Users/mituharu/src/cvs/emacs/src/callproc.c:766
#3  0x002352c0 in Fcall_process_region (nargs=6, args=0xbfffe7dc) at 
/Users/mituharu/src/cvs/emacs/src/callproc.c:1146
#4  0x001ceb74 in Ffuncall (nargs=9, args=0xbfffe7d0) at 
/Users/mituharu/src/cvs/emacs/src/eval.c:2717
#5  0x00220900 in Fbyte_code (bytestr=3070347, vector=3070660, maxdepth=72) at 
/Users/mituharu/src/cvs/emacs/src/bytecode.c:689
#6  0x001cf848 in funcall_lambda (fun=3070252, nargs=6, arg_vector=0xbfffea54) 
at /Users/mituharu/src/cvs/emacs/src/eval.c:2923
#7  0x001cef94 in Ffuncall (nargs=7, args=0xbfffea50) at 
/Users/mituharu/src/cvs/emacs/src/eval.c:2784
#8  0x00220900 in Fbyte_code (bytestr=3068307, vector=3068612, maxdepth=64) at 
/Users/mituharu/src/cvs/emacs/src/bytecode.c:689
#9  0x001cf848 in funcall_lambda (fun=3068244, nargs=3, arg_vector=0xbfffecc4) 
at /Users/mituharu/src/cvs/emacs/src/eval.c:2923
#10 0x001cef94 in Ffuncall (nargs=4, args=0xbfffecc0) at 
/Users/mituharu/src/cvs/emacs/src/eval.c:2784
#11 0x001cdd60 in Fapply (nargs=2, args=0xbfffed88) at 
/Users/mituharu/src/cvs/emacs/src/eval.c:2241
#12 0x001ce460 in apply1 (fn=58798457, arg=17411981) at 
/Users/mituharu/src/cvs/emacs/src/eval.c:2494
#13 0x001c6464 in Fcall_interactively (function=58798457, record_flag=58721281, 
keys=34606228) at /Users/mituharu/src/cvs/emacs/src/callint.c:407
#14 0x00128038 in Fcommand_execute (cmd=58798457, record_flag=58721281, 
keys=58721281, special=58721281) at 
/Users/mituharu/src/cvs/emacs/src/keyboard.c:9725
#15 0x00114684 in command_loop_1 () at 
/Users/mituharu/src/cvs/emacs/src/keyboard.c:1776
#16 0x001cb64c in internal_condition_case (bfun=0x112640 <command_loop_1>, 
handlers=58766377, hfun=0x111cd8 <cmd_error>) at 
/Users/mituharu/src/cvs/emacs/src/eval.c:1346
#17 0x001122d4 in command_loop_2 () at 
/Users/mituharu/src/cvs/emacs/src/keyboard.c:1306
#18 0x001caec0 in internal_catch (tag=58761641, func=0x112294 <command_loop_2>, 
arg=58721281) at /Users/mituharu/src/cvs/emacs/src/eval.c:1107
#19 0x0011223c in command_loop () at 
/Users/mituharu/src/cvs/emacs/src/keyboard.c:1285
#20 0x00111768 in recursive_edit_1 () at 
/Users/mituharu/src/cvs/emacs/src/keyboard.c:978
#21 0x001119f4 in Frecursive_edit () at 
/Users/mituharu/src/cvs/emacs/src/keyboard.c:1039
#22 0x0010f6a8 in main (argc=3, argv=0xbffffd84) at 
/Users/mituharu/src/cvs/emacs/src/emacs.c:1687
(gdb) list
788     #ifdef VMS
789          char **envp;
790     #endif
791     {
792     #if GC_MARK_STACK
793       Lisp_Object dummy;
794     #endif
795       char stack_bottom_variable;
796       int do_initial_setlocale;
797       int skip_args = 0;
(gdb) up
#1  0x00139e90 in emacs_read (fildes=55, buf=0xbfff9d20 "", nbyte=16384) at 
/Users/mituharu/src/cvs/emacs/src/sysdep.c:3260
3260      while ((rtnval = read (fildes, buf, nbyte)) == -1
(gdb) list
3255         char *buf;
3256         unsigned int nbyte;
3257    {
3258      register int rtnval;
3259    
3260      while ((rtnval = read (fildes, buf, nbyte)) == -1
3261             && (errno == EINTR));
3262      return (rtnval);
3263    }
3264    
(gdb) up
#2  0x002342f4 in Fcall_process (nargs=6, args=0xbfffe7dc) at 
/Users/mituharu/src/cvs/emacs/src/callproc.c:766
766                 int this_read = emacs_read (fd[0], bufptr + nread,
(gdb) list
761                of the buffer size we have.  But don't read
762                less than 1024--save that for the next bufferful.  */
763             nread = carryover;
764             while (nread < bufsize - 1024)
765               {
766                 int this_read = emacs_read (fd[0], bufptr + nread,
767                                             bufsize - nread);
768     
769                 if (this_read < 0)
770                   goto give_up;
(gdb) p interrupt_input_pending 
$1 = 1
(gdb) p Vquit_flag
$2 = 58721281
(gdb) p Vinhibit_quit
$3 = 58721281
(gdb) p Qnil
$4 = 58721281
(gdb) quit
The program is running.  Exit anyway? (y or n) y

Debugger finished




reply via email to

[Prev in Thread] Current Thread [Next in Thread]