From: Minero Aoki Date: 2004-01-06T02:25:49+09:00 Subject: [ruby-dev:22492] Re: ruby-1.8.1 build failed on HP-UX 11.11 青木です。 In mail "[ruby-dev:22491] Re: ruby-1.8.1 build failed on HP-UX 11.11" MIYAMUKO Katsuyuki wrote: > みやむこです。 > > > でも、テストを実行すると [ruby-list:38962] と同じ問題がでました・・・。 CVS HEAD ですが、Tru64UNIX でも drb のテストで落ちました。 落ちる場所もスタックトレースも実質的に同じです。 以下、test/drb/ と runner.rb だけ ~/tmp に置いて試しています。 ~/tmp % ruby runner.rb Loaded suite . Started .......................... /usr/local/lib/ruby/1.9/drb/drb.rb:877: [BUG] rb_sys_fail() - errno == 0 ruby 1.9.0 (2004-01-05) [alphaev56-osf5.1] zsh: 8517 abort (core dumped) ruby runner.rb ~/tmp % uname -srm OSF1 V5.1 alpha ~/tmp % cc -V Compaq C V6.5-011 on Compaq Tru64 UNIX V5.1B (Rev. 2650) Compiler Driver V6.5-003 (sys) cc Driver configure の引数は ./configure CFLAGS=-g --with-lookup-order-hack=INET です。 > > #4 0x50388 in rb_bug (fmt=0xea178 "rb_sys_fail(%s) - errno == 0") > > at error.c:199 > > #5 0x51dd0 in rb_sys_fail (mesg=0x0) at error.c:899 > > #6 0x68458 in fptr_finalize (fptr=0x4015a668, noraise=0) at io.c:1371 (ladebug) where >0 0x3ff800e93f8 in __kill(...) in /usr/shlib/libc.so #1 0x3ff80213190 in UnknownProcedure18FromFile10(...) in /usr/shlib/libc.so #2 0x3ff8013bfd4 in __tis_raise(...) in /usr/shlib/libc.so #3 0x3ff801c97c8 in abort(...) in /usr/shlib/libc.so #4 0x120052bd0 in rb_bug(fmt=0x140003520="rb_sys_fail(%s) - errno == 0") "error.c":207 #5 0x120054994 in rb_sys_fail(mesg=0x0) "error.c":986 #6 0x12007caf8 in fptr_finalize(fptr=0x140479240, noraise=0) "io.c":1757 #7 0x12007cb70 in rb_io_fptr_cleanup(fptr=0x140479240, noraise=0) "io.c":1770 #8 0x12007cc98 in rb_io_close(io=5373012136) "io.c":1806 #9 0x12007cd88 in rb_io_close_m(io=5373012136) "io.c":1837 #10 0x12002d7e8 in call_cfunc(func=0x12007cd04, recv=5373012136, len=0, argc=0, argv=0x0) "eval.c":5356 #11 0x12002e37c in rb_call0(klass=5369276680, recv=5373012136, id=7297, oid=7297, argc=0, argv=0x0, body=0x140089968, nosuper=0) "eval.c":5487 #12 0x12002ec6c in rb_call(klass=5369276680, recv=5373012136, mid=7297, argc=0, argv=0x0, scope=0) "eval.c":5708 #13 0x1200278e4 in rb_eval(self=5373012336, n=0x1401ecef8) "eval.c":3236 > HP-UX と UX/4800 の場合、fclose が EOF を返しても errno が設定されない > 場合があるようです。このことが原因でしょうか。 こちらは違っていました。 > % a.out a.out > fp=7b030f68 > fclose=0, errno=12345 > fclose=-1, errno=123456 ~/tmp % ./a.out close.c fp=3ffc00800f8 fclose=0, errno=12345 fclose=-1, errno=9 というふうに、ちゃんと errno=9 (EBADF) になっています。 ------------------------------------------------------------------- 青木峰郎