Skip Menu |

This queue is for tickets about the Prima CPAN distribution.

Report information
The Basics
Id: 131016
Status: resolved
Priority: 0/
Queue: Prima

People
Owner: Nobody in particular
Requestors: ppisar [...] redhat.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.57
Fixed in: 1.58



Subject: t/Image/Bar.t fails on big-endian (s390x) architectures
Since Prima-1.57 t/Image/Bar.t test fails on s390x architecture for me: "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Prima.bs blib/arch/auto/Prima/Prima.bs 644 PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*/*.t # Failed test 'line patshift/opaque alpha, bpp=1' # at t/Image/Bar.t line 23. # ffffffff80000001ffffffff (actual) # ffffffff89090909ffffffff (expected) # Failed test 'line patshift/opaque alpha, bpp=4' # at t/Image/Bar.t line 23. # ffffffff80000001ffffffff (actual) # ffffffff89090909ffffffff (expected) # Failed test 'line patshift/opaque alpha, bpp=8' # at t/Image/Bar.t line 23. # ffffffff80000001ffffffff (actual) # ffffffff89090909ffffffff (expected) # Looks like you failed 3 tests of 1421. t/Image/Bar.t ........... Dubious, test returned 3 (wstat 768, 0x300) Failed 3/1421 subtests This does not happen with Prima-1.56. It happens on s390x only. This platform is a big-endian comparing to others.
Hi Petr, I have a hard time installing s390x emulator, so I'll need your help here. If you possibly could checkout Prima branch test and run test.pl there, and semd me the output that would help me a lot. You can do it like this: git clone https://github.com/dk/Prima.git cd Prima git checkout test perl Makefile.PL make perl test.pl .. and then it dumps some debug. If that's not going to help, I'll make more commits, and after that, you'll need to apply them with git pull make perl test.pl It would be interesting indeed to test the module on a BE arch /dk
Subject: Re: [rt.cpan.org #131016] t/Image/Bar.t fails on big-endian (s390x) architectures
Date: Tue, 19 Nov 2019 16:47:12 +0100
To: KARASIK via RT <bug-Prima [...] rt.cpan.org>
From: Petr Pisar <ppisar [...] redhat.com>
On Tue, Nov 19, 2019 at 08:37:18AM -0500, KARASIK via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=131016 > > > Hi Petr, > > I have a hard time installing s390x emulator, so I'll need your help here. > If you possibly could checkout Prima branch test and run test.pl there, and semd me the output that would help me a lot. > > You can do it like this: > > git clone https://github.com/dk/Prima.git > cd Prima > git checkout test > perl Makefile.PL > make > perl test.pl > > .. and then it dumps some debug. If that's not going to help, I'll make more commits, and after that, you'll need to apply them with >
You can see the build log at <https://kojipkgs.fedoraproject.org//work/tasks/1780/39101780/build.log>. This is the output of the test.pl script: ffffffff89090909ffffffff resample colors for 1 COLOR fg: 000000 bg: ffffff set px 1 1 24 = 000000 set px 2 1 24 = 000000 set px 3 1 24 = 000000 set px 4 1 24 = ffffff set px 5 1 24 = 000000 set px 6 1 24 = 000000 set px 7 1 24 = ffffff set px 8 1 24 = 000000 set px 9 1 24 = 000000 set px 10 1 24 = 000000 set px 11 1 24 = 000000 set px 12 1 24 = ffffff set px 13 1 24 = 000000 set px 14 1 24 = 000000 set px 15 1 24 = ffffff set px 16 1 24 = 000000 set px 17 1 24 = 000000 set px 18 1 24 = 000000 set px 19 1 24 = 000000 set px 20 1 24 = ffffff set px 21 1 24 = 000000 set px 22 1 24 = 000000 set px 23 1 24 = ffffff set px 24 1 24 = 000000 set px 25 1 24 = 000000 set px 26 1 24 = 000000 set px 27 1 24 = 000000 set px 28 1 24 = ffffff set px 29 1 24 = 000000 set px 30 1 24 = 000000 I could not spot any difference comparing to x86_64. I think the affected t/Image/Bar.t test exhibits rop::alpha(rop::SrcCopy, 255) call. -- Petr
Hmm I'm fairly sure I isolated the code from "opaque/alpha" case ... but just in case, if you run perl -Iblib/arch -I. t/Image/Bar.t will it fail or pass on this test branch? If it fails,could you sent the output that is relevant to the case (not all of it :) /dk
Subject: Re: [rt.cpan.org #131016] t/Image/Bar.t fails on big-endian (s390x) architectures
Date: Wed, 20 Nov 2019 10:10:45 +0100
To: KARASIK via RT <bug-Prima [...] rt.cpan.org>
From: Petr Pisar <ppisar [...] redhat.com>
On Tue, Nov 19, 2019 at 12:12:56PM -0500, KARASIK via RT wrote: Show quoted text
> Hmm I'm fairly sure I isolated the code from "opaque/alpha" case ... but > just in case, if you run > > perl -Iblib/arch -I. t/Image/Bar.t > > will it fail or pass on this test branch?
Yes, it fails. Show quoted text
> If it fails,could you sent the output that is relevant to the case (not all > of it :) >
Complete build log at <https://kojipkgs.fedoraproject.org//work/tasks/3957/39123957/build.log>. Search for "%check". That's where the tests start. The "+"-prefixed lines are commands executed by a shell. First is the a "perl test.pl" command, then the "perl -Iblib/arch -I. t/Image/Bar.t" command. As you can see the test fails exactly as I originally reported. Please note that stdin and stdout outputs can be offset because mupliplexing the streams is in our infrastrucuture is odd. Here is the excerpt you asked for: ok 1396 - bar patshift/opaque alpha, bpp=1 not ok 1397 - line patshift/opaque alpha, bpp=1 # Failed test 'line patshift/opaque alpha, bpp=1' # at t/Image/Bar.t line 23. # ffffffff80000001ffffffff (actual) # ffffffff89090909ffffffff (expected) ok 1398 - bar patshift/transparent, bpp=4 [...] resample colors for 4 COLOR resample colors for 4 COLOR fg: 000000 bg: 00ffff set px 1 1 24 = 000000 set px 2 1 24 = 000000 set px 3 1 24 = 000000 set px 5 1 24 = 000000 set px 6 1 24 = 0000ok 1403 - line patshift/transparent alpha, bpp=4 ok 1404 - bar patshift/opaque alpha, bpp=4 not ok 1405 - line patshift/opaque alpha, bpp=4 # Failed test 'line patshift/opaque alpha, bpp=4' # at t/Image/Bar.t line 23. # ffffffff80000001ffffffff (actual) # ffffffff89090909ffffffff (expected) ok 1406 - bar patshift/transparent, bpp=8 [...] ok 1412 - bar patshift/opaque alpha, bpp=8 not ok 1413 - line patshift/opaque alpha, bpp=8 # Failed test 'line patshift/opaque alpha, bpp=8' # at t/Image/Bar.t line 23. # ffffffff80000001ffffffff (actual) # ffffffff89090909ffffffff (expected) ok 1414 - bar patshift/transparent, bpp=24 00 set px 8 1 24 = 000000 set px 9 1 24 = 000000 [...] ok 1421 - line patshift/opaque alpha, bpp=24 1..1421 # Looks like you failed 3 tests of 1421. 1 1 24 = 000000 set px 13 1 24 = 000000 I an try to bisect a git history to identify the exact commit tha causes the failure, but getting an interactive access to that machine is a time expensive task for me. -- Petr
I think I got it! Could you possibly check out the latest again, with git pull make perl -Iblib/arch -I. t/Image/Bar.t and see if that helps? /dk
Subject: Re: [rt.cpan.org #131016] t/Image/Bar.t fails on big-endian (s390x) architectures
Date: Thu, 21 Nov 2019 08:36:10 +0100
To: KARASIK via RT <bug-Prima [...] rt.cpan.org>
From: Petr Pisar <ppisar [...] redhat.com>
On Wed, Nov 20, 2019 at 04:29:58PM -0500, KARASIK via RT wrote: Show quoted text
> I think I got it! Could you possibly check out the latest again, with >
Great. I confirm it passes. I tried all tests (make test) and they pass on all architectures I have including s390x. Good job. -- Petr
Thank you! It took me solid 2 days to have a s390x emulator installed, but it was worth it in the end :) /dk