On Wed, Jul 15, 2009 at 05:21:39PM +0200, Corinna Vinschen wrote: >On Jul 15 01:41, Steven Hartland wrote: >> >> ----- Original Message ----- From: "Christopher Faylor" >> <cgf-use...> > >http://cygwin.com/acronyms/#PCYMTNQREAIYR > >>> On Wed, Jul 15, 2009 at 12:36:56AM +0100, Steven Hartland wrote: >>>> This may or may not help: >>>> >>>> According to VC++ debugger it always dies with: >>>> Unhandled exception at 0x610d089d in perl.exe: 0xC0000005: Access >>>> violation reading location 0x00000004. >>> >>> No, sorry, it really doesn't help. The VC++ debugger doesn't know how >>> to handle cygwin exceptions. >> >> Was just trying to get a hint of the area of the problem since gdb doesn't >> actually break when it happens this seemed to be the only way to get that >> info. >> >> Any pointers on how I can help narrow down the issue? > >I can reproduce the problem on my 2008 R2 box. It works fine on Windows >7 x64, though, so it's a Server thingy. > >What happens is that this statement > > if ((*object)->magic != magic) > >in the function thread.cc:verifyable_object_isvalid throws an exception >because *object is NULL. This should be covered by the myfault handler >in this function but for some reason it isn't. > >To debug this further I created a STC(TM)(*) which does the same as the >Perl testcase, just in pure C: > >==== SNIP ==== >#include <stdio.h> >#include <errno.h> >#include <pthread.h> > >pthread_attr_t attr; > >void *thr (void *arg) >{ > printf ("I'm a thread\n"); > return NULL; >} > >int main() >{ > pthread_t t; > int i, r; > void *ret; > > fprintf (stderr, "Testing threads...\n"); > i = pthread_attr_init (&attr); > printf ("i = %d\n", i); > r = pthread_create (&t, &attr, thr, NULL); > if (r) > fprintf (stderr, "pthread_create: %d %s\n", errno, strerror (errno)); > else > pthread_join (t, &ret); > fprintf (stderr, "Testing done\n"); > return 0; >} >==== SNAP ====
I can't try this right now myself but what about trying various settings for a SIGSEGV signal handler? 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