[#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:28091] Re: ruby_1_8 Segmentation fault on Cygwin

From: Kouhei Yanagita <yanagi@...>
Date: 2005-12-21 12:12:42 UTC
List: ruby-dev #28091
柳田です。

make TESTS=-v test-all してみたところ、以下のようになりました。

環境は Windows 2000 SP4 です。

% uname -a
CYGWIN_NT-5.0 mizuki 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown unknown Cygwin
% cd /var/tmp
% cvs -z4 -d :pserver:anonymous@cvs.ruby-lang.org:/src co -r ruby_1_8 -d ruby_1_8-src ruby
% cd ruby_1_8-src
% autoconf
% ./configure --enable-shared --prefix=/var/tmp/ruby_1_8 CFLAGS=-g && make && make install
% make test
test succeeded
% make TESTS=-v test-all
./miniruby.exe ./runruby.rb --extout=.ext -- -C "./test" runner.rb --runner=console -v
.. (略) ...
test_assert(Test::Unit::TC_Assertions): .
test_assert_block(Test::Unit::TC_Assertions): .
test_assert_equal(Test::Unit::TC_Assertions): .
test_assert_in_delta(Test::Unit::TC_Assertions): /var/tmp/ruby_1_8-src/lib/pp.rb:454: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-21) [i386-cygwin]

make: *** [test-all] Aborted (core dumped)


Test::Unit::TC_Assertions は test_assertions.rb にありますので、

% make TESTS='-x test_assertions -v' test-all

としたところ、

test_multilevel_collect(Test::Unit::Collector::TestDir): .
test_nil_pattern(Test::Unit::Collector::TestDir): .
test_simple_collect(Test::Unit::Collector::TestDir): .
RUNIT::TestAssert#test_assert_equal_float_0_raise: /var/tmp/ruby_1_8-src/lib/pp.rb:454: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-21) [i386-cygwin]

make: *** [test-all] Aborted (core dumped)

のように、別の場所で SEGV になりました。
(落ち方は同じのようです)

なお、これらのテストを単独で実行した場合は、エラーは起こりませんでした。

% /var/tmp/ruby_1_8/bin/ruby test/testunit/test_assertions.rb
Loaded suite test/testunit/test_assertions
Started
......................
Finished in 0.175 seconds.

22 tests, 331 assertions, 0 failures, 0 errors
% /var/tmp/ruby_1_8/bin/ruby test/testunit/collector/test_dir.rb
Loaded suite test/testunit/collector/test_dir
Started
............
Finished in 0.07 seconds.

12 tests, 42 assertions, 0 failures, 0 errors

また、test_yaml ではエラーは起こりませんでした。

% /var/tmp/ruby_1_8/bin/ruby test/yaml/test_yaml.rb
Loaded suite YAML
Started
......................................................
Finished in 0.227 seconds.

54 tests, 198 assertions, 0 failures, 0 errors



さらに、make TESTS=-v test-all を何度か繰り返してみると、
毎回同じところで落ちるというわけではないようです。
ただ、原因はどうやら同一のであるかような雰囲気を受けます。
例を下に挙げます。

● 例
test_parse_headers(TestWEBrickHTTPRequest): /var/tmp/ruby_1_8-src/lib/timeout.rb:52: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-21) [i386-cygwin]

*** starting debugger for pid 648, tid 1636
*** continuing pid 648 from debugger call (1)
make: *** [test-all] Aborted (core dumped)
% gdb -c test/ruby.exe.core
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".

#0  0x77f88f13 in ntdll!ZwWaitForSingleObject ()
(gdb) bt
#0  0x77f88f13 in ntdll!ZwWaitForSingleObject ()
#1  0x77e7a030 in WaitForSingleObjectEx ()
#2  0x77e5b3db in WaitForSingleObject ()
#3  0x0000000c in ?? ()


● 別の例
test_XSDDouble(XSD::TestXSD): /var/tmp/ruby_1_8-src/lib/xsd/datatypes.rb:347: [BUG] Segmentation fault
ruby 1.8.4 (2005-12-21) [i386-cygwin]

*** starting debugger for pid 560, tid 1616
*** continuing pid 560 from debugger call (1)
make: *** [test-all] Aborted (core dumped)
% gdb -c test/ruby.exe.core
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".

#0  0x77f88f13 in ntdll!ZwWaitForSingleObject ()
(gdb) bt
#0  0x77f88f13 in ntdll!ZwWaitForSingleObject ()
#1  0x77e7a030 in WaitForSingleObjectEx ()
#2  0x77e5b3db in WaitForSingleObject ()
#3  0x000000b4 in ?? ()     




> | #2  0x7c8025db in WaitForSingleObjectEx () from /var/tmp/ruby-src/kernel32.dll
> このkernel32.dllはどうしてこんなところにあるんでしょう?

なぜこんなところに kernel32.dll が表示されたのかは不明です。
もちろん、ruby のソースディレクトリは kernel32.dll はありません。
(先ほどのメールでは、Windows XP SP2 上で検証しました。
このメールでは Windows 2000 SP4 で検証していますが、
「from .../kernel32.dll」の表示は出ないようです)

-- 
Kouhei Yanagita <yanagi at shakenbu.org>

In This Thread