Bug 1270268
Summary: | [epel7s390x] perl-IPC-Shareable SRPM does not build correctly on s390x | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora EPEL | Reporter: | IBM Bug Proxy <bugproxy> | ||||||
Component: | perl-IPC-Shareable | Assignee: | Orphan Owner <extras-orphan> | ||||||
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | high | ||||||||
Version: | epel7 | CC: | dan, dhorak, hannsj_uhl, jkachuck, ppisar, psabata, steve | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | s390x | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2017-03-21 08:08:25 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 1267648 | ||||||||
Attachments: |
|
Description
IBM Bug Proxy
2015-10-09 13:02:13 UTC
The EPEL 7 SRPM for perl-IPC-Shareable https://dl.fedoraproject.org/pub/epel/7/SRPMS/p/perl-IPC-Shareable-0.61-1.el7.src.rpm does not build correctly in Mock on s390x Failed 1/14 test programs. 2/96 subtests failed. t/35clean.t (Wstat: 0 Tests: 11 Failed: 2) Failed tests: 4-5 This prevents the RPM from being built in Mock. Cause for the subtest failure is: Couldn't remove shared memory segment 983040: Invalid argument at t/35clean.t line 66. Use of uninitialized value in semctl at /usr/lib64/perl5/IPC/Semaphore.pm line 66. Use of uninitialized value in list slice at /usr/lib64/perl5/IPC/Semaphore.pm line 66. Couldn't remove semaphore set 983040: Invalid argument at t/35clean.t line 66. Created attachment 1081331 [details]
Build Log
Detailed test log: $ prove -b -v t/35clean.t t/35clean.t .. 1..11 ok 1 ok 2 ok 3 not ok 4 not ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 Couldn't remove shared memory segment 1605632: Invalid argument at t/35clean.t line 66. Use of uninitialized value in semctl at /usr/lib64/perl5/IPC/Semaphore.pm line 66. Use of uninitialized value in list slice at /usr/lib64/perl5/IPC/Semaphore.pm line 66. Couldn't remove semaphore set 1605632: Invalid argument at t/35clean.t line 66. Failed 2/11 subtests Created attachment 1083734 [details]
Reproducer
If the reproducer is run with SHAREABLE_DEBUG=1 environment variable, debugging log will show:
--- ok 2015-10-16 17:14:24.227346866 +0200
+++ bad 2015-10-16 17:14:40.000000000 +0200
[...]
-IPC::Shareable (8990) debug:
+IPC::Shareable (27668) debug:
IPC::Shareable::_tie tells us that:
- 'binding to existing segment on '
- 14090243
+ 'brand new segment on '
+ 3375105
at ./reproducer line 39.
[...]
Both platforms (ok=x86_64, bad=s390x) should show "brand new segment" because this is the very first tie() call with create => 'yes' option in parent.
Later, the child's clean_up() call differs like:
-ok read after cleanup
-IPC::Shareable (8991) debug:
+IPC::Shareable (27669) debug:
+ IPC::Shareable::remove called with:
+ $_[0] = IPC::Shareable=HASH(0x92712060): shmid: 3375105; $opts = {
+ '_magic' => '',
+ '_owner' => '27669',
+ 'create' => '',
+ 'destroy' => 0,
+ 'exclusive' => '',
+ 'key' => 'hash',
+ 'mode' => 438,
+ 'size' => 65536
+ };
+ at ./reproducer line 31.
+not ok read after cleanup
Which causes failing the tests because it removes the foreign process' segment even if clean_up() should not harness only segments created by current process.
I forgot to write down the child's tie in between the two differing events looks like: -IPC::Shareable (8991) debug: +IPC::Shareable (27669) debug: IPC::Shareable::_tie tells us that: - 'binding to existing segment on ' - 14090243 + 'brand new segment on ' + 3375105 at ./reproducer line 25. Which is in line with the tests and explains why the clean_up() removes the segment in the child. It also displays that the 'brand new segment on ' is faulty here. ------- Comment From vsandhya.com 2016-02-23 12:14 EDT------- Any updates? ------- Comment From urjawere.com 2017-03-20 02:22 EDT------- Any Updates ? This package has never been built for EPEL7 and due to this was completely removed from git source repository two years ago: commit 96b4a4de72534fe911cb17e16f9d5445d59d0977 Author: Till Maas <opensource> Date: Thu May 19 18:04:18 2016 +0200 2016-05-19: Retired orphaned package, because it was orphaned for more than six weeks. |