Mysterious random crashes with latest snapshots

Dave Korn dave.korn@artimi.com
Thu Jun 30 11:04:00 GMT 2005


----Original Message----
>From: Igor Pechtchanski
>Sent: 30 June 2005 05:51

> Hi,
> 
> I've been experiencing intermittent crashes on my Windows XP laptop with
> the past few DLL versions (from 1.5.16 to the latest snapshot).  

  I haven't noticed anything untoward myself.

> These are extremely hard to reproduce, 

  Oh, just great :(

> and happen seemingly at random, 

  Oh, even better!

> with various
> applications (most often bash, but I've seen it happen with xargs, man,
> etc).  The only correlation I noticed was that these seem to happen while
> spawning child processes, and they occur more often with higher memory
> usage.  I've only noticed the crashes of Cygwin applications --
> everything else seems to run smoothly.
> 
> I know this isn't much of a bug report, 

  I should drop a hippo on you!

> but the details of what I've tried
> are below (warning: [ ...SNIP!...]

> Here's part of the debugging session:

>   1 thread 6140.0x398  0x610469d1 in fork ()
>     at /netrel/src/cygwin-snapshot-20050624-1/winsup/cygwin/pinfo.h:178

> [Switching to thread 1 (thread 6140.0x398)]#0  0x610469d1 in fork ()
>     at /netrel/src/cygwin-snapshot-20050624-1/winsup/cygwin/pinfo.h:178

  Oh, kewl!  Source-level debugging!

> 178     /netrel/src/cygwin-snapshot-20050624-1/winsup/cygwin/pinfo.h: No
>         such file or directory. 

  Oh, not so kewl!  No source!

> BTW, for some reason addr2line only decodes the first address:

> debugging them?  I could compile a debugging version of the cygwin DLL

  Seems like that would be a good idea.

> with extra information printed

  Or even without; the first thing to do is get exactly where the crash is
happening, then look at what's going on there - that's the only way you'll
know what extra information might be relevant to print out.  And get an
unoptimised build of it, because then you don't have to worry about FPOs and
inlining and stuff.  Configure a clean build directory, then run

  make CFLAGS='-g -O0' CPPFLAGS='-g -O0' CXXFLAGS='-g -O0' all 2>&1 | tee
build.log

to get the best possible debugging experience from the cygwin dll.  Oh, that
only affects the winsup/cygwin build, though, the newlib stuff would still
be built with -O2; if you want that debuggable as well, you'll need to add
something like

NEWLIB_CFLAGS='-g -O0 -DHAVE_OPENDIR -DHAVE_RENAME -DSIGNAL_PROVIDED
-D_COMPILING_NEWLIB -DHAVE_FCNTL -DMALLOC_PROVIDED -fno-builtin'

although to be really certain I'd say after configuring look in
$objdir/i686-pc-cygwin/newlib/Makefile for the existing value and modify
that.

  FWIW, if we're in operator-> and pinfo.h and fork, it's generally
somewhere in the vicinity of that old MapViewOfFileEx call we all know and
love so well.....


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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



More information about the Cygwin mailing list