>>> Source compiled. PERL_DL_NONLAZY=1 /usr/bin/perl5.8.8 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01loadmodule............ok t/02settings..............ok t/acceptSSL-timeout.......1/14 server >> OK Waiting << client_no_ssl >> OK Connected << server >> Connect from 127.0.0.1:34721 << t/acceptSSL-timeout.......7/14 server >> SSL Handshake FAILED - Resource temporarily unavailable << server >> OK << server >> Waiting << client_ssl >> OK << server >> Connect from 127.0.0.1:34722 << client_ssl >> Connected << server >> SSL Handshake OK << client_ssl >> Hi! << t/acceptSSL-timeout.......ok t/auto_verify_hostname.... Failed 2/30 subtests t/cert_no_file............ok t/compatibility...........ok t/connectSSL-timeout......1/15 server >> OK Waiting << client >> OK Connected << server >> Connect from 127.0.0.1:34165 << client >> SSL Handshake FAILED - Resource temporarily unavailable << t/connectSSL-timeout......7/15 server >> OK Waiting << client >> OK << server >> Connect from 127.0.0.1:34166 << client >> Connected << server >> SSL Handshake OK << client >> SSL Handshake OK << client >> Hi! << t/connectSSL-timeout......ok t/core....................ok t/dhe.....................ok t/nonblock................ok t/readline................ok t/sessions................ok t/start-stopssl...........ok t/startssl................ok t/sysread_write...........ok t/verify_hostname.........ok Test Summary Report ------------------- t/auto_verify_hostname (Wstat: 0 Tests: 29 Failed: 1) Failed test: 3 Parse errors: Bad plan. You planned 30 tests but ran 29. Files=16, Tests=286, 33 wallclock secs ( 0.38 usr 0.01 sys + 0.82 cusr 0.19 csys = 1.40 CPU) Result: FAIL Failed 1/16 test programs. 1/286 subtests failed. make: *** [test_dynamic] Error 255
It have seen this failure too, but was not able to reproduce it. Can you give a more verbose output? (In reply to comment #0) > t/auto_verify_hostname.... Failed 2/30 subtests make TEST_FILES=t/auto_verify_hostname.t TEST_VERBOSE=1 test
Here it is: # make TEST_FILES=t/auto_verify_hostname.t TEST_VERBOSE=1 test PERL_DL_NONLAZY=1 /usr/bin/perl5.8.8 "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/auto_verify_hostname.t t/auto_verify_hostname.... 1..30 ok 1 #Server Initialization ok 2 #connection to example.com/www failed ok 3 #connection to server.local/ldap succeeded ok 4 #received hallo ok 5 #connection to server.local/www failed ok 6 #connection to bla.server.local/www succeeded ok 7 #received hallo ok 8 #connection to www7.other.local/www succeeded ok 9 #received hallo ok 10 #connection to www7.other.local/ldap failed ok 11 #connection to bla.server.local/ldap succeeded ok 12 #received hallo ok 13 #tcp connect ok 14 #ssl upgrade of connection to example.com/www failed ok 15 #tcp connect ok 16 #ssl upgrade of connection to server.local/ldap succeeded ok 17 #received hallo ok 18 #tcp connect ok 19 #ssl upgrade of connection to server.local/www failed ok 20 #tcp connect not ok 21 #ssl upgrade of connection to bla.server.local/www succeeded ok 22 #tcp connect ok 23 #ssl upgrade of connection to www7.other.local/www succeeded ok 24 #received hallo ok 25 #tcp connect ok 26 #ssl upgrade of connection to www7.other.local/ldap failed ok 27 #tcp connect ok 28 #ssl upgrade of connection to bla.server.local/ldap succeeded ok 29 #received hallo Failed 2/30 subtests Test Summary Report ------------------- t/auto_verify_hostname (Wstat: 0 Tests: 29 Failed: 1) Failed test: 21 Parse errors: Bad plan. You planned 30 tests but ran 29. Files=1, Tests=29, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.05 cusr 0.01 csys = 0.07 CPU) Result: FAIL Failed 1/1 test programs. 1/29 subtests failed.
# for i in $(seq 1 10) ; do make TEST_FILES=t/auto_verify_hostname.t TEST_VERBOSE=1 test 2>/dev/null | tail -n 1 ; done Result: FAIL Result: FAIL Result: FAIL Result: FAIL Result: PASS Result: PASS Result: FAIL Result: FAIL Result: PASS Result: PASS
indeed, this seems likely to be a synchronisation problem, on a quad core I get things like: Result: FAIL Result: PASS Result: FAIL Result: FAIL Result: FAIL Result: FAIL Result: FAIL Result: FAIL Result: FAIL Result: FAIL while on a single core its more like: Result: FAIL Result: PASS Result: PASS Result: PASS Result: PASS Result: PASS Result: PASS Result: PASS Result: FAIL Result: PASS
Should be fixed now: v1.15 - change internal behavior when SSL handshake failed (like when verify callback returned an error) in the hope to fix spurios errors in t/auto_verify_hostname.t