[opensuse] spamassassin or perl bug
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I see hundreds of these in the warn log when I fetch email: <2.4> 2014-03-03 16:29:26 Telcontar spamd 3567 - - message repeated 19 times: [ Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x10d0010 at /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm line 363.] <2.4> 2014-03-03 16:29:27 Telcontar spamd 3567 - - Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x10d0010 at /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm line 363, <GEN345> line 122. <2.4> 2014-03-03 16:29:27 Telcontar spamd 3568 - - message repeated 20 times: [ Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x10d0010 at /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm line 363.] <2.4> 2014-03-03 16:29:27 Telcontar spamd 3567 - - message repeated 2 times: [ Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x10d0010 at /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm line 363, <GEN345> line 122.] <2.4> 2014-03-03 16:29:27 Telcontar spamd 3567 - - Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x10d0010 at /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm line 363. <2.4> 2014-03-03 16:29:27 Telcontar spamd 3568 - - Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter: 0x10d0010 at /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm line 363, <GEN204> line 122. /usr/lib/perl5/vendor_perl/5.18.1/Mail/SpamAssassin/AsyncLoop.pm lines 361-397/558 72% while (my($key,$ent) = each %$pending) { my $id = $ent->{id}; if (defined $ent->{poll_callback}) { # call a "poll_callback" if exists # be nice, provide fresh info to a callback routine $ent->{status} = 'FINISHED' if exists $self->{finished}->{$id}; # a callback might call set_response_packet() or report_id_complete() # dbg("async: calling poll_callback on key $key"); $ent->{poll_callback}->($ent); } Can this be patched easily? I do not know perl. - -- Cheers Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iEYEARECAAYFAlMUoeEACgkQtTMYHG2NR9XWwACeLDV8MbFul1rFTkbI8aftvoVV FRoAn3m8Llcs1wxUemomxIt2CQabOYU/ =H21C -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
El 03/03/14 12:38, Carlos E. R. escribió:
Can this be patched easily? I do not know perl.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6937 There is a patch attached there that should fix the problem. If this spamassasin comes from a supported distribution package, fill a bug report. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2014-03-03 16:55, Cristian Rodríguez wrote:
El 03/03/14 12:38, Carlos E. R. escribió:
Can this be patched easily? I do not know perl.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6937
There is a patch attached there that should fix the problem.
I'll have a look, thanks.
If this spamassasin comes from a supported distribution package, fill a bug report.
It does indeed. -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 3/3/2014 11:18 AM, Carlos E. R. wrote:
On 2014-03-03 16:55, Cristian Rodr�guez wrote:
El 03/03/14 12:38, Carlos E. R. escribi�:
Can this be patched easily? I do not know perl.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6937
There is a patch attached there that should fix the problem.
I'll have a look, thanks.
If this spamassasin comes from a supported distribution package, fill a bug report.
It does indeed.
Are you running Spamassassin directly (perl) or via spamd ? Spamd is way less resource intensive, and you shouldn't see that warning on each mail. - -- _____________________________________ - ---This space for rent--- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) iEYEARECAAYFAlMVIjIACgkQv7M3G5+2DLI1ywCfYrCe5URUEDt9qSuC8KmHw9xE Fv4An3EMb4McCrpv5SZ1RdZ8pn9VVIWs =d7x0 -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2014-03-04 01:45, John Andersen wrote:
Are you running Spamassassin directly (perl) or via spamd ? Spamd is way less resource intensive, and you shouldn't see that warning on each mail.
I'm using spamd/spamc pair. -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2014-03-03 20:18, Carlos E. R. wrote:
On 2014-03-03 16:55, Cristian Rodríguez wrote:
If this spamassasin comes from a supported distribution package, fill a bug report.
It does indeed.
Done. Bug 866650 - spamd: Use of each() on hash after insertion without resetting hash iterator results in undefined behavior, Perl interpreter - -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlMVMUwACgkQtTMYHG2NR9V3wwCeP3eyXI8Nqx9Sh2qZHK0+1gA8 3wYAni1ky6Jm0fWV6MRhmiy6LV6Crqhg =B1vE -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Carlos E. R. wrote:
-----BEGIN PGP SIGNED MESSAGE----- I see hundreds of these in the warn log when I fetch email:
Couple issues: Perl-5.18 Incompatible Features on by default --------------------------------------------- perl-5.18 released with an incompatible feature turned on by default -- "experimental warnings". Additionally, some, previously documented features were deprecated to 'experimental' statul, meaning, "not for use in released code". Experimental features may be removed without Notice ---------------------------------------------------- Experimental features may be changed or removed without notice. (http://perldoc.perl.org/perlpolicy.html). "Experimental warnings" feature enabled by default -------------------------------------------------- 5.18 included a new feature "experimental warnings" which wasn't compatible with previous code which causes in that it emits runtime diagnostics in previous programs that ran correctly. If you have a security or privileged program that ran with a setting to make warnings FATAL at runtime, the new feature can cause termination of programs that may have run fine under 5.16.x or earlier. If your system relied on such for normal function -- expected abnormal function when upgrading to 5.18. Features may be made "EXPERIMENTAL", *WITHOUT NOTICE* --------------------------------------------------------- At least one feature, not listed as experimental in 5.16 was "lexical $_" -- using "my $_" to create a local copy of $_ that wouldn't propagate outside the lexical(physical) scope. Effectively this removed it as a 'feature' and added it as 'experimental', where it may be changed or removed without notice. Experimental status defaults to "forever" ----------------------------------------- I personally, didn't know that features released as experimental remained experimental, by default, "forever". I.e. I had assumed that if they were in the next major version the same way -- that the experiment had "succeeded", and it was now part of perl and wouldn't be removed without an advance version-notification as specified in 'perlpolicy's deprecation procedure. My result & bad design on OpenSuse rpms. -------------------------------------------------------------- As a result I've yet to update to 5.18 and still run 5.16(.3) on my suse 13.1 system. While this isn't too much of a problem with most perl and cpan released modules -- it is a problem with any suse rpm's which hard code versions into all related products Deliberate breakage: Example gvim --------------------------------- Example: GVim/Vim -- cannot be used to edit text if the right version of perl is not present on your system. This also applies to ruby and python. That was a deliberate choice made by opensuse packages to disable usage of programs by users who try to use their own updated packages instead of official suse versions on your system. Even Windows allows gvim to function as a text editor if perl/python or ruby are not present or are the wrong version. Note. Fortunately, gvim is doesn't have to be that way -- my version will run with or without Gvim/ruby and python. If they are there, they will be used. If they are not there, it still runs but you can't use the built-in language interpreters if they are not present on your system (duh!) -- but, importantly, gvim still runs and does everything else. Unfortunately OSuse refuses to package it that way (it's an option at build time). There are other areas of deliberate breakage and deliberate (malicious) traps for those who don't do things the official way. In so many cases, like the Vim/Gvim case, the breakage need not exist, but was made to break by choice Great design principle: because someone writes new code, they can arbitrarily break previous version compatibility in order to give users no choice about how to do things. FWIW -- it may be that they must do so as a result of them being purchased by Attachmate. Attachmate seems to specializes in "appliances", which, generally, are not very user customizable A friendly "FYI" from the "department of things that bug me" Dept. Cheers! -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (5)
-
Carlos E. R.
-
Carlos E. R.
-
Cristian Rodríguez
-
John Andersen
-
Linda Walsh