Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Jan 2009 22:42:14 +0100
From:      Michael Grimm <mike@odo.in-berlin.de>
To:        Michael Grimm <mike@odo.in-berlin.de>
Cc:        ports@FreeBSD.org, shaun@FreeBSD.org
Subject:   Re: FreeBSD Port: inn-2.4.5
Message-ID:  <5AB3AA0C-A326-427E-9125-DCFC0D0DBDBA@odo.in-berlin.de>
In-Reply-To: <EF9ECF0C-EFE7-41BF-8FB3-A624D97F163E@odo.in-berlin.de>
References:  <EF9ECF0C-EFE7-41BF-8FB3-A624D97F163E@odo.in-berlin.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi, again -

On 17.01.2009, at 10:38, Michael Grimm wrote:

> I'm running FBSD 7.1-p2 and inn-2.4.5 with largefile support and =20
> ovdb overview in a jail without any difficulties sofar.
>
> The recent Perl-upgrade to 5.8.9 crashes innd (core dump) at start-=20
> up, reproducible. I did re-compile all ports including inn, same =20
> result. Then I removed Perl support during configuration, re-=20
> compiled, and now innd starts and runs as expected.
>
> I just want to bring this to your attention, if you won't know this =20=

> already. I couldn't find reports at the ports-mailing list sofar.
>
> Hope that this isn't to difficult to fix. Let me know if you need =20
> help in further debugging.

This bug can be solved by applying the following patch:

--- inn-2.4.5/lib/perl.c        2008-06-29 19:56:57.000000000 +0200
+++ inn-2.4.5-1/lib/perl.c      2009-01-21 19:36:03.000000000 +0100
@@ -110,14 +110,18 @@
     if (PerlCode =3D=3D NULL) {
         /* Perl waits on standard input if not called with '-e'. */
         int argc =3D 3;
-        const char *argv[] =3D { "innd", "-e", "0", NULL };
-        char *env[]  =3D { NULL };
+        const char *argv_innd[] =3D { "innd", "-e", "0", NULL };
+        char **argv =3D (char **)argv_innd; /* Cast required by Perl =20=

5.10. */
+        char **env  =3D { NULL };
#ifdef PERL_SYS_INIT3
         PERL_SYS_INIT3(&argc, &argv, &env);
#endif
         PerlCode =3D perl_alloc();
         perl_construct(PerlCode);
-        perl_parse(PerlCode, xs_init, argc, (char **)argv, env) ;
+#ifdef PERL_EXIT_DESTRUCT_END
+        PL_exit_flags |=3D PERL_EXIT_DESTRUCT_END;
+#endif
+        perl_parse(PerlCode, xs_init, argc, argv, env) ;
     }

     if (startupfile !=3D NULL && filterfile !=3D NULL) {

This patch has been proposed by the current main developer of INN =20
(Julien =C9lie),
see Usenet thread at:

=
http://groups.google.com/group/news.software.nntp/browse_frm/thread/42238d=
c9237b5a81?q=3D

It did work for me after applying this patch to inn's vanilla tarfile, =20=

putting the
patches tarfile into /usr/ports/distfiles/, modifying news/inn/=20
distinfo to cover
the new size and checksums, and re-installing with portmaster.

Regards,
Michael




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5AB3AA0C-A326-427E-9125-DCFC0D0DBDBA>