Hi all, We continued in private to investigate the issue and, after having rebuilt nnrpd so as to allow gdb to be useful, Raphaël found out the source of the error.
In nnrpd/post.c during ARTpost(), there is a call to an XS Perl function HandleHeaders(): /* Store body. */ body = perl_get_sv("body", true); sv_setpv(body, article); […] modswitch = perl_get_sv("modify_headers", false); if (SvTRUE(modswitch)) { hv_undef(hdr); sv_setsv(body, &PL_sv_undef); (modswitch is false, because the SvTRUE condition is not executed.) sv_setsv(body, &PL_sv_undef); --> returns "Bizarre copy of UNKNOWN." nnrpd/perl.c, line 179 for the Debian package. (Line 181 for TRUNK.) Has someone an idea of what is going on in recent Perl versions? I see that Marco already experienced that with INN 1.x: http://www.mail-archive.com/perl-xs@perl.org/msg02275.html but there were no replies to his thread. Is the solution of "body = &PL_sv_undef" working fine? I also read another possibility: http://www.nntp.perl.org/group/perl.perl5.porters/2007/10/msg129757.html SvOK_off(body); SvGETMAGIC(body); Another question: isn't there a way not to cause nnrpd to die when such an error occurs in XS code? The right behaviour would be to return: 403 Bizarre copy of UNKNOWN. and to go on the NNTP session. -- Julien ÉLIE « – Il t'arrive une tuile ? – Oui, je ne peux pas payer mon ardoise. » -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org