X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Wed, 15 Jul 2009 12:23:17 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: perl threads on 2008 R2 64bit = crash ( was: perl 5.10 threads on 1.5.25 = instant crash ) Message-ID: <20090715162317.GM14502@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20090714190436 DOT GO27613 AT calimero DOT vinschen DOT de> <20090714200631 DOT GP27613 AT calimero DOT vinschen DOT de> <20090714205617 DOT GA12534 AT ednor DOT casa DOT cgf DOT cx> <8541BCA91FF64580AA7A8065FBF9C938 AT multiplay DOT co DOT uk> <39B3B148DA514671BB2E1AE46946169C AT multiplay DOT co DOT uk> <20090715000331 DOT GA5635 AT ednor DOT casa DOT cgf DOT cx> <6D01817BC10A4430AFE7A590CC935C09 AT multiplay DOT co DOT uk> <20090715152139 DOT GA694 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090715152139.GA694@calimero.vinschen.de> 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 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" >> > >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 >#include >#include > >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