FreeBSD Port: inn-2.4.5

Michael Grimm mike at odo.in-berlin.de
Wed Jan 21 13:42:18 PST 2009


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

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

http://groups.google.com/group/news.software.nntp/browse_frm/thread/42238dc9237b5a81?q=

It did work for me after applying this patch to inn's vanilla tarfile,  
putting the
patches tarfile into /usr/ports/distfiles/, modifying news/inn/ 
distinfo to cover
the new size and checksums, and re-installing with portmaster.

Regards,
Michael



More information about the freebsd-ports mailing list