On Sat, Sep 10, 2011 at 09:41:38PM +0300, Niko Tyni wrote: > On Mon, Aug 08, 2011 at 12:36:22PM +0200, Petr Salinger wrote: > > >perl -Mthreads -e 'threads->create(sub {})->detach; fork' > > > > > >which crashes non-deterministically about half the time for me. > > > The problem might be in usage of "pthread_atfork(lock, unlock, unlock)". > > [...] > > > It should suffice to add into util.c > > > Perl_atfork_reinit(void) > > > and > > > --- miniperlmain.c > > +++ miniperlmain.c > > @@ -101,7 +101,7 @@ > > * --GSAR 2001-07-20 */ > > PTHREAD_ATFORK(Perl_atfork_lock, > > Perl_atfork_unlock, > > - Perl_atfork_unlock); > > + Perl_atfork_reinit); > > #endif > > Thanks, and sorry for the delay! > > I finally found the time to try this out, but unfortunately it does > not seem to fix the problem. Even the crash trace looks the same. > (I did check that Perl_atfork_reinit() actually gets run.) > > I'm attaching the full patch I used based on the above. Most of it is > generated by regen.pl in the source top level directory after editing > embed.fnc. > > Running 'debian/rules perl.debug' after applying this should be enough to > do a test build. Alternatively, I'm happy to try out other suggestions, > hopefully with a shorter turnaround time than with this one :)
The test case: perl -Mthreads -e 'threads->create(sub {})->detach; fork' ran 10,000 times without crashing on my kfreeBSD KVM (SMP) VM, using 5.14.2-11 and up-to-date sid from today. Can you reproduce this? If so, perhaps the problem has been solved by some change in kFreeBSD. -- Dominic Hargreaves | http://www.larted.org.uk/~dom/ PGP key 5178E2A5 from the.earth.li (keyserver,web,email) -- To UNSUBSCRIBE, email to debian-bsd-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120610221835.gd5...@urchin.earth.li