X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 12 Mar 2010 16:28:45 -0500 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Cygwin 1.7: Concurrency Issue with Shared State Initialization Message-ID: <20100312212845.GB28991@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Fri, Mar 12, 2010 at 04:48:14PM +0100, Schmidt, Oliver wrote: >Hi, > >> Does the patch help? > >As the issue is sporadic it's not that easy to come up with a conclusive >answer... > >I downloaded http://cygwin.com/snapshots/cygwin1-20100309.dll.bz2, >unpacked and renamed the DLL and used it as drop-in replacement to the >1.7.1 DLL. > >I experienced three times by now the effect that echo.exe "hangs" without >using significant CPU time. Is echo being run under a bash shell? From the command prompt? In a .bat file? Repeatedly in a loop? >Attaching a MSVC debugger I could only find >out that in all three cases the executable stays in this endless loop: > >7D6373D2 cmp dword ptr ds:[7D6A0220h],edi >7D6373D8 jne 7D628061 >7D6373DE lea eax,[ebp-28h] >7D6373E1 push eax >7D6373E2 push ebx >7D6373E3 call 7D61CCB1 >7D6373E8 cmp eax,ebx >7D6373EA jge 7D6373D2 > >I'm sort of reluctant to present this information this way as I'm afraid >I'm to give someone a bum steer. However I haven't had this effect so far >with with the 1.7.1 DLL so it would be at least one possible explanation >that the patch has a bug showing up in the very sporadic case it is >supposed to fix. If you also grab cygwin1-*.dbg.bz2 and uncompress it next to cygwin1.dll as "cygwin1.dbg" you should be able to attach to a hung process with gdb and get a backtrace with symbols: c:\>c:\cygwin\bin\gdb /bin/echo.exe (gdb) bt That may provide more details about where the process is hanging. Also if you can capture the first few screens after typing: (gdb) x/80x $esp (gdb) that would be useful. cgf -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple