You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2012/06/18 17:17:50 UTC

[Bug 6809] New: Not passing make test with perl 5.14.2

https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

          Priority: P2
            Bug ID: 6809
          Assignee: dev@spamassassin.apache.org
           Summary: Not passing make test with perl 5.14.2
          Severity: blocker
    Classification: Unclassified
                OS: Windows 7
          Reporter: kmcgrail@pccc.com
          Hardware: PC
            Status: NEW
           Version: SVN Trunk (Latest Devel Version)
         Component: Regression Tests
           Product: Spamassassin

After the patch from bug 6703 (we believe), the code passes a make test with
perl 5.10 but not with perl 5.14.

Originally reported by JHardin and I have confirmed the issue:

t/make_install.t .................. 1/25 # Failed test 2 in t/make_install.t at
line 75
t/make_install.t .................. 22/25 # Failed test 24 in t/make_install.t
at line 127

NOTE: On my current testbed, sa_compile.t doesn't run but I think that might
break as well.

Will update this with more information shortly.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

John Hardin <jh...@impsec.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Not passing make test with  |Not passing make test with
                   |perl 5.14.2                 |perl 5.12.4

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

Kevin A. McGrail <km...@pccc.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Not passing make test with  |Not passing make test with
                   |perl 5.12.4                 |perl 5.12.4 & 5.14.2

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #11 from Kevin A. McGrail <km...@pccc.com> ---
(In reply to comment #10)
> > # Failed test 12 in t/trust_path.t at line 698 fail #4
> > # Failed test 21 in t/trust_path.t at line 698 fail #7
> > # Failed test 42 in t/trust_path.t at line 698 fail #14
> > # Failed test 48 in t/trust_path.t at line 698 fail #16
> > # Failed test 66 in t/trust_path.t at line 698 fail #22
> > # Failed test 81 in t/trust_path.t at line 698 fail #27
> > 
> > netset warn: netset: cannot exclude 127.0.0.0/8 as it has already been
> > included
> 
> Do you have a module Net::Patricia installed?
> If yes, see Bug 6508  (the tests still need to adapt to this)

I'm working on a masscheck box so I have every optional module installed. 
Thanks for pointing this out.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

Kevin A. McGrail <km...@pccc.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #12 from Kevin A. McGrail <km...@pccc.com> ---
Bug with t/make_install.t fixed.
Bug with t/trust_path.t is a duplicate of bug 6508.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #5 from Mark Martinec <Ma...@ijs.si> ---
> These warnings are also coming up:
> 
> defined(%hash) is deprecated at
> /home/jhardin/develop/spamassassin/svn/trunk/t/log/d.sa_compile/inst.basic/
> foo/lib64/perl5/site_perl/5.12.4/Mail/SpamAssassin/Dns.pm line 756.
> 	(Maybe you should just omit the defined()?)
> 
> and:
> 
> Use of "goto" to jump into a construct is deprecated at
> /home/jhardin/develop/spamassassin/svn/trunk/t/log/d.sa_compile/inst.basic/
> foo/lib64/perl5/site_perl/5.12.4/Mail/SpamAssassin/Plugin/Check.pm line 352.
> (multiple instances)

This was fixed in SA 3.3.2 iirc.

The bug refers to the current trunk.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

Kevin A. McGrail <km...@pccc.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jhardin@impsec.org,
                   |                            |kmcgrail@pccc.com

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #1 from Kevin A. McGrail <km...@pccc.com> ---
First, also failing on

t/whitelist_addrs.t ............... 11/35       Not found: spamyes =
X-Spam-Status: Yes at t/whitelist_addrs.t line 65.
# Failed test 11 in t/SATest.pm at line 748
Output can be examined in: log/d.whitelist_addrs/11
t/whitelist_addrs.t ............... 23/35       Not found: spamyes =
X-Spam-Status: Yes at t/whitelist_addrs.t line 154.
# Failed test 23 in t/SATest.pm at line 748 fail #2
Output can be examined in: log/d.whitelist_addrs/23
t/whitelist_addrs.t ............... 35/35       Not found: spamyes =
X-Spam-Status: Yes at t/whitelist_addrs.t line 245.
# Failed test 35 in t/SATest.pm at line 748 fail #3
Output can be examined in: log/d.whitelist_addrs/35


Second: sa-compile.t does NOT fail with re2c 0.13.5 for me.

Third, John's failures might be in 5.12.4 and I transposed the perl version in
my tests.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #10 from Mark Martinec <Ma...@ijs.si> ---
> # Failed test 12 in t/trust_path.t at line 698 fail #4
> # Failed test 21 in t/trust_path.t at line 698 fail #7
> # Failed test 42 in t/trust_path.t at line 698 fail #14
> # Failed test 48 in t/trust_path.t at line 698 fail #16
> # Failed test 66 in t/trust_path.t at line 698 fail #22
> # Failed test 81 in t/trust_path.t at line 698 fail #27
> 
> netset warn: netset: cannot exclude 127.0.0.0/8 as it has already been
> included

Do you have a module Net::Patricia installed?
If yes, see Bug 6508  (the tests still need to adapt to this)

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #7 from Kevin A. McGrail <km...@pccc.com> ---
(In reply to comment #6)
> I cannot reproduce this on perl 5.14 or 5.16 (I don't have a 5.12 handy
> right now)
> 
> 
> > t/make_install.t ... 1/25 # Failed test 2 in t/make_install.t at line 75
> > t/make_install.t .. 22/25 # Failed test 24 in t/make_install.t at line 127
> 
> Try:
>   prove -v t/make_install.t
> and examine the logfile of a failing test.

On a fresh install of 5.14.2 with trunk on a centos box, I do see the issues
still but I think I realized the issue.

We check if we have an RPM system but we don't check if the perl is an RPM
perl.
In short, this is a continuation of bug 6609.  Will upload a patch that works
for that issue.

Also seeing this:

t/trust_path.t                  (Wstat: 0 Tests: 96 Failed: 6)
  Failed tests:  12, 21, 42, 48, 66, 81

Working on that issue.

Regards,
KAM

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #2 from John Hardin <jh...@impsec.org> ---
For me this appears to have been due to the library layout on x86_64 Gentoo; I
was having failures in make_install.t for a long time but as I was primarily
interested in rules lint and masschecks I just deleted make_install.t from my
local tree rather than troubleshooting it. 

Today per Kevin's comments in email I tested and checked in a fix for my
environment (commit 1351382), but I was pretty specific. I don't know why this
particular issue would be Perl-specific, it appears more distro-specific.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #6 from Mark Martinec <Ma...@ijs.si> ---
I cannot reproduce this on perl 5.14 or 5.16 (I don't have a 5.12 handy
right now)


> t/make_install.t ... 1/25 # Failed test 2 in t/make_install.t at line 75
> t/make_install.t .. 22/25 # Failed test 24 in t/make_install.t at line 127

Try:
  prove -v t/make_install.t
and examine the logfile of a failing test.


> First, also failing on
> t/whitelist_addrs.t ............... 11/35       Not found: spamyes = X-Spam-
> Status: Yes at t/whitelist_addrs.t line 65.
> # Failed test 11 in t/SATest.pm at line 748
> Output can be examined in: log/d.whitelist_addrs/11
> t/whitelist_addrs.t ............... 23/35       Not found: spamyes = X-Spam-
> Status: Yes at t/whitelist_addrs.t line 154.
> # Failed test 23 in t/SATest.pm at line 748 fail #2
> Output can be examined in: log/d.whitelist_addrs/23
> t/whitelist_addrs.t ............... 35/35       Not found: spamyes = X-Spam-
> Status: Yes at t/whitelist_addrs.t line 245.
> # Failed test 35 in t/SATest.pm at line 748 fail #3
> Output can be examined in: log/d.whitelist_addrs/35

Whitelisting test could fail if updating AWL database does not work.

Make sure awl db is writable to a user running a test (e.g. if 'make test'
was previously run as a root and now as a regular user, this could
stumble across some leftover files/directories owned by root).

Examine logfiles and see what scores are wrong.


> These warnings are also coming up:
> defined(%hash) is deprecated at ...
> Use of "goto" to jump into a construct is deprecated ...

As mentioned, this looks like leftovers from an older version of SA.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #4 from John Hardin <jh...@impsec.org> ---
I am on re2c 0.13.5 as well.

These warnings are also coming up:

defined(%hash) is deprecated at
/home/jhardin/develop/spamassassin/svn/trunk/t/log/d.sa_compile/inst.basic/foo/lib64/perl5/site_perl/5.12.4/Mail/SpamAssassin/Dns.pm
line 756.
    (Maybe you should just omit the defined()?)

and:

Use of "goto" to jump into a construct is deprecated at
/home/jhardin/develop/spamassassin/svn/trunk/t/log/d.sa_compile/inst.basic/foo/lib64/perl5/site_perl/5.12.4/Mail/SpamAssassin/Plugin/Check.pm
line 352.
(multiple instances)


sa_compile.t fails for me:

t/sa_compile.t .................... 3/?     Not found: FOO =  check: tests=FOO 
at t/sa_compile.t line 148.
# Failed test 5 in t/SATest.pm at line 748
Output can be examined in: log/d.sa_compile/3
t/sa_compile.t .................... Failed 1/5 subtests 


I note one possible oddity in the compiled rules:
jhardin@locke
~/develop/spamassassin/svn/trunk/t/log/d.sa_compile/inst.basic/foo/var/spamassassin/compiled/5.012/3.003000
$ grep -r FOO *
Mail/SpamAssassin/CompiledRegexps/body_0.pm:    q#FOO,[l=1]# => q#/You have
been selected to receive/#,
Binary file auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so matches
bases_body_0.pl:                              'you have been selected to
receive' => 'FOO,[l=1]'
bases_body_0.pl:                            'FOO,[l=1]' => '/You have been
selected to receive/'

The first match that grep found in bases_body_0.pl has lowercase 'you'. The
rules and text in the sample message are uppercase 'You':

share/spamassassin/20_testrules.cf:  body FOO /You have been selected to
receive/

Might this explain my sa_compile.t failure?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #8 from Kevin A. McGrail <km...@pccc.com> ---
Created attachment 5084
  --> https://issues.apache.org/SpamAssassin/attachment.cgi?id=5084&action=edit
More logic for RPM-based perl related to lib64 issues.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #3 from Kevin A. McGrail <km...@pccc.com> ---
(In reply to comment #2)
> For me this appears to have been due to the library layout on x86_64 Gentoo;
> I was having failures in make_install.t for a long time but as I was
> primarily interested in rules lint and masschecks I just deleted
> make_install.t from my local tree rather than troubleshooting it. 
> 
> Today per Kevin's comments in email I tested and checked in a fix for my
> environment (commit 1351382), but I was pretty specific. I don't know why
> this particular issue would be Perl-specific, it appears more
> distro-specific.

I'm using Centos 6.X x64 and seeing some issues as well with perl 5.14.2 so
we've got some edge cases to look at I think.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 6809] Not passing make test with perl 5.12.4 & 5.14.2

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6809

--- Comment #9 from Kevin A. McGrail <km...@pccc.com> ---
patch committed for make_install.t

svn commit -m 'more logic for rpm-based perl and lib64 issues - bug 6809'  
Sending        t/make_install.t
Transmitting file data .
Committed revision 1372051.

re: trust_path.t

NOTE: don't pay close attention to line #s.  I have a few debug lines.

# Failed test 12 in t/trust_path.t at line 698 fail #4
# Failed test 21 in t/trust_path.t at line 698 fail #7
# Failed test 42 in t/trust_path.t at line 698 fail #14
# Failed test 48 in t/trust_path.t at line 698 fail #16
# Failed test 66 in t/trust_path.t at line 698 fail #22
# Failed test 81 in t/trust_path.t at line 698 fail #27

netset warn: netset: cannot exclude 127.0.0.0/8 as it has already been included

removed IO::Socket::INET6 and it's working again

Looks similar to bug 6681

Put back in IO::Socket::INET6 v2.69 and it's broken again.


These messages MIGHT be related:

netset warn: netset: cannot exclude 127.0.0.0/8 as it has already been included

Reverting back to  NetAddr-IP-4.044 did not help.

Anyone got any thoughts?  It's clearly going to be an interaction with INET6
module.

-- 
You are receiving this mail because:
You are the assignee for the bug.