emacs-devel
[Top][All Lists]
Advanced

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

Re: misbehavior in shell window with ksh


From: Stephen Berman
Subject: Re: misbehavior in shell window with ksh
Date: Tue, 02 May 2017 18:55:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

On Tue, 02 May 2017 19:32:31 +0300 Eli Zaretskii <address@hidden> wrote:

>> From: Stephen Berman <address@hidden>
>> Cc: address@hidden,  address@hidden
>> Date: Tue, 02 May 2017 14:35:44 +0200
>> 
>> > What if you step into comint-output-filter with Edebug (as you already
>> > seem to have a way of doing that), then type 'd' to produce a
>> > backtrace?  Does that show who called comint-output-filter?
>> 
>> Unfortunately not.  FTR: I instrumented comint-output-filter for Edebug
>> and started the recipe.  On entering `ksh RET' at the shell prompt,
>> Edebug took control and I typed `d' and got this backtrace:
>> 
>>   comint-output-filter(#<process shell> "address@hidden:/home/steve> ")
>> 
>> I typed `q' and continued with the recipe, and at `C-x 0' (M-o and M-0
>> above were typos) Edebug again took over, and `d' produced this
>> backtrace:
>> 
>>   comint-output-filter(#<process shell> "> ")
>> 
>> > It could be that it is called by the process-filter mechanism, which
>> > is in C.  But what we want to know is where does the 2nd arg of
>> > comint-output-filter comes from, and why.
>> 
>> If you can advise me what to try in gdb, I can do that.
>
> Get Emacs to stop in comint-output-filter using Edebug, then attach
> GDB, make sure src/.gdbinit is being source'd by GDB, and type
>
>   (gdb) bt
>
> This should producve both C-level backtrace and Lisp-level backtrace.

Here they are:

#0  0x00007fd0f3733bd9 in pselect () at /lib64/libc.so.6
#1  0x00000000005ab745 in really_call_select (address@hidden)
    at /home/steve/git/emacs-master/src/thread.c:566
#2  0x000000000053d8c6 in flush_stack_call_func (address@hidden 
<really_call_select>, address@hidden)
    at /home/steve/git/emacs-master/src/alloc.c:5153
#3  0x00000000005abc0b in thread_select (func=<optimized out>, address@hidden, 
address@hidden, wfds=<optimized out>, address@hidden, address@hidden, 
address@hidden)
    at /home/steve/git/emacs-master/src/thread.c:589
#4  0x00000000005c6391 in xg_select (fds_lim=19, address@hidden, 
wfds=0x7ffcbb814450, address@hidden, address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/xgselect.c:117
#5  0x00000000005903da in wait_reading_process_output (address@hidden, 
address@hidden, read_kbd=<optimized out>, address@hidden, address@hidden, 
address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/process.c:5355
#6  0x0000000000421953 in sit_for (address@hidden, address@hidden, 
address@hidden)
    at /home/steve/git/emacs-master/src/dispnew.c:5763
#7  0x00000000004f313e in read_char (commandflag=1, address@hidden, 
prev_event=0, address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/keyboard.c:2722
#8  0x00000000004f4252 in read_key_sequence (address@hidden, address@hidden, 
address@hidden, address@hidden, address@hidden, address@hidden, address@hidden)
    at /home/steve/git/emacs-master/src/keyboard.c:9122
#9  0x00000000004f57aa in command_loop_1 ()
---Type <return> to continue, or q <return> to quit---
    at /home/steve/git/emacs-master/src/keyboard.c:1370
#10 0x00000000005533cd in internal_condition_case (address@hidden 
<command_loop_1>, address@hidden, address@hidden <cmd_error>)
    at /home/steve/git/emacs-master/src/eval.c:1324
#11 0x00000000004e840f in command_loop_2 (address@hidden)
    at /home/steve/git/emacs-master/src/keyboard.c:1112
#12 0x0000000000553347 in internal_catch (address@hidden, address@hidden 
<command_loop_2>, address@hidden)
    at /home/steve/git/emacs-master/src/eval.c:1091
#13 0x00000000004e83e7 in command_loop ()
    at /home/steve/git/emacs-master/src/keyboard.c:1083
#14 0x00000000004ec6c1 in recursive_edit_1 ()
    at /home/steve/git/emacs-master/src/keyboard.c:697
#15 0x00000000004ec98a in Frecursive_edit ()
    at /home/steve/git/emacs-master/src/keyboard.c:768
#16 0x00000000005554bb in funcall_subr (subr=0x843120 <Srecursive_edit>, 
address@hidden, address@hidden)
    at /home/steve/git/emacs-master/src/eval.c:2815
#17 0x000000000055497a in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2742
#18 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=47927725, maxdepth=<optimized out>, address@hidden, address@hidden, 
args=<optimized out>, address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#19 0x00000000005545e4 in funcall_lambda (fun=47928061, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2942
#20 0x00000000005549a6 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2744
#21 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=47926757, m---Type <return> to continue, or q <return> to quit---
axdepth=<optimized out>, address@hidden, address@hidden, args=<optimized out>, 
address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#22 0x00000000005545e4 in funcall_lambda (fun=47927453, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2942
#23 0x00000000005549a6 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2744
#24 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=18637573, maxdepth=<optimized out>, address@hidden, address@hidden, 
args=<optimized out>, address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#25 0x00000000005545e4 in funcall_lambda (fun=47926149, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2942
#26 0x00000000005549a6 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2744
#27 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=47925941, maxdepth=<optimized out>, address@hidden, address@hidden, 
args=<optimized out>, address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#28 0x00000000005545e4 in funcall_lambda (fun=47926101, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2942
#29 0x00000000005549a6 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2744
#30 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=47925357, maxdepth=<optimized out>, address@hidden, address@hidden, 
args=<optimized out>, address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#31 0x00000000005545e4 in funcall_lambda (address@hidden, address@hidden, 
address@hidden)
---Type <return> to continue, or q <return> to quit---
    at /home/steve/git/emacs-master/src/eval.c:2942
#32 0x0000000000553cad in apply_lambda (address@hidden, args=<optimized out>, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2879
#33 0x0000000000554290 in eval_sub (address@hidden)
    at /home/steve/git/emacs-master/src/eval.c:2263
#34 0x0000000000553c6c in apply_lambda (address@hidden, args=<optimized out>, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2874
#35 0x0000000000554290 in eval_sub (form=<optimized out>)
    at /home/steve/git/emacs-master/src/eval.c:2263
#36 0x0000000000554469 in Fprogn (body=53182579)
    at /home/steve/git/emacs-master/src/eval.c:449
#37 0x00000000005547c2 in funcall_lambda (fun=50274099, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:3013
#38 0x0000000000554a04 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2756
#39 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=47981685, maxdepth=<optimized out>, address@hidden, address@hidden, 
args=<optimized out>, address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#40 0x00000000005545e4 in funcall_lambda (fun=47982005, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2942
#41 0x00000000005549a6 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2744
#42 0x0000000000585ea3 in exec_byte_code (bytestr=<optimized out>, 
vector=47981685, maxdepth=<optimized out>, address@hidden, address@hidden, 
args=<optimized out>, address@hidden)
    at /home/steve/git/emacs-master/src/bytecode.c:641
#43 0x00000000005545e4 in funcall_lambda (address@hidden, address@hidden, 
address@hidden)
---Type <return> to continue, or q <return> to quit---
    at /home/steve/git/emacs-master/src/eval.c:2942
#44 0x0000000000553cad in apply_lambda (address@hidden, args=<optimized out>, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:2879
#45 0x0000000000554290 in eval_sub (form=<optimized out>)
    at /home/steve/git/emacs-master/src/eval.c:2263
#46 0x0000000000554469 in Fprogn (body=53182403)
    at /home/steve/git/emacs-master/src/eval.c:449
#47 0x00000000005547c2 in funcall_lambda (fun=53178035, address@hidden, 
address@hidden) at /home/steve/git/emacs-master/src/eval.c:3013
#48 0x0000000000554a04 in Ffuncall (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2756
#49 0x0000000000555f85 in Fapply (address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/eval.c:2373
#50 0x0000000000555feb in apply1 (fn=4150696, arg=<optimized out>)
    at /home/steve/git/emacs-master/src/eval.c:2589
#51 0x0000000000589297 in read_process_output_call (address@hidden) at 
/home/steve/git/emacs-master/src/process.c:5771
#52 0x0000000000553443 in internal_condition_case_1 (address@hidden 
<read_process_output_call>, arg=50273987, address@hidden, address@hidden 
<read_process_output_error_handler>)
    at /home/steve/git/emacs-master/src/eval.c:1348
#53 0x0000000000588e2f in read_and_dispose_of_process_output (address@hidden, 
address@hidden "> ", address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/process.c:5979
#54 0x0000000000589095 in read_process_output (address@hidden, address@hidden) 
at /home/steve/git/emacs-master/src/process.c:5890
#55 0x0000000000590a0a in wait_reading_process_output (address@hidden, 
address@hidden, read_kbd=<optimized out>, address@hidden, address@hidden, 
address@hidden, just_wait_proc=just---Type <return> to continue, or q <return> 
to quit---
address@hidden) at /home/steve/git/emacs-master/src/process.c:5589
#56 0x0000000000421953 in sit_for (address@hidden, address@hidden, 
address@hidden)
    at /home/steve/git/emacs-master/src/dispnew.c:5763
#57 0x00000000004f313e in read_char (commandflag=1, address@hidden, 
prev_event=0, address@hidden, address@hidden) at 
/home/steve/git/emacs-master/src/keyboard.c:2722
#58 0x00000000004f4252 in read_key_sequence (address@hidden, address@hidden, 
address@hidden, address@hidden, address@hidden, address@hidden, address@hidden)
    at /home/steve/git/emacs-master/src/keyboard.c:9122
#59 0x00000000004f57aa in command_loop_1 ()
    at /home/steve/git/emacs-master/src/keyboard.c:1370
#60 0x00000000005533cd in internal_condition_case (address@hidden 
<command_loop_1>, address@hidden, address@hidden <cmd_error>)
    at /home/steve/git/emacs-master/src/eval.c:1324
#61 0x00000000004e840f in command_loop_2 (address@hidden)
    at /home/steve/git/emacs-master/src/keyboard.c:1112
#62 0x0000000000553347 in internal_catch (address@hidden, address@hidden 
<command_loop_2>, address@hidden)
    at /home/steve/git/emacs-master/src/eval.c:1091
#63 0x00000000004e83b5 in command_loop ()
    at /home/steve/git/emacs-master/src/keyboard.c:1091
#64 0x00000000004ec6c1 in recursive_edit_1 ()
    at /home/steve/git/emacs-master/src/keyboard.c:697
#65 0x00000000004ec98a in Frecursive_edit ()
    at /home/steve/git/emacs-master/src/keyboard.c:768
#66 0x00000000004e7fc9 in main (argc=2, argv=0x7ffcbb817f28)
---Type <return> to continue, or q <return> to quit---
    at /home/steve/git/emacs-master/src/emacs.c:1687

Lisp Backtrace:
"recursive-edit" (0xbb814c58)
"edebug--recursive-edit" (0xbb814f78)
"edebug--display-1" (0xbb815338)
"edebug--display" (0xbb815508)
"edebug-debugger" (0xbb815738)
"edebug-before" (0xbb8158b0)
"edebug-after" (0xbb815af8)
0x2ff1f40 Lisp type 3
"edebug-enter" (0xbb815eb8)
"edebug-enter" (0xbb8160c0)
"comint-output-filter" (0xbb8162e8)



reply via email to

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