Bug 2007254 - perl-POE-Component-SSLify-1.012-24.fc36 FTBFS: Can't use an undefined value as a symbol reference at /builddir/build/BUILD/POE-Component-SSLify-1.012/blib/lib/POE/Component/SSLify.pm line 457.
Summary: perl-POE-Component-SSLify-1.012-24.fc36 FTBFS: Can't use an undefined value a...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-POE-Component-SSLify
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: F36FTBFS
TreeView+ depends on / blocked
 
Reported: 2021-09-23 12:14 UTC by Petr Pisar
Modified: 2021-10-13 11:22 UTC (History)
3 users (show)

Fixed In Version: perl-POE-Component-SSLify-1.012-25.fc36
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-10-13 11:22:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
CPAN 139684 0 None None None 2021-10-13 07:59:15 UTC

Description Petr Pisar 2021-09-23 12:14:27 UTC
perl-POE-Component-SSLify-1.012-24.fc36 fails to build in Fedora 36 because a test fails:

t/simple_large.t .............. ok
#   Failed test 'SERVER: SSLify_Options 156: private key
# '
#   at t/simple_parallel.t line 52.
#   Failed test 'SERVER: Server_SSLify Please do SSLify_Options() first ( or pass in a $ctx object ) at /builddir/build/BUILD/POE-Component
-SSLify-1.012/blib/lib/POE/Component/SSLify.pm line 247.
# '
#   at t/simple_parallel.t line 55.
Can't use an undefined value as a symbol reference at /builddir/build/BUILD/POE-Component-SSLify-1.012/blib/lib/POE/Component/SSLify.pm line 457.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 22 just after 94.
t/simple_parallel.t ........... 
Dubious, test returned 22 (wstat 5632, 0x1600)
Failed 2/94 subtests 

A difference between passing and failing build root is at <https://koschei.fedoraproject.org/build/11179579>. An update of perl-Net-SSLeay from 1.90-4.fc35 to 1.90-6.fc36 looks suspicious.

Comment 1 Petr Pisar 2021-09-23 13:28:53 UTC
This is a random failure in:

        Net::SSLeay::CTX_set_options( $context, $options );
        die_if_ssl_error( "ssl ctx set options $options" ) if ! $IGNORE_SSL_ERRORS;

where $options=Net::SSLeay::OP_ALL() and $context=Net::SSLeay::CTX_new().

Comment 2 Petr Pisar 2021-09-23 15:27:36 UTC
It's not a problem with Net::SSLeay::CTX_set_options(). For some reason when entering POE::Component::SSLify::_createSSLcontext() these OpenSSL errors are found on the stack:

13073: 1 - error:0A000126:SSL routines::unexpected eof while reading
13073: 2 - error:0A000126:SSL routines::unexpected eof while reading

and as a result the next call of Net::SSLeay::die_if_ssl_error() reports an error because the underlying Net::SSLeay::ERR_get_error() explores the error stack.
I have to say the the error checking in POE::Component::SSLify is pretty bad because the OpenSSL error stack is global and POE::Component::SSLify could catch an unrelated error from a third-party OpenSSL call.

Comment 3 Petr Pisar 2021-09-24 07:42:33 UTC
I have two theories: Either the patched perl-Net-SSLeay is broken, or perl-POE-Component-SSLify code does TCP shutdown instead of TLS shutdown and thus OpenSSL server reports the "unexpected eof while reading" error.

Comment 4 Petr Pisar 2021-10-13 11:22:16 UTC
POE::Component::SSLify did not properly handle Net::SSLeay::accept() return value.


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