Bug#911938: libhttp-daemon-ssl-perl FTBFS: tests fail: Connection refused
Mike Gabriel
mike.gabriel at das-netzwerkteam.de
Mon Nov 12 20:11:59 GMT 2018
Hi,
On Fri, 26 Oct 2018 15:14:06 +0200 Helmut Grohne <helmut at subdivi.de> wrote:
> Source: libhttp-daemon-ssl-perl
> Version: 1.05-01-1
> Severity: serious
> Tags: ftbfs
>
> libhttp-daemon-ssl-perl fails to build from source in unstable.
>
>
https://tests.reproducible-builds.org/debian/rbuild/unstable/amd64/libhttp-daemon-ssl-perl_1.05-01-1.rbuild.log.gz
>
> | # Failed test 'got request object'
> | # at t/testpost.t line 88.
> | Can't call method "method" on an undefined value at t/testpost.t
line 89.
> | # Looks like your test exited with 255 just after 5.
> |
> | # Failed test 'posted small request'
> | # at t/testpost.t line 55.
> | # 500
> | # Server closed connection without sending any data back
> |
> | # Failed test 'posted 66k request'
> | # at t/testpost.t line 62.
> | # 500
> | # Can't connect to 127.0.0.1:39653 (Connection refused)
> |
> | # Failed test 'posted 67k request'
> | # at t/testpost.t line 68.
> | # 500
> | # Can't connect to 127.0.0.1:39653 (Connection refused)
> |
> | # Failed test 'posted 500k request'
> | # at t/testpost.t line 74.
> | # 500
> | # Can't connect to 127.0.0.1:39653 (Connection refused)
> | t/testpost.t ....
> | 1..20
> | ok - made test server
> | ok - server init port=39653
> | ok - server fileno
> | ok - accepted first post
> | not ok - got request object
> | not ok - posted small request
> | not ok - posted 66k request
> | not ok - posted 67k request
> | not ok - posted 500k request
> | Dubious, test returned 255 (wstat 65280, 0xff00)
> | Failed 16/20 subtests
> |
> | Test Summary Report
> | -------------------
> | t/testpost.t (Wstat: 65280 Tests: 9 Failed: 5)
> | Failed tests: 5-9
> | Non-zero exit status: 255
> | Parse errors: Bad plan. You planned 20 tests but ran 9.
> | Files=4, Tests=26, 34 wallclock secs ( 0.06 usr 0.03 sys + 1.09
cusr 0.25 csys = 1.43 CPU)
> | Result: FAIL
> | Failed 1/4 test programs. 5/26 subtests failed.
> | make[2]: *** [Makefile:829: test_dynamic] Error 255
> | make[2]: Leaving directory '/build/1st/libhttp-daemon-ssl-perl-1.05-01'
> | dh_auto_test: make -j1 test TEST_VERBOSE=1 returned exit code 2
> | make[1]: *** [debian/rules:20: override_dh_auto_test] Error 2
In order not to loose this bit of information that came in via
#debian-perl IRC:
```
15:27 < ntyni> it's a TLSv1.3 thing, hacking in SSL_version => 'TLSv1_2'
makes it pass
15:27 < ntyni> the underlying error seems to be "SSL wants a read first"
15:29 < ntyni> but I can't really tell if the fault is in
HTTP::Daemon::SSL, HTTP::Daemon, IO::Socket::SSL or Net::SSLeay and my
eyes bleed already
15:32 < ntyni>
https://wiki.openssl.org/index.php/TLS1.3#Non-application_data_records
is presumably related
15:46 < dam> that test fails differently for me: Bad arg length for
Socket::inet_ntoa, length is 16, should be 4 at
/usr/share/perl5/HTTP/Daemon.pm line 51.
15:46 < dam> and the argument is 16 binary zeroes (like ip6 0::0)
15:50 < ntyni> that's weird given t/ssl_settings.req has 127.0.0.1
15:51 < ntyni> HTTP::Daemon is IPv4-only and I'd expect issues like that
when passing 'localhost' to it
15:58 < dam> hmm. will look more
16:07 < ntyni> so I suppose the issue is with the client not the server;
I can interact fine with the server side with curl
16:09 < ntyni> the client is Test::WWW::Mechanize, which uses
LWP::Protocol::https underneath (-> Net::HTTPS -> IO::Socket::SSL)
16:11 < ntyni> and I guess the client blindly writes the HTTP request
without reading non-application data records out first
[...]
20:30 < ntyni> seems like a client problem indeed; POSTing to
facebook.com with LWP and TLSv1.3 hangs for me too
20:30 < ntyni> as in perl -MLWP::UserAgent -e
'LWP::UserAgent->new->post("https://facebook.com", { data => "foo" }) or
die'
20:31 < ntyni> sticking ssl_opts => { SSL_version => 'TLSv1_2'} in there
makes it go away
```
Mike
More information about the pkg-perl-maintainers
mailing list