平常運転

アニソンが好き

過去記事とかは記事一覧で見れます

Net::Serverが入らなくてステキなお話(未解決)

おおむね表題の通りです。

入れたいけど入らないもの

Net::Server

ストーリー

cpanm StarmanしたらNet::Serverがテストでコケて入らなかったので困った困った

環境

入らない

cpanmで入れるよ!!!

$ cpanm  Net::Server
--> Working on Net::Server
Fetching http://www.cpan.org/authors/id/R/RH/RHANDOM/Net-Server-2.007.tar.gz ... OK
Configuring Net-Server-2.007 ... OK
Building and testing Net-Server-2.007 ... FAIL
! Installing Net::Server failed. See /Users/ぼくです/.cpanm/work/1379840009.74291/build.log for details. Retry with --force to force install it.

入りませんでした。

ログを少し読みます

PERL_DL_NONLAZY=1 /Users/ぼくです/perl5/perlbrew/perls/perl-5.14.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Options.t ............... ok
t/Port_Configuration.t .... ok
t/Server_BASE.t ........... ok
t/Server_Fork.t ........... ok
t/Server_http.t ........... ok
t/Server_INET.t ........... ok
t/Server_Multiplex.t ...... ok
t/Server_MultiType.t ...... ok
t/Server_PreFork.t ........ ok
t/Server_PreForkSimple.t .. ok
t/Server_Single.t ......... ok
t/SSL_test.t .............. 
Failed 1/5 subtests 
t/SSLEAY_test.t ........... ok
t/UDP_test.t .............. ok
t/UNIX_test.t ............. ok

Test Summary Report
-------------------
t/SSL_test.t            (Wstat: 0 Tests: 5 Failed: 1)
  Failed test:  5
Files=15, Tests=186,  2 wallclock secs ( 0.07 usr  0.03 sys +  0.83 cusr  0.16 csys =  1.09 CPU)
Result: FAIL
Failed 1/15 test programs. 1/186 subtests failed.

SSL_test.tで爆死してます。

proveじゃどこでコケてるのか分かりづらいから直接叩きます

$ perl -Ilib t/SSL_test.t
1..5
ok 1 - Can fork on this platform
ok 2 - Got needed ports (20200)
ok 3 - Pipe works
ok 4 - use Net::Server::Proto::SSL
# Trouble running server: Could not finalize SSL connection with client handle (SSL connect accept failed because of handshake problems error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca)
not ok 5 - Failed during run of server
#   failed at t/SSL_test.t line 106
Killed: 9

読みます

$  cat -n t/SSL_test.t
...
    89     ### child does the server
    90     } else {
    91         eval {
    92             alarm $env->{'timeout'};
    93             close STDERR;
    94             my $s = Net::Server::Test->run(
    95                 host  => $env->{'hostname'},
    96                 port  => $env->{'ports'}->[0],
    97                 proto => 'ssl',
    98                 ipv   => '*', # $env->{'ipv'}, # IO::Socket::SSL always tries INET6 if it is available so we should listen on 6 if it is available
    99                 SSL_cert_file => $pem_filename,
   100                 SSL_key_file  => $pem_filename,
   101                 background => 0,
   102                 setsid => 0,
   103                 );
   104         } || do {
   105             diag("Trouble running server: $@");
   106             kill(9, $ppid) && ok(0, "Failed during run of server");
   107         };
   108         exit;
   109     }
...

SSLの証明書関係だろうなーということが分かった(小学生並の感想)。

cpantesters

みんな大好きcpantestersで確認してみたらちょくちょく落ちてる人が居る。 軽く目を通した感じ、落ちてるレポートはだいたい同じところで落ちてる感じ。

しかし例えばOS XでもPASSしてる環境とFAILしてる環境があったりして、その差がわからん。

あとみんな山Lionなんすね

結論

とりあえずテストすっとばしてforce installしました!!!!!1