Bug 1207174 - perl-IO-Socket-INET6-2.72-3.fc23 FTBFS sometimes: Can't use an undefined value as a symbol reference at t/io_multihomed6.t line 116.
Summary: perl-IO-Socket-INET6-2.72-3.fc23 FTBFS sometimes: Can't use an undefined val...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-IO-Socket-INET6
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Paul Howarth
QA Contact: Fedora Extras Quality Assurance
URL: https://ppisar.fedorapeople.org/perl_...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-30 11:38 UTC by Petr Pisar
Modified: 2021-05-19 15:30 UTC (History)
4 users (show)

Fixed In Version: perl-IO-Socket-INET6-2.72-23.fc35
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-19 15:30:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
CPAN 103203 0 None None None Never

Description Petr Pisar 2015-03-30 11:38:16 UTC
perl-IO-Socket-INET6-2.72-3.fc23 fails to build in F23 sometimes because t/io_multihomed6.t test fails from time to time:

$ I=0; while (prove -b t/io_multihomed6.t); do I=$((I+1)); echo $I; done
[...]
206
t/io_multihomed6.t .. ok
All tests successful.
Files=1, Tests=8,  1 wallclock secs ( 0.03 usr  0.01 sys +  0.05 cusr  0.01 csys =  0.10 CPU)
Result: PASS
207
t/io_multihomed6.t .. 1/8 Can't use an undefined value as a symbol reference at t/io_multihomed6.t line 116.
Can't use an undefined value as a symbol reference at t/io_multihomed6.t line 156.
t/io_multihomed6.t .. Dubious, test returned 98 (wstat 25088, 0x6200)
Failed 7/8 subtests

Comment 1 Fedora Admin XMLRPC Client 2015-05-21 01:27:49 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 2 Fedora Admin XMLRPC Client 2015-05-21 07:59:28 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Jan Kurik 2015-07-15 14:19:57 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 23 development cycle.
Changing version to '23'.

(As we did not run this process for some time, it could affect also pre-Fedora 23 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 23 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora23

Comment 4 Fedora End Of Life 2016-11-24 11:38:26 UTC
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '23'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 23 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 5 Fedora End Of Life 2017-02-28 09:42:18 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 6 Jan Kurik 2017-08-15 08:15:46 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Comment 7 Ben Cotton 2018-11-27 18:33:04 UTC
This message is a reminder that Fedora 27 is nearing its end of life.
On 2018-Nov-30  Fedora will stop maintaining and issuing updates for
Fedora 27. It is Fedora's policy to close all bug reports from releases
that are no longer maintained. At that time this bug will be closed as
EOL if it remains open with a Fedora  'version' of '27'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 27 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ben Cotton 2019-02-19 17:11:30 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 30 development cycle.
Changing version to '30.

Comment 9 Ben Cotton 2020-04-30 22:17:51 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 10 Ben Cotton 2020-08-11 13:02:41 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 11 Michal Josef Spacek 2021-05-18 15:30:26 UTC
I created patch to fix error message in this case.
https://src.fedoraproject.org/rpms/perl-IO-Socket-INET6/pull-request/1

After patching in testing cycle this bug seems like as:
> listen on ::1 port 54577: Address already in use at t/io_multihomed6.t line 104.
Port isn't closed properly before new run of test.

Comment 12 Petr Pisar 2021-05-19 07:45:23 UTC
Good catch. It's true that there is no "close($second)" call in the parent (server) process.
But all sockets are implicitly closed on a process exit. That means that the reproducer cannot
accumulate open sockets.

Historically, it was recommended to set SO_REUSEADDR for any listening socket. The reason was that after closing a socket,
kernel keeps the port reserved (TIME-WAIT state) to prevent from other users to reuse the port early and catch a traffic
from a previous connection. Maybe as TCP sequence numbers became more fortified, this idea lost its ground, but Linux
still keeps the closed sockets in quarantine (see "ss -tanp" output). Reading socket(7) showed that there is a new
SO_REUSEPORT option for enabling multiple sockets simultaneously listing on the same port and SO_REUSEADDR is probably
only left for the closed sockets and early-reusing bind(3).

Adding "ReuseAddr => 1," to the IO::Socket::INET6->new(Listen => 2, ...) call helps. Adding close($second)
at the end of the parent process does not help.

Comment 13 Michal Josef Spacek 2021-05-19 11:11:19 UTC
Good catch. I totally missed that missing "close($second)" :-/
Ok, cannot help.

"ReuseAddr => 1," helps, great result. And this is right fix.

Comment 14 Michal Josef Spacek 2021-05-19 11:30:40 UTC
@paul There is PR (https://src.fedoraproject.org/rpms/perl-IO-Socket-INET6/pull-request/1)

Comment 15 Paul Howarth 2021-05-19 15:30:20 UTC
Thanks very much for this, it has been unfixed for a very long time.

Merged and built:
https://koji.fedoraproject.org/koji/taskinfo?taskID=68268285


Note You need to log in before you can comment on or make changes to this bug.