Bug#655748: inn2: Posting via inews causes Perl error
It is too late to properly deal with this bug for wheezy, because it cannot be fixed. After the release I will remove the 32 bit non-LFS packages and *maybe* enable some code to help the transition. Check postinst of inn2 for hints about what needs to be regenerated when switching from a 32 to a 64 bit INN package. If you encounter this bug and switch from inn2 to inn2-lfs, then please reply with your experience in converting your spool and overview. -- ciao, Marco signature.asc Description: Digital signature
Bug#655748: inn2: Posting via inews causes Perl error
On Fri, 13 Jan 2012 21:15:07 +0100, Raphael Manfredi wrote: Since I upgraded to Perl 5.14.2, I get the following errors when using mailagent's POST command (which calls inews -h to inject the news message): We stumbled over the same bug with mailman and inn2. A quick workaround seems to be to put perlfilter: false in all (or the relevant) access groups in /etc/news/readers.conf. It least it works for us :) Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT SPI, fellow of the Free Software Foundation Europe `- signature.asc Description: Digital signature
Bug#655748: inn2: Posting via inews causes Perl error
On Sun, Feb 19, 2012 at 04:00:42AM +0100, Marco d'Itri wrote: On Jan 15, Marco d'Itri m...@linux.it wrote: at least #649759 suggests this might be related to not using all the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure' script chops those away. I removed the flags because generally enabling LFS would create an inn package which cannot read the on-disk data written by the precedent release, and for which there is no conversion tool. So I need to find out if the internal INN ABI between the perl bits and the rest of the program depends on LFS. This is not going to be easy. Are you totally sure that there is no other option than building with LFS all code which includes perl headers? At least all code that accesses a PerlInterpreter struct, AFAICS. The problem is that the PerlInterpreter struct has two members of type Stat_t (see intrpvar.h) , which is a struct stat on unix and so varies in size depending on the LFS flags. All the later interpreter specific variables in the struct are accessed at a wrong offset if those flags don't match the ones libperl was built with. 'PL_sv_undef' is one of these variables, and the 'Bizarre copy of unknown' error comes from a sanity check inside the sv_setsv() call because the wrong PL_sv_undef doesn't make any sense. I guess you could work around that sanity check with the 'body = PL_sv_undef' trick, but I'd expect other problems later. Sorry, no better ideas. -- Niko Tyni nt...@debian.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
On Jan 15, Marco d'Itri m...@linux.it wrote: at least #649759 suggests this might be related to not using all the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure' script chops those away. I removed the flags because generally enabling LFS would create an inn package which cannot read the on-disk data written by the precedent release, and for which there is no conversion tool. So I need to find out if the internal INN ABI between the perl bits and the rest of the program depends on LFS. This is not going to be easy. Are you totally sure that there is no other option than building with LFS all code which includes perl headers? -- ciao, Marco signature.asc Description: Digital signature
Bug#655748: inn2: Posting via inews causes Perl error
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
Bug#655748: inn2: Posting via inews causes Perl error
On Sun, Jan 15, 2012 at 12:13:21PM +0100, Julien ÉLIE wrote: 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); Hi, at least #649759 suggests this might be related to not using all the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure' script chops those away. As of Perl 5.14.0, compiling without those flags on 32-bit architectures and then linking against libperl apparently creates a binary incompatibility, manifesting in strange errors such as the one discussed here. See http://www.nntp.perl.org/group/perl.perl5.porters/2011/04/msg171536.html (and #624460 and #628522) for some background. HTH, -- Niko Tyni nt...@debian.org -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
On Jan 15, Niko Tyni nt...@debian.org wrote: at least #649759 suggests this might be related to not using all the compilation flags from ExtUtils::Embed, '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' in particular. Indeed, I see the inn2 'configure' script chops those away. I removed the flags because generally enabling LFS would create an inn package which cannot read the on-disk data written by the precedent release, and for which there is no conversion tool. So I need to find out if the internal INN ABI between the perl bits and the rest of the program depends on LFS. -- ciao, Marco signature.asc Description: Digital signature
Bug#655748: inn2: Posting via inews causes Perl error
Bonjour Raphaël, Since I upgraded to Perl 5.14.2, I get the following errors when using mailagent's POST command (which calls inews -h to inject the news message): Remote error: Bizarre copy of UNKNOWN. There must be something wrong with one of the Perl scripts that INN calls. Where is this error logged? (In mailagent?) Does the error happen every time you POST a message via mailagent? Does the error happen if you directly use inews -h? (Just pipe the contents of an article into its standard input.) And, more importantly (probably the first test to run), does the error happen after deactivating Perl in INN? Just execute with the news user: ctlinnd perl n and try to POST a message via mailagent. Do not forget to reactivate Perl afterwards, with: ctlinnd perl y -- Julien ÉLIE « Et puis, toi tu penses, moi je suis. » (Mot de passe) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Bonjour Julien, Quoting Julien ÉLIE: Where is this error logged? (In mailagent?) Yes, the error is logged in mailagent's .bak file, where plain stderr messages go. Does the error happen every time you POST a message via mailagent? Yes. Does the error happen if you directly use inews -h? (Just pipe the contents of an article into its standard input.) I don't use the original inews that comes with INN2, but the version I compiled from trn. The reason being that the trn-inews is not so picky about how much text is quoted as opposed to how much text is added... However, both commands return the same error: $ /usr/local/bin/trn-inews -h ~/tmp/article Remote error: Bizarre copy of UNKNOWN. (that's the exact text that goes into mailagent's error file). $ /usr/bin/inews -h ~/tmp/article inews: cannot send article to server: Bizarre copy of UNKNOWN. inews: article not posted inews: warning: server did not reply to quit: Connection reset by peer And, more importantly (probably the first test to run), does the error happen after deactivating Perl in INN? Just execute with the news user: ctlinnd perl n and try to POST a message via mailagent. Do not forget to reactivate Perl afterwards, with: ctlinnd perl y I did not know about this INN option, but it has no impact. The errors are the same whether I say perl n or perl y. Please let me know how I can further diagnose what's happening. Raphael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Bonjour Raphaël, $ /usr/bin/inews -h ~/tmp/article inews: cannot send article to server: Bizarre copy of UNKNOWN. inews: article not posted inews: warning: server did not reply to quit: Connection reset by peer cannot send article to server is returned when inews receive an NNTP response code different from 240 (= POST OK) after having sent the article. Bizarre copy of UNKOWN seems to be the actual response code! nnrpd has closed the connection itself, probably encountering an internal error. A proper answer would for instance be: % inews -h test inews: cannot send article to server: 441 No valid newsgroups in trigo.pouet inews: article not posted First question: is there a Newsgroups: line mentioned in your ~/tmp/article file? If not, please add one and test again. (I have just spotted a bug in INN 2.5.2+20110413, that is not in INN 2.5.2.) If you already see a Newsgroups: header field, then: Do you have Perl hooks for nnrpd authentication? (like nnrpd_access.pl and/or nnrpd_auth.pl) Could you try to deactivate them if it is the case? Do you manage to post to your nnprd via another tool than inews? Could you try to write the contents of your ~/tmp/article file in an NNTP session? Just send MODE READER, POST, copy/paste your article and add a final dot. QUIT to quit. For instance: % telnet localhost 119 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 200 news.trigofacile.com InterNetNews server INN 2.6.0 (20111015 prerelease) ready (transit mode) MODE READER 200 news.trigofacile.com InterNetNews NNRP server INN 2.6.0 (20111015 prerelease) ready (posting ok) POST 340 Ok, recommended message-ID jerg14$ct9$1...@news.trigofacile.com Subject: test From: me Newsgroups: trigo.pouet test . 441 No valid newsgroups in trigo.pouet QUIT 205 Bye! I did not know about this INN option, but it has no impact. The errors are the same whether I say perl n or perl y. Then it means that Perl used by innd is not the culprit. Only remains nnrpd now. Yet, I am still puzzled because Perl hooks are only for authentication. When you POST, authentication has already been done. Please let me know how I can further diagnose what's happening. Could there be something related to: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628507 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649759 -- Julien ÉLIE « Je viens de rencontrer Isocèle : il a une idée pour un nouveau triangle. » (Woody Allen) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Quoting Julien ÉLIE: : First question: is there a Newsgroups: line mentioned in your ~/tmp/article : file? If not, please add one and test again. : (I have just spotted a bug in INN 2.5.2+20110413, that is not in INN 2.5.2.) Yes, there is a Newsgroups line in my ~/tmp/article file. : If you already see a Newsgroups: header field, then: : : Do you have Perl hooks for nnrpd authentication? : (like nnrpd_access.pl and/or nnrpd_auth.pl) : Could you try to deactivate them if it is the case? I don't have any such files in /etc/news. : Do you manage to post to your nnprd via another tool than inews? Haven't tried yet. Here's the result of a direct NNTP post: -- $ telnet localhost 119 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready (transit mode) MODE READER 200 tours.ram.loc InterNetNews NNRP server INN 2.5.3 (20110413 snapshot) ready (posting ok) POST 340 Ok, recommended message-ID jerj0f$76u$1...@tours.ram.loc Date: Sat, 14 Jan 2012 08:07:51 + From: Raphael Manfredi raphael_manfr...@pobox.com Newsgroups: ml.lilypond.devel Subject: test only Message-ID: 20120114080751.GA1821@home This message is a test. . Bizarre copy of UNKNOWN. Connection closed by foreign host. -- Yes, the ml.lilypond.devel newsgroup exists. This is a local group where I feed my mailing lists (ml.) through mailagent's POST command. I know that the Bizarre copy of UNKNOWN message comes from Perl (long perl experience) but maybe this wording has been reused in INN for non-perl code? Raphael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Bonjour Raphaël, $ telnet localhost 119 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready (transit mode) MODE READER 200 tours.ram.loc InterNetNews NNRP server INN 2.5.3 (20110413 snapshot) ready (posting ok) POST 340 Ok, recommended message-IDjerj0f$76u$1...@tours.ram.loc Date: Sat, 14 Jan 2012 08:07:51 + From: Raphael Manfrediraphael_manfr...@pobox.com Newsgroups: ml.lilypond.devel Subject: test only Message-ID:20120114080751.GA1821@home This message is a test. . Bizarre copy of UNKNOWN. Connection closed by foreign host. It looks as though it were an error related to IHAVE, answered by innd via nnrpd. Could you send the following example (with an additional Path: header field) via IHAVE, without MODE READER? It would be like: 200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready (transit mode) IHAVE 20120114080751.GA1821@home 335 Send it Path: test Date: Sat, 14 Jan 2012 08:07:51 + From: Raphael Manfredi raphael_manfr...@pobox.com Newsgroups: ml.lilypond.devel Subject: test only Message-ID: 20120114080751.GA1821@home This message is a test. . What is the result? I know that the Bizarre copy of UNKNOWN message comes from Perl (long perl experience) but maybe this wording has been reused in INN for non-perl code? As far as I can see, Bizarre is a word without any occurrence in the whole INN source code. If you think this problem could come from the Perl stack, is it possible for you to patch the version of INN you are currently running, with the following changes committed in July 2011? I re-organized the calls of the ENTER-SAVETMPS-PUSHMARK-PUTBACK and SPAGAIN-PUTBACK-FREETMPS-LEAVE macros: http://inn.eyrie.org/trac/changeset/9247/branches/2.5/innd/perl.c http://inn.eyrie.org/trac/changeset/9247/branches/2.5/nnrpd/perl.c http://inn.eyrie.org/trac/changeset/9247/branches/2.5/lib/perl.c *Maybe* it fixes the issue you are facing. If patching your INN is not straight-forward, perhaps Marco -- if he has time -- could generate (for you only, or also uploaded to sid) a Debian package from the current STABLE repository. -- Julien ÉLIE « La femme est beaucoup plus portée que l'homme aux actes imprudents et irréfléchis. » (Démocrite) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Re-bonjour Julien, Quoting Julien ÉLIE: : It looks as though it were an error related to IHAVE, answered : by innd via nnrpd. : : Could you send the following example (with an additional : Path: header field) via IHAVE, without MODE READER? : : What is the result? It works this time! $ telnet localhost nntp Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 tours.ram.loc InterNetNews server INN 2.5.3 (20110413 snapshot) ready (transit mode) IHAVE 20120114080751.GA1821@home 335 Send it Path: test Date: Sat, 14 Jan 2012 08:07:51 + From: Raphael Manfredi raphael_manfr...@pobox.com Newsgroups: ml.lilypond.devel Subject: test only Message-ID: 20120114080751.GA1821@home This message is a test. . 235 Article transferred OK QUIT 205 Bye! Connection closed by foreign host. Looks like you have a lead now to further investigate... Let me know if I can help you further narrow down the problem. Raphael -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Bonjour Raphaël, : What is the result? It works this time! So the problem seems located to nnrpd. I see that you answered: : Do you have Perl hooks for nnrpd authentication? : (like nnrpd_access.pl and/or nnrpd_auth.pl) : Could you try to deactivate them if it is the case? I don't have any such files in /etc/news. Debian installs them in /etc/news/filter. In your /etc/news/readers.conf file (or another name if you have changed the default configuration), do you have active lines for “perl_auth” and “perl_access”? If that is the case, they are used. There is also filter_nnrpd.pl, besides the two for authentication. Does it contain local modifications? No particular error in /var/log/news/news.err? Could you please send the lines in /var/log/news/news.notice corresponding to your attempt to post via inews this morning? -- Julien ÉLIE « – Tu parles ? – Tu parles ! » (Astérix) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#655748: inn2: Posting via inews causes Perl error
Package: inn2 Version: 2.5.2+20110413-1+b2 Severity: normal Since I upgraded to Perl 5.14.2, I get the following errors when using mailagent's POST command (which calls inews -h to inject the news message): Remote error: Bizarre copy of UNKNOWN. There must be something wrong with one of the Perl scripts that INN calls. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.39.2 Locale: LANG=fr_FR, LC_CTYPE=fr_FR (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/dash Versions of packages inn2 depends on: ii cron3.0pl1-86management of regular background p ii inn2-inews 2.5.2-2 NNTP client news injector, from In ii libc6 2.13-10 Embedded GNU C Library: Shared lib ii libdb5.15.1.25-11Berkeley v5.1 Database Libraries [ ii libmime-tools-perl 5.428-1 Perl5 modules for MIME-compliant m ii libpam0g1.1.1-3 Pluggable Authentication Modules l ii libperl5.14 5.14.2-6 shared Perl library ii libsasl2-2 2.1.22.dfsg1-13 Authentication abstraction library ii libssl1.0.0 1.0.0d-2 SSL shared libraries ii perl5.14.2-6 Larry Wall's Practical Extraction ii perl-base [perlapi-5.14 5.14.2-6 minimal Perl system ii procps 1:3.2.8-1/proc file system utilities ii sendmail-bin [mail-tran 8.14.3-1 powerful, efficient, and scalable ii time1.7-21 The GNU time program for measuring ii zlib1g 1:1.2.3.3.dfsg-5 compression library - runtime inn2 recommends no packages. Versions of packages inn2 suggests: ii gnupg 1.4.6-2.2 GNU privacy guard - a free PGP rep ii libcomerr21.40.8-2 common error description library pn libgd-gd2-noxpm-perl none (no description available) ii libkrb5-3 1.8.3+dfsg~beta1-1 MIT Kerberos runtime libraries ii wget 1.8.2-5retrieves files from the web -- debconf information: inn2/preinst-upgrade1: false inn2/postinst-cannot-start: inn2/preinst-upgrade-largefiles: false -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org