[ruby-dev:27203] Re: ruby-1.8.3 status for release
From:
Shinya Kawaji <kawaji@...>
Date:
2005-09-20 07:53:11 UTC
List:
ruby-dev #27203
かわじ、です。
> mswin32とOpenBSDとHP-UXのテストってどなたかやられてます?
OpenBSD3.7-stable(i386) で、preview3 と 9/20 16:15 現在の 1.8ブランチHEAD
を試してみました。
$ uname -srm
OpenBSD 3.7 i386
$ gcc --version
gcc (GCC) 3.3.5 (propolice)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure は
./configure --with-lookup-order-hack=INET \
--with-gdbm-dir=/usr/local \
--with-iconv-dir=/usr/local --prefix=/tmp/p
などとしています。
まず、preview3 のほう。
$ ./ruby --version
ruby 1.8.3 (2005-09-19) [i386-openbsd3.7]
$ ./ruby -rrbconfig -e 'puts Config::CONFIG["configure_args"]'
'--with-lookup-order-hack=INET' '--with-gdbm-dir=/usr/local' '--with-iconv-dir=/usr/local' '--prefix=/tmp/p'
$ ./ruby /tmp/p/ruby-1.8.3/test/runner.rb
Loaded suite test
Started
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
(ここでブロックされる)
gdb で調べたところ、
[ruby-dev:27150] test_readline.rb blocks on NetBSD.
と同じところで止まっているようです(しかし改行を押しても復帰しない)。
$ ps auxww|grep ruby
shinya 29128 3.4 12.5 40104 40968 p0 I+ 4:44PM 0:34.65 ./ruby /tmp/p/ruby-1.8.3/test/runner.rb
shinya 4742 0.0 0.0 0 0 p0 ZW+ - 0:00.00 (ruby)
shinya 31813 0.0 0.0 0 0 p0 ZW+ - 0:00.00 (ruby)
shinya 30287 0.0 0.2 84 488 p2 S+ 4:46PM 0:00.01 grep ruby
$ gdb ./ruby
GNU gdb 6.3
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 "i386-unknown-openbsd3.7"...
(gdb) attach 29128
Attaching to program: /tmp/p/bin/ruby, process 29128
Reading symbols from /usr/lib/libm.so.2.0...done.
Loaded symbols for /usr/lib/libm.so.2.0
Reading symbols from /usr/lib/libc.so.34.2...done.
Loaded symbols for /usr/lib/libc.so.34.2
Reading symbols from /usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/etc.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/etc.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/dbm.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/dbm.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/md5.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/md5.so
Reading symbols from /usr/lib/libcrypto.so.11.0...done.
Loaded symbols for /usr/lib/libcrypto.so.11.0
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/rmd160.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/rmd160.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/sha1.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/sha1.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/sha2.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/digest/sha2.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/socket.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/socket.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/fcntl.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/fcntl.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/openssl.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/openssl.so
Reading symbols from /usr/lib/libssl.so.9.0...done.
Loaded symbols for /usr/lib/libssl.so.9.0
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/strscan.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/strscan.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/gdbm.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/gdbm.so
Reading symbols from /usr/local/lib/libgdbm.so.3.0...done.
Loaded symbols for /usr/local/lib/libgdbm.so.3.0
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/nkf.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/nkf.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/readline.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/readline.so
Reading symbols from /usr/lib/libreadline.so.3.0...done.
Loaded symbols for /usr/lib/libreadline.so.3.0
Reading symbols from /usr/lib/libncurses.so.10.0...done.
Loaded symbols for /usr/lib/libncurses.so.10.0
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/stringio.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/stringio.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/sdbm.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/sdbm.so
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/iconv.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/iconv.so
Reading symbols from /usr/local/lib/libiconv.so.4.0...done.
Loaded symbols for /usr/local/lib/libiconv.so.4.0
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/zlib.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/zlib.so
Reading symbols from /usr/lib/libz.so.4.0...done.
Loaded symbols for /usr/lib/libz.so.4.0
Reading symbols from /tmp/p/lib/ruby/1.8/i386-openbsd3.7/syck.so...done.
Loaded symbols for /tmp/p/lib/ruby/1.8/i386-openbsd3.7/syck.so
0x072ee361 in read () from /usr/lib/libc.so.34.2
(gdb) bt
#0 0x072ee361 in read () from /usr/lib/libc.so.34.2
#1 0x07332999 in __sread () from /usr/lib/libc.so.34.2
#2 0x07329817 in __srefill () from /usr/lib/libc.so.34.2
#3 0x0731afb6 in fseeko () from /usr/lib/libc.so.34.2
#4 0x1c029d5b in io_reopen (io=1006984012, nfile=1029753108) at io.c:3399
#5 0x1c02a091 in rb_io_reopen (argc=1, argv=0xcfbed6f0, file=1006984012) at io.c:3458
#6 0x1c01d32b in call_cfunc (func=0x1c029eb4 <rb_io_reopen>, recv=1006984012, len=0, argc=1, argv=0x3e1f2000) at eval.c:5530
#7 0x1c012a92 in rb_call0 (klass=1006986532, recv=1006984012, id=7105, oid=1042227200, argc=1, argv=0xcfbed6f0, body=0x3c0562cc, flags=0)
at eval.c:5672
#8 0x1c0132d5 in rb_call (klass=1006986532, recv=1006984012, mid=7105, argc=1, argv=0xcfbed6f0, scope=0) at eval.c:5900
#9 0x1c00eb0a in rb_eval (self=1010174288, n=0x3e1f2000) at ruby.h:638
#10 0x1c00e409 in rb_eval (self=1010174288, n=0x3e1f2000) at eval.c:3243
#11 0x1c012dc8 in rb_call0 (klass=1010177208, recv=1010174288, id=36585, oid=1042227200, argc=0, argv=0xcfbedf48, body=0x3c362f34,
flags=-809574956) at eval.c:5806
#12 0x1c0132d5 in rb_call (klass=1010177208, recv=1010174288, mid=36585, argc=2, argv=0xcfbedf40, scope=1) at eval.c:5900
#13 0x1c00eb0a in rb_eval (self=1010174288, n=0x3e1f2000) at ruby.h:638
#14 0x1c00e064 in rb_eval (self=1010174288, n=0x3e1f2000) at eval.c:3100
#15 0x1c00e4e7 in rb_eval (self=1010174288, n=0x3e1f2000) at eval.c:3542
#16 0x1c00e443 in rb_eval (self=1010174288, n=0x3e1f2000) at eval.c:3236
#17 0x1c012dc8 in rb_call0 (klass=1010177208, recv=1010174288, id=35313, oid=1042227200, argc=0, argv=0xcfbef004, body=0x3c3676c4, flags=0)
at eval.c:5806
#18 0x1c0132d5 in rb_call (klass=1010177208, recv=1010174288, mid=35313, argc=0, argv=0xcfbef004, scope=1) at eval.c:5900
#19 0x1c013493 in rb_f_send (argc=0, argv=0xcfbef004, recv=1010174288) at ruby.h:638
#20 0x1c01d32b in call_cfunc (func=0x1c013428 <rb_f_send>, recv=1010174288, len=0, argc=1, argv=0x3e1f2000) at eval.c:5530
#21 0x1c012a92 in rb_call0 (klass=1007025292, recv=1010174288, id=3905, oid=1042227200, argc=1, argv=0xcfbef000, body=0x3c05dce8, flags=0)
at eval.c:5672
#22 0x1c0132d5 in rb_call (klass=1007025292, recv=1010174288, mid=3905, argc=1, argv=0xcfbef000, scope=1) at eval.c:5900
#23 0x1c00eb0a in rb_eval (self=1010174288, n=0x3e1f2000) at ruby.h:638
#24 0x1c00e300 in rb_eval (self=1010174288, n=0x3e1f2000) at eval.c:3187
#25 0x1c00e443 in rb_eval (self=1010174288, n=0x3e1f2000) at eval.c:3236
#26 0x1c012dc8 in rb_call0 (klass=1006860232, recv=1010174288, id=5129, oid=1042227200, argc=0, argv=0xcfbefb84, body=0x3c04c2b8,
flags=-809567728) at eval.c:5806
#27 0x1c0132d5 in rb_call (klass=1006860232, recv=1010174288, mid=5129, argc=1, argv=0xcfbefb80, scope=0) at eval.c:5900
#28 0x1c00eb0a in rb_eval (self=1010174608, n=0x3e1f2000) at ruby.h:638
#29 0x1c017b9d in block_pass (self=1010174608, node=0x3c038a4c) at eval.c:8647
#30 0x1c00f53f in rb_eval (self=1010174608, n=0x3e1f2000) at eval.c:3086
#31 0x1c011337 in rb_yield_0 (val=1010174288, self=1010174608, klass=0, flags=1006865092, avalue=0) at eval.c:4877
#32 0x1c011886 in rb_yield (val=1010174288) at eval.c:4959
#33 0x1c069507 in rb_ary_each (ary=1010174448) at array.c:1125
#34 0x1c01d32b in call_cfunc (func=0x1c0694e0 <rb_ary_each>, recv=1010174448, len=0, argc=0, argv=0x3e1f2000) at eval.c:5530
#35 0x1c012a92 in rb_call0 (klass=1006997592, recv=1010174448, id=3849, oid=1042227200, argc=0, argv=0x0, body=0x3c058c34, flags=0)
at eval.c:5672
#36 0x1c0132d5 in rb_call (klass=1006997592, recv=1010174448, mid=3849, argc=0, argv=0x0, scope=0) at eval.c:5900
#37 0x1c00eb0a in rb_eval (self=1010174608, n=0x3e1f2000) at ruby.h:638
#38 0x1c00e064 in rb_eval (self=1010174608, n=0x3e1f2000) at eval.c:3100
#39 0x1c012dc8 in rb_call0 (klass=1006861172, recv=1010174608, id=5129, oid=1042227200, argc=0, argv=0xcfbf0e74, body=0x3c038bc8,
flags=-809562880) at eval.c:5806
#40 0x1c0132d5 in rb_call (klass=1006861172, recv=1010174608, mid=5129, argc=1, argv=0xcfbf0e70, scope=0) at eval.c:5900
#41 0x1c00eb0a in rb_eval (self=1010209428, n=0x3e1f2000) at ruby.h:638
#42 0x1c017b9d in block_pass (self=1010209428, node=0x3c038a4c) at eval.c:8647
#43 0x1c00f53f in rb_eval (self=1010209428, n=0x3e1f2000) at eval.c:3086
---Type <return> to continue, or q <return> to quit---
#44 0x1c011337 in rb_yield_0 (val=1010174608, self=1010209428, klass=0, flags=1006865092, avalue=0) at eval.c:4877
#45 0x1c011886 in rb_yield (val=1010174608) at eval.c:4959
#46 0x1c069507 in rb_ary_each (ary=1010209368) at array.c:1125
#47 0x1c01d32b in call_cfunc (func=0x1c0694e0 <rb_ary_each>, recv=1010209368, len=0, argc=0, argv=0x3e1f2000) at eval.c:5530
#48 0x1c012a92 in rb_call0 (klass=1006997592, recv=1010209368, id=3849, oid=1042227200, argc=0, argv=0x0, body=0x3c058c34, flags=0)
at eval.c:5672
#49 0x1c0132d5 in rb_call (klass=1006997592, recv=1010209368, mid=3849, argc=0, argv=0x0, scope=0) at eval.c:5900
#50 0x1c00eb0a in rb_eval (self=1010209428, n=0x3e1f2000) at ruby.h:638
#51 0x1c00e064 in rb_eval (self=1010209428, n=0x3e1f2000) at eval.c:3100
#52 0x1c012dc8 in rb_call0 (klass=1006861172, recv=1010209428, id=5129, oid=1042227200, argc=0, argv=0xcfbf2164, body=0x3c038bc8,
flags=-809558032) at eval.c:5806
#53 0x1c0132d5 in rb_call (klass=1006861172, recv=1010209428, mid=5129, argc=1, argv=0xcfbf2160, scope=0) at eval.c:5900
#54 0x1c00eb0a in rb_eval (self=1018965308, n=0x3e1f2000) at ruby.h:638
#55 0x1c017b9d in block_pass (self=1018965308, node=0x3c038a4c) at eval.c:8647
#56 0x1c00f53f in rb_eval (self=1018965308, n=0x3e1f2000) at eval.c:3086
#57 0x1c011337 in rb_yield_0 (val=1010209428, self=1018965308, klass=0, flags=1006865092, avalue=0) at eval.c:4877
#58 0x1c011886 in rb_yield (val=1010209428) at eval.c:4959
#59 0x1c069507 in rb_ary_each (ary=1018966008) at array.c:1125
#60 0x1c01d32b in call_cfunc (func=0x1c0694e0 <rb_ary_each>, recv=1018966008, len=0, argc=0, argv=0x3e1f2000) at eval.c:5530
#61 0x1c012a92 in rb_call0 (klass=1006997592, recv=1018966008, id=3849, oid=1042227200, argc=0, argv=0x0, body=0x3c058c34, flags=0)
at eval.c:5672
#62 0x1c0132d5 in rb_call (klass=1006997592, recv=1018966008, mid=3849, argc=0, argv=0x0, scope=0) at eval.c:5900
#63 0x1c00eb0a in rb_eval (self=1018965308, n=0x3e1f2000) at ruby.h:638
#64 0x1c00e064 in rb_eval (self=1018965308, n=0x3e1f2000) at eval.c:3100
#65 0x1c012dc8 in rb_call0 (klass=1006861172, recv=1018965308, id=5129, oid=1042227200, argc=0, argv=0xcfbf3454, body=0x3c038bc8,
flags=-809553184) at eval.c:5806
#66 0x1c0132d5 in rb_call (klass=1006861172, recv=1018965308, mid=5129, argc=1, argv=0xcfbf3450, scope=0) at eval.c:5900
#67 0x1c00eb0a in rb_eval (self=1030415268, n=0x3e1f2000) at ruby.h:638
#68 0x1c00e064 in rb_eval (self=1030415268, n=0x3e1f2000) at eval.c:3100
#69 0x1c012dc8 in rb_call0 (klass=1030416728, recv=1030415268, id=86705, oid=1042227200, argc=0, argv=0x0, body=0x3d6afb00, flags=0)
at eval.c:5806
#70 0x1c0132d5 in rb_call (klass=1030416728, recv=1030415268, mid=86705, argc=0, argv=0x0, scope=0) at eval.c:5900
#71 0x1c00eb0a in rb_eval (self=1030416168, n=0x3e1f2000) at ruby.h:638
#72 0x1c0102e7 in rb_eval (self=1030416168, n=0x3e1f2000) at eval.c:3316
#73 0x1c012dc8 in rb_call0 (klass=1030416008, recv=1030416168, id=86641, oid=1042227200, argc=0, argv=0x0, body=0x3d6b1e3c, flags=2)
at eval.c:5806
#74 0x1c0132d5 in rb_call (klass=1030416008, recv=1030416168, mid=86641, argc=0, argv=0x0, scope=2) at eval.c:5900
#75 0x1c00eb0a in rb_eval (self=1030416168, n=0x3e1f2000) at ruby.h:638
#76 0x1c0102e7 in rb_eval (self=1030416168, n=0x3e1f2000) at eval.c:3316
#77 0x1c012dc8 in rb_call0 (klass=1030416008, recv=1030416168, id=5049, oid=1042227200, argc=0, argv=0x0, body=0x3d6b2b48, flags=0)
at eval.c:5806
#78 0x1c0132d5 in rb_call (klass=1030416008, recv=1030416168, mid=5049, argc=0, argv=0x0, scope=0) at eval.c:5900
#79 0x1c00eb0a in rb_eval (self=1030416008, n=0x3e1f2000) at ruby.h:638
#80 0x1c0102e7 in rb_eval (self=1030416008, n=0x3e1f2000) at eval.c:3316
#81 0x1c012dc8 in rb_call0 (klass=1030415908, recv=1030416008, id=5129, oid=1042227200, argc=0, argv=0xcfbf5518, body=0x3c0305e0,
flags=-809544800) at eval.c:5806
#82 0x1c0132d5 in rb_call (klass=1030415908, recv=1030416008, mid=5129, argc=2, argv=0xcfbf5510, scope=0) at eval.c:5900
#83 0x1c00eb0a in rb_eval (self=1007854348, n=0x3e1f2000) at ruby.h:638
#84 0x1c00ea0c in rb_eval (self=1007854348, n=0x3e1f2000) at eval.c:3366
#85 0x1c012dc8 in rb_call0 (klass=1007856148, recv=1007854348, id=5129, oid=1042227200, argc=0, argv=0x0, body=0x3c030f40, flags=0)
at eval.c:5806
---Type <return> to continue, or q <return> to quit---
#86 0x1c0132d5 in rb_call (klass=1007856148, recv=1007854348, mid=5129, argc=0, argv=0x0, scope=0) at eval.c:5900
#87 0x1c00eb0a in rb_eval (self=1007856148, n=0x3e1f2000) at ruby.h:638
#88 0x1c012dc8 in rb_call0 (klass=1007856128, recv=1007856148, id=5129, oid=1042227200, argc=0, argv=0xcfbf6218, body=0x3c036ff8, flags=0)
at eval.c:5806
#89 0x1c0132d5 in rb_call (klass=1007856128, recv=1007856148, mid=5129, argc=2, argv=0xcfbf6210, scope=0) at eval.c:5900
#90 0x1c00eb0a in rb_eval (self=1007020392, n=0x3e1f2000) at ruby.h:638
#91 0x1c00edb5 in rb_eval (self=1007020392, n=0x3e1f2000) at ruby.h:643
#92 0x1c00b578 in ruby_exec_internal () at eval.c:1543
#93 0x1c00b5ac in ruby_exec () at eval.c:1563
#94 0x1c00b5ce in ruby_run () at eval.c:1573
#95 0x1c009ab9 in main (argc=2, argv=0xcfbf6a14, envp=0xcfbf6a20) at main.c:46
(gdb) up
#1 0x07332999 in __sread () from /usr/lib/libc.so.34.2
(gdb)
#2 0x07329817 in __srefill () from /usr/lib/libc.so.34.2
(gdb)
#3 0x0731afb6 in fseeko () from /usr/lib/libc.so.34.2
(gdb)
#4 0x1c029d5b in io_reopen (io=1006984012, nfile=1029753108) at io.c:3399
3399 io_seek(fptr, pos, SEEK_SET);
(gdb) l
3394 }
3395 fptr->mode = m;
3396 }
3397 rb_thread_fd_close(fd);
3398 if ((orig->mode & FMODE_READABLE) && pos >= 0) {
3399 io_seek(fptr, pos, SEEK_SET);
3400 io_seek(orig, pos, SEEK_SET);
3401 }
3402 }
3403
(gdb)
次に、1.8ブランチHEAD のほう。
make 中に dl の生成(?)で、以下のエラーメッセージでコケます。
$ make
gcc -g -O2 -I. -I. -c array.c
gcc -g -O2 -I. -I. -c ascii.c
gcc -g -O2 -I. -I. -c bignum.c
(中略)
gcc -shared -fPIC -L'../../..' -o ../../../.ext/i386-openbsd3.7/digest/sha2.so sha2.o sha2hl.o sha2init.o -lm -lc
compiling dl
gcc -fPIC -g -O2 -fno-defer-pop -fno-omit-frame-pointer -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -c cfunc.c
gcc -fPIC -g -O2 -fno-defer-pop -fno-omit-frame-pointer -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -c cptr.c
generating callback.h
gcc -fPIC -g -O2 -fno-defer-pop -fno-omit-frame-pointer -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -c dl.c
cc1: out of memory allocating 21062592 bytes after a total of 59105280 bytes
*** Error code 1
Stop in /tmp/h/ruby/ext/dl.
*** Error code 1
Stop in /tmp/h/ruby (line 238 of Makefile).
これは、私の環境依存なのでしょうか?
必要な情報があれば、お知らせください。