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 ==== The problem is, this testcase works fine, even on 2008 R2. It must have something to do with the way Perl creates thread or does its own exception handling. I just don't know what to look for. Corinna (*) http://cygwin.com/acronyms/#STC -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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