Drb SSL test timeout

Debian wheezy $B$K$*$$$F!"(Btest_drbssl.rb $B$N%F%9%H$G(B 100$BIC$N(B
timeout $B$K$R$C$+$+$j$^$9!#(B
$B$^$?!"$=$N$H$-!"%W%m%;%9$,;D$j$^$9!#(B

% RUBYLIB=$PWD/lib ./ruby test/runner.rb test/drb/test_drbssl.rb -v
-n test_01
Run options: -v -n test_01

Running tests:

TestDRbSSLAry#test_01 = 100.00 s = E
TestDRbSSLCore#test_01 = 100.00 s = E

Finished tests in 200.010763s, 0.0100 tests/s, 0.0000 assertions/s.

1) Error:

test_01(TestDRbSSLAry):
DRb::DRbConnError: drbssl://cirrus:51987 - #<RuntimeError: execution
expired>
/home/ruby/tcstate/ruby/lib/drb/drb.rb:736:in rescue in block in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:730:inblock in open’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:729:in each' /home/ruby/tcstate/ruby/lib/drb/drb.rb:729:inopen’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1191:in initialize' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:innew’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1087:inblock in
method_missing’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1105:in with_friend' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1086:inmethod_missing’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:40:in block in service' /home/ruby/tcstate/ruby/lib/monitor.rb:211:inmon_synchronize’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:37:in service' /home/ruby/tcstate/ruby/test/drb/drbtest.rb:30:inblock in
ext_service’
/home/ruby/tcstate/ruby/test/drb/drbtest.rb:29:in ext_service' /home/ruby/tcstate/ruby/test/drb/test_drbssl.rb:56:insetup’

2) Error:

test_01(TestDRbSSLCore):
DRb::DRbConnError: drbssl://localhost:37949 - #<RuntimeError:
execution expired>
/home/ruby/tcstate/ruby/lib/drb/drb.rb:736:in rescue in block in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:730:inblock in open’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:729:in each' /home/ruby/tcstate/ruby/lib/drb/drb.rb:729:inopen’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1191:in initialize' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:innew’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1087:inblock in
method_missing’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1105:in with_friend' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1086:inmethod_missing’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:40:in block in service' /home/ruby/tcstate/ruby/lib/monitor.rb:211:inmon_synchronize’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:37:in service' /home/ruby/tcstate/ruby/test/drb/drbtest.rb:30:inblock in
ext_service’
/home/ruby/tcstate/ruby/test/drb/drbtest.rb:29:in ext_service' /home/ruby/tcstate/ruby/test/drb/test_drbssl.rb:39:insetup’

2 tests, 0 assertions, 0 failures, 2 errors, 0 skips

ruby -v: ruby 2.0.0dev (2012-04-20 trunk 35411) [x86_64-linux]
zsh: exit 2 RUBYLIB=$PWD/lib ./ruby test/runner.rb
test/drb/test_drbssl.rb -v -n test_01

$B$3$N$H$-!"0J2<$N$h$&$K%W%m%;%9$,;D$j$^$9!#(B

% ps auxww|grep ut_array_drbssl.rb
akr 20203 0.0 0.0 4160 584 pts/13 S 02:23 0:00 sh
-c /home/ruby/tcstate/ruby/ruby
“/home/ruby/tcstate/ruby/test/drb/ut_array_drbssl.rb”
druby://localhost:34266 ut_array_drbssl.rb
akr 20206 0.0 0.2 51544 9248 pts/13 Sl 02:23 0:00
/home/ruby/tcstate/ruby/ruby
/home/ruby/tcstate/ruby/test/drb/ut_array_drbssl.rb
druby://localhost:34266 ut_array_drbssl.rb
akr 20221 0.0 0.0 7372 888 pts/13 R+ 02:26 0:00
grep ut_array_drbssl.rb

$B4D6-$O0J2<$N$H$*$j$G$9!#(B

% lsb_release -idrc
Distributor ID: Debian
Description: Debian GNU/Linux testing (wheezy)
Release: testing
Codename: wheezy
% uname -mrsv
Linux 3.2.0-2-amd64 #1 SMP Sun Apr 15 16:47:38 UTC 2012 x86_64
% ldd .ext/x86_64-linux/openssl.so
linux-vdso.so.1 => (0x00007fff207ff000)
libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
(0x00007ff481225000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
(0x00007ff480e41000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007ff480c24000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff480a1c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff480818000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1
(0x00007ff4805e0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff48035e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff47ffd7000)
libz.so.1 => /usr/lib/x86_64-linux-gnu/libz.so.1
(0x00007ff47fdc0000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff4816f8000)

$BD4$Y$?$H$3$m!"(BTCP $B$N(B accept [email protected]$7$?8e!"(BSSL $B$N(B accept
$B$K<:GT$7$F$$$k$h$&$G$9!#(B
$B$H$j$"$($:$=$N>u67$G(B TCP $B$N%=%1%C%H$r(B close $B$9$l$P!"(B
$B%?%$%`%"%&%H$8$c$J$/$F$9$_$d$+$K<:GT$9$k$h$&$K$G$-$^$7$?!#(B

% svn diff --diff-cmd diff -x ‘-u -p’
Index: lib/drb/ssl.rb

— lib/drb/ssl.rb (revision 35418)
+++ lib/drb/ssl.rb (working copy)
@@ -177,7 +177,11 @@ module DRb
break if (@acl ? @acl.allow_socket?(soc) : true)
soc.close
end

  •  ssl = @config.accept(soc)
    
  •  begin
    
  • ssl = @config.accept(soc)
  •  ensure
    
  •    soc.close if $!
    
  •  end
     self.class.new(uri, ssl, @config, true)
     rescue OpenSSL::SSL::SSLError
       warn("#{__FILE__}:#{__LINE__}: warning: #{$!.message}
    

(#{$!.class})") if @config[:verbose]

$B$3$N>u67$G(B TCP $B$N%=%1%C%H$r(B close
$B$9$k$3$H$O@5$7$$BP=h$@$H$H;W$&$N$G$9$,!"$$$+$,$G$7$g$&$+!#(B

$B$J$*!"$3$NJQ998e$O2<$N$h$&$K!"<B:]$NLdBj$H;W$o$l$k(B
OpenSSL::SSL::SSLError $B$G%F%9%H$,<:GT$9$k$h$&$K$J$j$^$9!#(B

% RUBYLIB=$PWD/lib ./ruby test/runner.rb test/drb/test_drbssl.rb -v -n
test_01
Run options: -v -n test_01

Running tests:

TestDRbSSLAry#test_01 = 0.06 s = E
TestDRbSSLCore#test_01 = 0.07 s = E

Finished tests in 0.140017s, 14.2840 tests/s, 0.0000 assertions/s.

1) Error:

test_01(TestDRbSSLAry):
DRb::DRbConnError: drbssl://cirrus:42554 - #<OpenSSL::SSL::SSLError:
SSL_connect SYSCALL returned=5 errno=0 state=unknown state>
/home/ruby/tcstate/ruby/lib/drb/drb.rb:736:in rescue in block in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:730:inblock in open’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:729:in each' /home/ruby/tcstate/ruby/lib/drb/drb.rb:729:inopen’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1191:in initialize' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:innew’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1087:inblock in
method_missing’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1105:in with_friend' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1086:inmethod_missing’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:40:in block in service' /home/ruby/tcstate/ruby/lib/monitor.rb:211:inmon_synchronize’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:37:in service' /home/ruby/tcstate/ruby/test/drb/drbtest.rb:30:inblock in
ext_service’
/home/ruby/tcstate/ruby/test/drb/drbtest.rb:29:in ext_service' /home/ruby/tcstate/ruby/test/drb/test_drbssl.rb:56:insetup’

2) Error:

test_01(TestDRbSSLCore):
DRb::DRbConnError: drbssl://localhost:48108 -
#<OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0
state=unknown state>
/home/ruby/tcstate/ruby/lib/drb/drb.rb:736:in rescue in block in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:730:inblock in open’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:729:in each' /home/ruby/tcstate/ruby/lib/drb/drb.rb:729:inopen’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1191:in initialize' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:innew’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1087:inblock in
method_missing’
/home/ruby/tcstate/ruby/lib/drb/drb.rb:1105:in with_friend' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1086:inmethod_missing’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:40:in block in service' /home/ruby/tcstate/ruby/lib/monitor.rb:211:inmon_synchronize’
/home/ruby/tcstate/ruby/lib/drb/extservm.rb:37:in service' /home/ruby/tcstate/ruby/test/drb/drbtest.rb:30:inblock in
ext_service’
/home/ruby/tcstate/ruby/test/drb/drbtest.rb:29:in ext_service' /home/ruby/tcstate/ruby/test/drb/test_drbssl.rb:39:insetup’

2 tests, 0 assertions, 0 failures, 2 errors, 0 skips

ruby -v: ruby 2.0.0dev (2012-04-20 trunk 35411) [x86_64-linux]

$B$"$H$3$NJQ99$G$O!"%W%m%;%9$,;D$k$N$O$=$N$^$^$G$9!#(B
drb $B$,5/F0$7$?%W%m%;%9(B ($B$"$k$$$O(B Process.detach
$B$,JV$7$?%9%l%C%I(B) $B$r3P$($F$$$F$/$l$k$H(B
kill $B$G$-$k$h$&$J5$$,$9$k$s$G$9$,!"$I$&$G$7$g$&$+!#(B

$B31$H$$$$$^$9!#(B

On 2012/04/22, at 2:43, Tanaka A. wrote:

Debian wheezy $B$K$*$$$F!"(Btest_drbssl.rb $B$N%F%9%H$G(B 100$BIC$N(B timeout
$B$K$R$C$+$+$j$^$9!#(B
$B$^$?!"$=$N$H$-!"%W%m%;%9$,;D$j$^$9!#(B

    break if (@acl ? @acl.allow_socket?(soc) : true)
    warn("#{__FILE__}:#{__LINE__}: warning: #{$!.message}

(#{$!.class})") if @config[:verbose]

$B$3$N>u67$G(B TCP $B$N%=%1%C%H$r(B close
$B$9$k$3$H$O@5$7$$BP=h$@$H$H;W$&$N$G$9$,!"$$$+$,$G$7$g$&$+!#(B

$B@5$7$$$H;W$$$^$9!#EDCf$5$s(Bcommit$B$7$?$$$?$@$1$^$9$+!)(B

$B$3$&$$$&(Bensure$B$H(B$!$B$rAH$_9g$o$;$k$N$O$H$F$bLLGr$$$G$9$M!#(B
$BNc30$,$"$,$k$N$rK8$2$:$K!"Nc30$K5$IU$1$k$N$+$7$i!#(B

$B$J$*!"$3$NJQ998e$O2<$N$h$&$K!"<B:]$NLdBj$H;W$o$l$k(B OpenSSL::SSL::SSLError
$B$G%F%9%H$,<:GT$9$k$h$&$K$J$j$^$9!#(B

$B$"$H$3$NJQ99$G$O!"%W%m%;%9$,;D$k$N$O$=$N$^$^$G$9!#(B
drb $B$,5/F0$7$?%W%m%;%9(B ($B$"$k$$$O(B Process.detach $B$,JV$7$?%9%l%C%I(B)
$B$r3P$($F$$$F$/$l$k$H(B
kill $B$G$-$k$h$&$J5$$,$9$k$s$G$9$,!"$I$&$G$7$g$&$+!#(B

$B$9$_$^$;$s!#$I$&$7$?$i$$$$$+9M$($^$9!#(B

2012$BG/(B4$B7n(B22$BF|(B6:52 Masatoshi SEKI [email protected]:

$B$“$H$3$NJQ99$G$O!”%W%m%;%9$,;D$k$N$O$=$N$^$^$G$9!#(B
drb $B$,5/F0$7$?%W%m%;%9(B ($B$“$k$$$O(B Process.detach $B$,JV$7$?%9%l%C%I(B)
$B$r3P$($F$$$F$/$l$k$H(B
kill $B$G$-$k$h$&$J5$$,$9$k$s$G$9$,!”$I$&$G$7$g$&$+!#(B

$B$9$_$^$;$s!#$I$&$7$?$i$$$$$+9M$($^$9!#(B

drb $BB&$G3P$($F$*$$$F$b$i$o$J$/$F$b!“(B
Process.detach $B$,@8@.$9$k%9%l%C%I$r(B Thread.list $B$+$iC5$;$P(B
$BBP=h$G$-$k$N$G$O$J$$$+!”$H;W$$$D$$$?$N$G$d$C$F$_$^$7$?!#(B

$B$^$:!“(Bkill $B$9$k$H$-$K!”(B/bin/sh $B$@$1$r(B kill
$B$7$F$7$^$o$J$$$h$&!“(B
spawn $B$KEO$9$N$OG[Ns$G%3%^%s%I$rEO$7$F(B /bin/sh
$B$r7PM3$7$J$$$h$&$K$7$^$9!#(B
$B$3$N$?$a$K(B DRb::ExtServManager.command $B$N7A<0$r3HD%$7$F!”(B
$B%O%C%7%e$NCM$KG[Ns$b<u$1F~$l$k$3$H$K$J$j$^$9!#(B

$B$=$7$F!"(BProcess.detach $B$,@8@.$9$k%9%l%C%I$N%9%l%C%IJQ?t$K(B
$B%5!<%S%9$NL>A0$rF~$l$F$$$$F!“8e$+$i<1JL$G$-$k$h$&$K$7$^$9!#(B
$B8=:_$N%F%9%H$G$OLdBj$J$$$N$G$9$,0lHL$K$O(B ExtServManager $B$KJ#?t$N(B
$B%$%s%9%?%s%9$,$”$j$&$k$h$&$J5$$b$9$k$N$G!“(B
$B$3$3$O%5!<%S%9$NL>A0$@$1$8$c$J$/$F!”(B
ExtServManager
$B$N%$%s%9%?%s%9$bF~$l$F$
$$$?$[$&$,$$$$$+$b$7$l$^$;$s!#(B

$B$“$H$O!”(Bsetup $B$G(B @service_name
$B$K%5!<%S%9$NL>A0$rJ]B8$7$F$*$$$F!“(B
teardown $B$G(B Thread.list $B$+$iC5$7=P$7$F(B kill $B$7$F$$$^$9!#(B
$B$”$H!"(Bteardown $B$G$O(B DRbService.manager.unregist
$B$b8F$S=P$7$F$D$8$D$^$r(B
$B9g$o$;$^$9!#(B

$B$$$+$,$G$7$g$&$+!#(B

% svn diff --diff-cmd diff -x ‘-u -p’
Index: lib/drb/extservm.rb

— lib/drb/extservm.rb (revision 35422)
+++ lib/drb/extservm.rb (working copy)
@@ -79,7 +79,15 @@ module DRb
@servers[name] = false
end
uri = @uri || DRb.uri

  •  Process.detach spawn("#{command} #{uri} #{name}")
    
  •  if command.respond_to? :to_ary
    
  •    command = command.to_ary + [uri, name]
    
  •    pid = spawn(*command)
    
  •  else
    
  •    pid = spawn("#{command} #{uri} #{name}")
    
  •  end
    
  •  th = Process.detach(pid)
    
  •  th[:drb_service] = name
    
  •  th
    
    end
    end
    end
    Index: test/drb/test_drbunix.rb
    ===================================================================
    — test/drb/test_drbunix.rb (revision 35422)
    +++ test/drb/test_drbunix.rb (working copy)
    @@ -20,7 +20,8 @@ end
    class TestDRbUNIXCore < Test::Unit::TestCase
    include DRbCore
    def setup
  • @ext = DRbUNIXService.ext_service(‘ut_drb_drbunix.rb’)
  • @service_name = ‘ut_drb_drbunix.rb’
  • @ext = DRbUNIXService.ext_service(@service_name)
    @there = @ext.front
    end

@@ -37,7 +38,8 @@ end
class TestDRbUNIXAry < Test::Unit::TestCase
include DRbAry
def setup

  • @ext = DRbUNIXService.ext_service(‘ut_array_drbunix.rb’)
  • @service_name = ‘ut_array_drbunix.rb’
  • @ext = DRbUNIXService.ext_service(@service_name)
    @there = @ext.front
    end
    end
    Index: test/drb/test_drbssl.rb
    ===================================================================
    — test/drb/test_drbssl.rb (revision 35422)
    +++ test/drb/test_drbssl.rb (working copy)
    @@ -36,7 +36,8 @@ end
    class TestDRbSSLCore < Test::Unit::TestCase
    include DRbCore
    def setup
  • @ext = DRbSSLService.ext_service(‘ut_drb_drbssl.rb’)
  • @service_name = ‘ut_drb_drbssl.rb’
  • @ext = DRbSSLService.ext_service(@service_name)
    @there = @ext.front
    end

@@ -53,7 +54,8 @@ end
class TestDRbSSLAry < Test::Unit::TestCase
include DRbAry
def setup

  • @ext = DRbSSLService.ext_service(‘ut_array_drbssl.rb’)
  • @service_name = ‘ut_array_drbssl.rb’
  • @ext = DRbSSLService.ext_service(@service_name)
    @there = @ext.front
    end
    end
    Index: test/drb/test_drb.rb
    ===================================================================
    — test/drb/test_drb.rb (revision 35422)
    +++ test/drb/test_drb.rb (working copy)
    @@ -202,7 +202,8 @@ end

class TestDRbSafe1 < TestDRbAry
def setup

  • @ext = DRbService.ext_service(‘ut_safe1.rb’)
  • @service_name = ‘ut_safe1.rb’
  • @ext = DRbService.ext_service(@service_name)
    @there = @ext.front
    end
    end
    Index: test/drb/drbtest.rb
    ===================================================================
    — test/drb/drbtest.rb (revision 35422)
    +++ test/drb/drbtest.rb (working copy)
    @@ -11,7 +11,7 @@ class DRbService
    @@ruby += " -d" if $DEBUG
    def self.add_service_command(nm)
    dir = File.dirname(File.expand_path(FILE))
  • DRb::ExtServManager.command[nm] = “#{@@ruby} "#{dir}/#{nm}"”
  • DRb::ExtServManager.command[nm] = [@@ruby, “#{dir}/#{nm}”]
    end

%w(ut_drb.rb ut_array.rb ut_port.rb ut_large.rb ut_safe1.rb
ut_eval.rb ut_eq.rb).each do |nm|
@@ -65,12 +65,20 @@ end

module DRbCore
def setup

  • @ext = DRbService.ext_service(‘ut_drb.rb’)
  • @service_name = ‘ut_drb.rb’
  • @ext = DRbService.ext_service(@service_name)
    @there = @ext.front
    end

def teardown
@ext.stop_service if @ext

  • DRbService.manager.unregist(@service_name)
  • Thread.list.each {|th|
  •  if th.respond_to?(:pid) && th[:drb_service] == @service_name
    
  •    Process.kill :TERM, th.pid
    
  •    th.join
    
  •  end
    
  • }
    end

def test_00_DRbObject
@@ -271,12 +279,20 @@ end

module DRbAry
def setup

  • @ext = DRbService.ext_service(‘ut_array.rb’)
  • @service_name = ‘ut_array.rb’
  • @ext = DRbService.ext_service(@service_name)
    @there = @ext.front
    end

def teardown
@ext.stop_service if @ext

  • DRbService.manager.unregist(@service_name)
  • Thread.list.each {|th|
  •  if th.respond_to?(:pid) && th[:drb_service] == @service_name
    
  •    Process.kill :TERM, th.pid
    
  •    th.join
    
  •  end
    
  • }
    end

def test_01

2012$BG/(B4$B7n(B22$BF|(B19:52 Masatoshi SEKI
[email protected]:

$B$“!#$b$7$+$7$F(B @ext$B$+$iL>A0$,CN$l$?$i!J([email protected] $B$GC)$l$?$i!K!”(B
@service_name $B$OMW$i$J$$$G$7$g$&$+!)(B

$B$=$&$G$O$J$/!"$=$b$=$b$=$N<:GT$N$H$-$K$O(B@ext$B$,(Bnil$B$J$N$+$7$i!#(B

$B;n$7$F8+$^$7$?$,!“;DG0$J$,$i!”(B@ext $B$ODj5A$5$l$F$$$^$;$s!#(B

$B$^$?!"(Bbacktrace $B$r$_$k$H!“0J2<$N$h$&$K(B ext_service
$B$N<B9TCf$K(B
$B%(%i!<$,H/@8$7$F$$$F!”(B@ext $B$NDj5A$^$G;j$C$F$$$^$;$s!#(B

% ./ruby -Ilib test/runner.rb test/drb/test_drbssl.rb -v -n
test_02_collect
Run options: -v -n test_02_collect

Running tests:

TestDRbSSLAry#test_02_collect = 0.06 s = E

Finished tests in 0.062904s, 15.8973 tests/s, 0.0000 assertions/s.

  1. Error:
    test_02_collect(TestDRbSSLAry):
    DRb::DRbConnError: drbssl://cirrus:40715 - #<OpenSSL::SSL::SSLError:
    SSL_connect SYSCALL returned=5 errno=0 state=unknown state>
    /home/ruby/tcstate/ruby/lib/drb/drb.rb:736:in rescue in block in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:730:in block in open’
    /home/ruby/tcstate/ruby/lib/drb/drb.rb:729:in each' /home/ruby/tcstate/ruby/lib/drb/drb.rb:729:in open’
    /home/ruby/tcstate/ruby/lib/drb/drb.rb:1191:in initialize' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:in new’
    /home/ruby/tcstate/ruby/lib/drb/drb.rb:1171:in open' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1087:in block in
    method_missing’
    /home/ruby/tcstate/ruby/lib/drb/drb.rb:1105:in with_friend' /home/ruby/tcstate/ruby/lib/drb/drb.rb:1086:in method_missing’
    /home/ruby/tcstate/ruby/lib/drb/extservm.rb:40:in block in service' /home/ruby/tcstate/ruby/lib/monitor.rb:211:in mon_synchronize’
    /home/ruby/tcstate/ruby/lib/drb/extservm.rb:37:in service' /home/ruby/tcstate/ruby/test/drb/drbtest.rb:30:in block in
    ext_service’
    /home/ruby/tcstate/ruby/test/drb/drbtest.rb:29:in ext_service' /home/ruby/tcstate/ruby/test/drb/test_drbssl.rb:58:in setup’

1 tests, 0 assertions, 0 failures, 1 errors, 0 skips

ruby -v: ruby 2.0.0dev (2012-04-22 trunk 35422) [x86_64-linux]

$B$J$N$G!"(Bif @ext $B$O(B if defined?(@ext) && @ext
$B$N$[$&$,$$$$$G$9$M!#(B

$B%3%_%C%H$5$;$F$$$?$@$-$^$9!#(B

$B31$H$$$$$^$9!#(B

$BEDCf$5$s$"$j$,$H$&$4$6$$$^$9!#(B

On 2012/04/22, at 12:31, Tanaka A. wrote:

$B$=$7$F!"(BProcess.detach $B$,@8@.$9$k%9%l%C%I$N%9%l%C%IJQ?t$K(B
$B%5!<%S%9$NL>A0$rF~$l$F$$$$F!“8e$+$i<1JL$G$-$k$h$&$K$7$^$9!#(B
$B8=:_$N%F%9%H$G$OLdBj$J$$$N$G$9$,0lHL$K$O(B ExtServManager $B$KJ#?t$N(B
$B%$%s%9%?%s%9$,$”$j$&$k$h$&$J5$$b$9$k$N$G!"(B
$B$3$3$O%5!<%S%9$NL>A0$@$1$8$c$J$/$F!"(B
ExtServManager $B$N%$%s%9%?%s%9$bF~$l$F$
$$$?$[$&$,$$$$$+$b$7$l$^$;$s!#(B

test$B%9%/%j%W%H$r%]!<%?%V%k$K$9$k2aDx$G@8$^$l$?$b$N$G(B
$B$*$=$i$/C/$b;H$C$F$J$$$H;W$$$^$9!J;d$b;H$$ES$r$d$C$H;W$$=P$7$?!K$+$i!"(B
$B5$$K$7$J$/$F$$$$5$$,$7$^$9!#(B

$B$"$H$O!"(Bsetup $B$G(B @service_name $B$K%5!<%S%9$NL>A0$rJ]B8$7$F$*$$$F!"(B
teardown $B$G(B Thread.list $B$+$iC5$7=P$7$F(B kill $B$7$F$$$^$9!#(B
$B$"$H!"(Bteardown $B$G$O(B DRbService.manager.unregist
$B$b8F$S=P$7$F$D$8$D$^$r(B
$B9g$o$;$^$9!#(B

$B$$$+$,$G$7$g$&$+!#(B

$B$"$j$,$H$&$4$6$$$^$9!#(B
$B;d$O$3$l$G(Bcommit$B$7$F$h$$$h$&$K;W$$$^$9!#(B

$B$"!#$b$7$+$7$F(B @ext$B$+$iL>A0$,CN$l$?$i!J([email protected]
$B$GC)$l$?$i!K!"(B
@service_name $B$OMW$i$J$$$G$7$g$&$+!)(B

Index: extserv.rb

— extserv.rb (revision 35416)
+++ extserv.rb (working copy)
@@ -20,7 +20,7 @@
@invoker = ro.regist(name, DRbObject.new(self, @server.uri))
end
end

  • attr_reader :server
  • attr_reader :server, :name

    def front
    DRbObject.new(nil, @server.uri)

$B$=$&$G$O$J$/!"$=$b$=$b$=$N<:GT$N$H$-$K$O(B@ext$B$,(Bnil$B$J$N$+$7$i!#(B

2012$BG/(B4$B7n(B22$BF|(B20:23 Tanaka A. [email protected]:

  1. Error:
    test_02_collect(TestDRbSSLAry):
    DRb::DRbConnError: drbssl://cirrus:40715 - #<OpenSSL::SSL::SSLError:
    SSL_connect SYSCALL returned=5 errno=0 state=unknown state>

$B$G!“$3$N%(%i!<<+BN$rD4$Y$F$_$?$s$G$9$,!”(B
$BK\Ev$K$=$l$G$$$$$N$+$I$&$+$$$^$R$H$D<+?.$,$b$F$J$$$N$G$9$,(B
[ruby-core:44539] $B$K=q$$$?$h$&$K!"(B
$B@8@.$9$k80$N%S%C%HD9$r(B 512 $B$+$i(B 1024
$B$K$9$k$HF0$/$h$&$K$J$k$h$&$G$9!#(B

$B$I$&$J$s$G$9$+$M$'!#(B

2012$BG/(B4$B7n(B23$BF|(B13:56 NARUSE, Yui [email protected]:

$B$3$l$G$9$,!"(B
4) Error:
test_04(TestDRbUNIXCore):
Errno::ESRCH: No such process

test_01(TestDRbCore):
Errno::ESRCH: No such process

$B$H$$$&%(%i!<$,$?$^$K=P$^$9!#(B

$B$U$!#(B ESRCH $B$H$$$&$3$H$O!";&$9A0$K$a$G$?$/;$s$G$$$?$H$$$&$3$H$G$9$+$i!"(B
$BC1$KL5;k$9$l$P$$$$$G$9$+$M!#(B

2012$BG/(B4$B7n(B22$BF|(B20:23 Tanaka A. [email protected]:

$B%3%_%C%H$5$;$F$$$?$@$-$^$9!#(B

$B$3$l$G$9$,!"(B
4) Error:
test_04(TestDRbUNIXCore):
Errno::ESRCH: No such process
/home/chkbuild/build/ruby-trunk/20120423T030102Z/ruby/test/drb/drbtest.rb:78:in
kill' /home/chkbuild/build/ruby-trunk/20120423T030102Z/ruby/test/drb/drbtest.rb:78:in block in teardown’
/home/chkbuild/build/ruby-trunk/20120423T030102Z/ruby/test/drb/drbtest.rb:76:in
each' /home/chkbuild/build/ruby-trunk/20120423T030102Z/ruby/test/drb/drbtest.rb:76:in teardown’

http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20120423T030102Z.log.html.gz

$B$d(B

test_01(TestDRbCore):
Errno::ESRCH: No such process
/home/chkbuild/build/ruby-trunk/20120422T150105Z/ruby/test/drb/drbtest.rb:78:in
kill' /home/chkbuild/build/ruby-trunk/20120422T150105Z/ruby/test/drb/drbtest.rb:78:in block in teardown’
/home/chkbuild/build/ruby-trunk/20120422T150105Z/ruby/test/drb/drbtest.rb:76:in
each' /home/chkbuild/build/ruby-trunk/20120422T150105Z/ruby/test/drb/drbtest.rb:76:in teardown’

http://c5632.rubyci.org/~chkbuild/ruby-trunk/log/20120422T150105Z.log.html.gz

$B$H$$$&%(%i!<$,$?$^$K=P$^$9!#(B

2012$BG/(B4$B7n(B25$BF|(B7:24 Masatoshi SEKI [email protected]:

SSL$B!"A4A3$o$+$i$J$$$N$G$I$J$?$+$I$&$9$k$Y$-$+65$($FM_$7$$$G$9!#(B

$B$$$^(B1024$B$K$7$FF0$$$?$H$7$F!"?tG/8e$K(B2048$B$K$9$kI,MW$,=P$F$-$?$j$7$^$9$+!)(B

$B$9$$$^$;$s!#(B[ruby-core:44544] $B$G(B Fedora 17/rawhide
$B$G$bH/@8$9$kF1MM$N>I>u$,(B
$B2r7h$9$k$H$$$&OC$J$N$G!"$9$G$KF~$l$F$7$^$$$^$7$?!#(B

$B80$,C;$$$+$i%(%i!<$K$J$k!“$H$$$&@bL@$O(B
http://rt.openssl.org/Ticket/Display.html?id=2769&user=guest&pass=guest
$B$K$”$j$^$9!#(B

$B$o$?$7$b(B SSL
$B$N8<?M$G$O$J$$$N$G!"CN$C$F$$$k?M$,$$$l$P65$($F$$$?$@$-$?$$$H$3$m$G$9!#(B

$B$?$@!“AG?M$J$j$K(B
http://rt.openssl.org/Ticket/Display.html?id=2769&user=guest&pass=guest
$B$rM}2r$9$k$H!”(BSHA512 $B$r;H$&$J$i(B 512 bit
$B$N80$OC;$9$.$k!“$H$$$&OC$@$=$&$J$N$G!”(B
1024 bit $B$N%O%C%7%e$,=P$F$/$k$^$G$OBg>fIW$J$s$8$c$J$$$G$7$g$&$+!#(B
($B$=$l$O%(%i!<$K$9$k$[$I$NOC$J$N$+!"$H$$$&E@$K$D$$$F$O5?Ld$K;W$C$F$$$^$9$,(B)

$B31$H$$$$$^$9!#(B

On 2012/04/23, at 13:22, Tanaka A. wrote:

$B$I$&$J$s$G$9$+$M$’!#(B

SSL$B!"A4A3$o$+$i$J$$$N$G$I$J$?$+$I$&$9$k$Y$-$+65$($FM_$7$$$G$9!#(B

$B$$$^(B1024$B$K$7$FF0$$$?$H$7$F!"?tG/8e$K(B2048$B$K$9$kI,MW$,=P$F$-$?$j$7$^$9$+!)(B