[#27919] 1.8.4 Preview2 検証 — "URABE Shyouhei aka. mput" <root@...>

卜部です。

33 messages 2005/12/01

[#27997] 1.8.4 documents? — "URABE Shyouhei aka. mput" <root@...>

卜部です。

22 messages 2005/12/12
[#28017] Re: 1.8.4 documents? — Koji Arai <jca02266@...> 2005/12/13

新井です。

[#28082] ruby_1_8 Segmentation fault on Cygwin — yanagi@...

柳田です。

13 messages 2005/12/21
[#28083] Re: ruby_1_8 Segmentation fault on Cygwin — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/21

山本です。

[#28140] ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org>

HP-UX で HP aC++/ANSI C を使って作った ruby で、openssl や drb のテストをすると、

34 messages 2005/12/27
[#28141] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/28

渡辺哲也です。

[#28142] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <200512280307.jBS37nnj005909@pbsg500.nifty.com>,

[#28147] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/28

山本です。

[#28149] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <20051228210640.13C71A10.ocean@m2.ccsnet.ne.jp>,

[#28151] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/29

渡辺哲也です。

[#28152] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28153] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28154] thread based generator.rb — Tanaka Akira <akr@...17n.org> 2005/12/29

In article <20051229114438.44D19F00.ocean@m2.ccsnet.ne.jp>,

[ruby-dev:28003] Re: 1.8.4 Preview2 検証

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2005-12-12 10:34:51 UTC
List: ruby-dev #28003
In message <87hd9e1zcw.fsf@m17n.org>,
 `Tanaka Akira <akr@m17n.org>' wrote:
> In article <20051212.161526.343192617.gotoyuzo@sawara.priv.tokyo.netlab.jp>,
>   GOTOU Yuuzou <gotoyuzo@notwork.org> writes:
> > このテストはソケットを20個開くので、運悪くファイルディスクリ
> > プタが足りなくなっていたようです。test_parrallel の冒頭で
> > GC.start を呼ぶと通るようなのでコミットしておきました。
> 
> ちょっとした疑問ですが、ファイルディスクリプタが足りずに
> EMFILE, ENFILE になると、自動的に GC が起こるようになってい
> るような気がするんですが、その仕掛けはうまく動いていないとい
> うことでしょうか。(errno が違う、とか)

ソケットのfilenoを見ていると64あたりで止まったので、acceptだ
とそういうこともあるのかと思い込んでしまいましたが、

$ cat test.rb
require "socket"
#Thread.start{ sleep 1 while true }

svr = TCPServer.new("0.0.0.0", 0)
Thread.start{
  while true
    svr.accept
  end
}

while true
  p TCPSocket.new("127.0.0.1", svr.addr[1]).fileno
end

$ ruby -v test.rb
ruby 1.8.4 (2005-12-12) [i386-cygwin]
4
6
(snip)
62
64
deadlock 0x100f5630: sleep:F(3)  - test.rb:7
deadlock 0x10105770: sleep:S (main) - test.rb:12
test.rb:12:in `initialize': Thread(0x10105770): deadlock (fatal)
	from test.rb:12

となりました。test-all の時は drb などのテストで生成したスレッ
ドが残っていたので、deadlockにならずにブロックしていたようで
す。ディスクリプタの上限が問題ではなかったようですが、これは
これで問題ですかね。

ついでですが、次のように変更するとSEGVしました。

$ cat test2.rb
require "socket"
svr = TCPServer.new("0.0.0.0", 0)
while true
  p TCPSocket.new("127.0.0.1", svr.addr[1]).fileno
  p svr.accept.fileno
end

$ gdb ruby1.8
GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...
(gdb) r test2.rb
Starting program: /usr/local/bin/ruby1.8.exe test2.rb
ruby 1.8.4 (2005-12-12) [i386-cygwin]
4
5
(snip)
158
159

Program received signal SIGSEGV, Segmentation fault.
0x003d2694 in cygcrypt-0!crypt ()
   from /usr/local/lib/ruby/1.8/i386-cygwin/socket.so
(gdb) bt
#0  0x003d2694 in cygcrypt-0!crypt ()
   from /usr/local/lib/ruby/1.8/i386-cygwin/socket.so
#1  0x10012cd9 in rb_ensure () from /usr/local/bin/cygruby1.818.dll
#2  0x003d2799 in cygcrypt-0!crypt ()
   from /usr/local/lib/ruby/1.8/i386-cygwin/socket.so
#3  0x003d2802 in cygcrypt-0!crypt ()
   from /usr/local/lib/ruby/1.8/i386-cygwin/socket.so
#4  0x1001b96f in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#5  0x1001c24b in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#6  0x1001ca18 in rb_obj_call_init () from /usr/local/bin/cygruby1.818.dll
#7  0x1004486a in rb_class_new_instance ()
   from /usr/local/bin/cygruby1.818.dll
#8  0x1001b96f in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#9  0x1001c24b in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#10 0x10017ae0 in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#11 0x100179ea in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#12 0x10017ba7 in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#13 0x10019f41 in rb_thread_schedule () from /usr/local/bin/cygruby1.818.dll
#14 0x10023eb2 in rb_eval_string () from /usr/local/bin/cygruby1.818.dll
#15 0x10023ee6 in ruby_exec () from /usr/local/bin/cygruby1.818.dll
#16 0x10024ea0 in ruby_run () from /usr/local/bin/cygruby1.818.dll
#17 0x00401084 in main (argc=2, argv=0x100d19d0, envp=0x100d0090)
    at ../ruby-1.8/main.c:46
(gdb)

-- 
ごとうゆうぞう

In This Thread