Subshell hangs



Hi,

I am trying to port mc to cygwin.
I was able to build it from CVS, then fixed problem in regex which was
making mc
useless.
At the moment my main problem is that subshell, invoked from mc hangs very
often.
It hangs when a proces, invoked from shell is about to return and shell
must display command prompt, but this doesn't happen. Control-O, Control-C,
Control-Z, Control-D, Control-break don't help, and the only fix is just to
close the terminal window with mc....
This also happens if just hit Enter few times.
Interestingly enough  this happens much more frequently while running mc in
rxtvt or xterm, than while running from command prompt box.
I attached gdb to mc when this happened, the call stack of mc is as follows:

#0  0x77f827e8 in _libkernel32_a_iname ()
#1  0x77e86a15 in _libkernel32_a_iname ()
#2  0x77e86a3d in _libkernel32_a_iname ()
#3  0x6100df50 in _libkernel32_a_iname ()
#4  0x61058bfc in _libkernel32_a_iname ()
#5  0x0044b4cc in synchronize () at subshell.c:1098
#6  0x0044b32c in feed_subshell (how=1, fail_on_error=0) at subshell.c:1039
#7  0x0044a58b in invoke_subshell (command=0x0, how=1, new_dir=0x22fd40)
    at subshell.c:609
#8  0x0040a251 in view_other_cmd () at cmd.c:930
#9  0x0042dd8e in midnight_callback (h=0xa0168d0, id=15, msg=11) at
main.c:1921
#10 0x0041212a in dlg_key_event (h=0xa0168d0, d_key=15) at dlg.c:707
#11 0x00412364 in dlg_process_event (h=0xa0168d0, key=15, event=0x22fe14)
    at dlg.c:827
#12 0x00412a9f in frontend_run_dlg (h=0xa0168d0) at dlg.c:859
#13 0x0041238d in run_dlg (h=0xa0168d0) at dlg.c:871
#14 0x0042e063 in setup_panels_and_run_mc () at main.c:1992
#15 0x0042e29e in do_nc () at main.c:2056
#16 0x004300e3 in main (argc=1, argv=0x61562fa8) at main.c:2710
#17 0x61003f8e in _libkernel32_a_iname ()
#18 0x61004282 in _libkernel32_a_iname ()
#19 0x610042c1 in _libkernel32_a_iname ()
#20 0x004a6edf in cygwin_crt0 ()

Attaching to hanging bash didn't give me any useful information since my
bash doesn't have debug info.
My bash is 2.05a-2 and cygwin.dll is 1.3.9.
I noticed that ps marks the hanging bash with "S" in front of the record:
S     496    1572     496       1600    1  500 22:44:19 /usr/bin/bash

Any ideas what can be wrong?

Regards,
Alex





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