From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Jun 25 02:08:46 2009 Return-Path: Delivered-To: freebsd-ports-bugs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 16C90106564A; Thu, 25 Jun 2009 02:08:46 +0000 (UTC) (envelope-from pgollucci@p6m7g8.com) Received: from EXHUB015-4.exch015.msoutlookonline.net (exhub015-4.exch015.msoutlookonline.net [207.5.72.96]) by mx1.freebsd.org (Postfix) with ESMTP id 00BE48FC1B; Thu, 25 Jun 2009 02:08:45 +0000 (UTC) (envelope-from pgollucci@p6m7g8.com) Received: from [172.28.1.195] (76.161.175.34) by smtpx15.msoutlookonline.net (207.5.72.103) with Microsoft SMTP Server (TLS) id 8.1.358.0; Wed, 24 Jun 2009 18:58:40 -0700 Message-ID: <4A42D9D2.7020306@p6m7g8.com> Date: Wed, 24 Jun 2009 21:58:42 -0400 From: "Philip M. Gollucci" Organization: P6 Web Applications User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Dima Panov References: <200906231837.n5NIbC8i093066@www.freebsd.org> <200906251050.17659.Fluffy@fluffy.khv.ru> In-Reply-To: <200906251050.17659.Fluffy@fluffy.khv.ru> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: freebsd-ports-bugs@freebsd.org, shaun@freebsd.org Subject: Re: ports/135974: innd core dumps with newer versions of libperl X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Jun 2009 02:08:46 -0000 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) { > >