Intermittent failures retrieving process exit codes - snapshot test requested

Tom Honermann thonermann@coverity.com
Tue Jan 1 01:45:00 GMT 2013


On 12/29/2012 04:57 PM, Christopher Faylor wrote:
> On Thu, Dec 27, 2012 at 03:49:24PM -0500, Tom Honermann wrote:
>> When interrupting the test run, I'll often (but not always) get the
>> following error:
>>
>> c:\>test-strace.bat
>> test...
>> test...
>> test...
>> test...
>> --- Process 8092, exception 40010005 at 75E26D67
>
> That is coming from strace and it's:
>
> /usr/include/w32api/ntstatus.h:#define DBG_CONTROL_C ((NTSTATUS)0x40010005)
>
> i.e., it's expected.

Ah, sorry, I should have researched that further before reporting it. 
Thanks for the explanation.

>> Additionally, some of the Cygwin gcc built utilities that I've built for
>> testing now occasionally hang upon interruption by ctrl-c.  Basic
>> diagnostics courtesy of gdb follow.
>
> The hang should be fixed in the latest snapshot.

I'm still seeing hangs in the latest code from CVS.  The stack traces 
below are from WinDbg.  I manually resolved the symbol references within 
the cygwin1 module using the linker generated .map file.  Since the .map 
file does not include static functions, some of these may be incorrect - 
I didn't try and verify or correct for this.

  # ChildEBP RetAddr
00 00288bd0 758d0a91 ntdll!ZwWaitForSingleObject+0x15
01 00288c3c 76c11194 KERNELBASE!WaitForSingleObjectEx+0x98
02 00288c54 76c11148 kernel32!WaitForSingleObjectExImplementation+0x75
03 00288c68 610f1553 kernel32!WaitForSingleObject+0x12
04 00288cb8 6118e54d cygwin1!strtosigno+0x357
                              __ZN4muto7acquireEm
                              muto::acquire(unsigned long)
05 00288cc8 610f17b2 cygwin1!alloca+0xbbc9
                              __ZN6dtable4lockEv
                              dtable::lock()
06 00288d28 610eb717 cygwin1!strtosigno+0x5b6
                              __Z15close_all_filesb@4
                              close_all_files(bool)
07 00289a48 610eb92b cygwin1!sigfillset+0x7f3e
                              __ZN16child_info_spawn6workerEPKcPKS1_S3_iii
                              child_info_spawn::worker(char const*, char 
const* const*, char const* const*, int, int, int)
08 00289a88 6103af97 cygwin1!sigfillset+0x8152
                              _spawnve
09 0028ac28 61007b38 cygwin1!getenv+0x5293
                              _execlp
0a 0028ac48 61007ad5 cygwin1!setprogname+0x597d
0b 00000000 00000000 cygwin1!setprogname+0x591a


  # ChildEBP RetAddr
00 0071aafc 758cd348 ntdll!ZwReadFile+0x15
01 0071ab60 76c13ef7 KERNELBASE!ReadFile+0x118
02 0071aba8 610e7910 kernel32!ReadFileImplementation+0xf0
03 0071aca8 61003ec2 cygwin1!sigfillset+0x4137
                              __ZN15pending_signals4nextEv
                              pending_signals::next()
04 0071ace8 61004057 cygwin1!setprogname+0x1d07
                              __ZN9cygthread8callfuncEb
                              cygthread::callfunc(bool)
05 0071ad28 61004f61 cygwin1!setprogname+0x1e9c
                              __ZN9cygthread4stubEPv@4
                              cygthread::stub(void*)
06 0071cd98 61004dbc cygwin1!setprogname+0x2da6
                              __ZN7_cygtls5call2EPFmPvS0_ES0_S0_A
                              _cygtls::call2(unsigned long (*)(void*, 
void*), void*, void*)
07 0071ff68 61087074 cygwin1!setprogname+0x2c01
                              __ZN7_cygtls4callEPFmPvS0_ES0_A
                              _cygtls::call(unsigned long (*)(void*, 
void*), void*)
08 0071ff88 76c1339a cygwin1!setgrent+0x283c
09 0071ff94 779a9ef2 kernel32!BaseThreadInitThunk+0xe
0a 0071ffd4 779a9ec5 ntdll!__RtlUserThreadStart+0x70
0b 0071ffec 00000000 ntdll!_RtlUserThreadStart+0x1b

Tom.


--
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



More information about the Cygwin mailing list