X-Spam-Check-By: sourceware.org Message-ID: <4405C22F.2090309@steeleye.com> Date: Wed, 01 Mar 2006 10:47:59 -0500 From: Paul Clements User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050317) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Shells hang during script execution References: <43FF6AED DOT 1060102 AT steeleye DOT com> <20060224213808 DOT GA7638 AT trixie DOT casa DOT cgf DOT cx> <4403339C DOT 9000807 AT steeleye DOT com> <20060227173438 DOT GB12768 AT trixie DOT casa DOT cgf DOT cx> In-Reply-To: <20060227173438.GB12768@trixie.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Christopher Faylor wrote: > It's also in the latest snapshot: http://cygwin.com/snapshots/ I got the latest cygwin dll snapshot (20060227) a few days ago and I've been stress testing ksh with this new dll since. The good news is that the hang issues (signal related) that I was seeing appear to be fixed by your patches. I've not seen the either of the two hangs with this snapshot. Thanks Christopher. The bad news is that I'm now seeing a segmentation violation (4 or 5 times so far) that I was not seeing before. I don't know if fixing the hangs has allowed me to get to this point, or if the crashes are due to the patches (hard to see how that could be the case). I'm having trouble figuring out how the crash occurred, because the last address in the stackdump looks bogus. I'm not sure if there's any significance to that (could it be a signal handler that was injected into the stack, or could this be due to stack corruption, or does this look normal?). Anyway, below is the stack trace and (very simple) test script I'm running. Any ideas or suggestions on things to try? -- Paul $ cat ksh.exe.stackdump Exception: STATUS_ACCESS_VIOLATION at eip=0022FBFC eax=00000000 ebx=FFFFFFFF ecx=610FE084 edx=0022F064 esi=00484283 edi=00486C1D ebp=0022E848 esp=0022E830 program=c:\lk\bin\ksh.exe, pid 1816, thread main cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023 Stack trace: Frame Function Args 0022E848 0022FBFC (00484660, 00000000, 0009C05C, 0041E1F2) 0022E938 0040AB39 (00486C18, 0022E950, 00000020, 004896C8) 0022E968 0040A0FA (00486C18, 00000020, 004895F0, 00000000) 0022E9B8 0040CFA8 (00486C50, 00000000, 00486B38, 00000000) 0022EA38 0040C4C1 (00486C50, 00000000, 004895F4, 00000100) 0022EAB8 0040C665 (00486C80, 00000000, 00486888, 00000000) 0022EB38 0040CAFD (004867B8, 00000000, 0022EB88, 00000003) 0022EBB8 0040C68E (004867B8, 00000000, 0022EBE8, 0041A317) 0022EC38 0040C68E (00487350, 00000000, 0022EC68, 00416A9A) 0022EC68 004166FB (004850E8, 00000001, 00000000, 00000030) 0022EEC8 004162B2 (00000002, 6115E7B4, 00480090, 77DBD397) 0022EF78 61005BC8 (0022EFD0, 0022EFFC, C0150008, 00000000) 0022FF88 61005EB3 (00000000, 00000000, 00000000, 00000000) End of stack trace Corresponding symbols: 22fbfc ?? (this address looks bogus) 40ab39 expand (40ab39 is after the call to waitlast) 40a0fa evalstr 40cfa8 comexec The test case is very simple. I just run three copies of ksh like this: ksh ./test.sh --- test.sh --- n=${1:-10000000} i=0 while [ $i -lt $n ] do x=`echo a:$i | cut -d: -f1` i=$(( $i + 1 )) m=$(( $i % 1000 )) if [ $m -eq 0 ]; then echo -n $i: $$:; date; fi done -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/