ports/135974: innd core dumps with newer versions of libperl

Philip M. Gollucci pgollucci at p6m7g8.com
Thu Jun 25 02:08:46 UTC 2009


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) {
> 
> 




More information about the freebsd-ports-bugs mailing list