Date: Wed, 24 Jun 2009 21:58:42 -0400 From: "Philip M. Gollucci" <pgollucci@p6m7g8.com> To: Dima Panov <Fluffy@fluffy.khv.ru> Cc: freebsd-ports-bugs@freebsd.org, shaun@freebsd.org Subject: Re: ports/135974: innd core dumps with newer versions of libperl Message-ID: <4A42D9D2.7020306@p6m7g8.com> In-Reply-To: <200906251050.17659.Fluffy@fluffy.khv.ru> References: <200906231837.n5NIbC8i093066@www.freebsd.org> <200906251050.17659.Fluffy@fluffy.khv.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
Have you submitted this to p5p ? Actually its looks like a gcc optimization bug similiar to one that affected www/mod_perl recently http://lists.cpan.org/showlist.cgi?name=perl5-porters >> Building innd-2.4.5 and perl-5.10.0_3 from ports ends up with innd >> segmentation faulting in libperl.so whenever it tries to start. > > --- lib/perl.c.orig 2008-06-30 04:56:57.000000000 +1100 > +++ lib/perl.c 2009-02-11 00:49:49.000000000 +1000 > @@ -110,14 +110,18 @@ > if (PerlCode == NULL) { > /* Perl waits on standard input if not called with '-e'. */ > int argc = 3; > - const char *argv[] = { "innd", "-e", "0", NULL }; > - char *env[] = { NULL }; > + const char *argv_innd[] = { "innd", "-e", "0", NULL }; > + char **argv = (char **)argv_innd; /* Cast required by Perl 5.10. */ > + char **env = { NULL }; > #ifdef PERL_SYS_INIT3 > PERL_SYS_INIT3(&argc, &argv, &env); > #endif > PerlCode = perl_alloc(); > perl_construct(PerlCode); > - perl_parse(PerlCode, xs_init, argc, (char **)argv, env) ; > +#ifdef PERL_EXIT_DESTRUCT_END > + PL_exit_flags |= PERL_EXIT_DESTRUCT_END; > +#endif > + perl_parse(PerlCode, xs_init, argc, argv, env) ; > } > > if (startupfile != NULL && filterfile != NULL) { > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A42D9D2.7020306>