From: Mitsuru Ogino Date: 2004-09-07T02:17:38+09:00 Subject: [ruby-list:40012] Re: FreeBSD portsdb.rb が [BUG] Segmentation fault 荻野です。 At Mon, 6 Sep 2004 21:09:55 +0900, I wrote: > Subject の通り、FreeBSD にて portupgrade, portinstall 系のコマンドが使 > 用できなくなりました。ports tree を cvs で更新して INDEX を再構築しよ > うとしてからのことです。 偶然だと思いますが、FreeBSD-users-jp でも同じ趣旨の投稿がされました。 末尾に転載しますが、ports の database/ruby-bdb1 が問題のようです。 ということで、問題は Ruby 本体ではなく BDB1 0.2.2 http://raa.ruby-lang.org/project/bdb1/ http://moulon.inra.fr/ruby/bdb1.html にあるのでしょうか。Ruby の Preview 版に問題があるような書き方をして申 し訳ありませんでした。 とりあえず、bdb1 も CFLAGS=-g で再インストールしてみました。若干情報が 増えています。しかし、これからどうするのが良いのでしょうか。ruby-talk は購読しておりませんし、Guy Decoux 氏に連絡をとる度胸もありません。も ちろん FreeBSD 上の問題としては「BDB1 を使わない」という回避方法がある わけですが... Program received signal SIGSEGV, Segmentation fault. 0x282270a6 in memmove () from /lib/libc.so.5 (gdb) bt #0 0x282270a6 in memmove () from /lib/libc.so.5 #1 0x08512400 in ?? () #2 0x28222efd in __bt_split () from /lib/libc.so.5 #3 0x2822268e in __bt_split () from /lib/libc.so.5 #4 0x2821d537 in __bt_put () from /lib/libc.so.5 #5 0x282683d1 in bdb1_put (argc=2, argv=0xbfbf6238, obj=135417900) at bdb1.c:792 #6 0x28268440 in bdb1_assign (obj=135417900, a=138639520, b=138640020) at bdb1.c:807 #7 0x280acbf1 in call_cfunc (func=0x28268410 , recv=135417900, len=2, argc=2, argv=0xbfbf6420) at eval.c:5411 #8 0x2809f3b4 in rb_call0 (klass=135573200, recv=135417900, id=333, oid=333, argc=2, argv=0xbfbf6420, body=0x814a69c, nosuper=0) at eval.c:5536 #9 0x2809fe4c in rb_call (klass=135573200, recv=135417900, mid=333, argc=2, argv=0xbfbf6420, scope=0) at eval.c:5757 #10 0x28099d38 in rb_eval (self=135481640, n=0x82a06a8) at eval.c:3239 At Mon, 6 Sep 2004 23:57:28 +0900, TOGAWA Satoshi wrote: > > とがわです.IRCでの会話のまとめです. > > 4.10-RELEASE のマシンで,最近portsを最新にしました. > # /usr/ports/UPDATING の 20040226 は,だいぶ前に実行しています. > > で,portsdb -u を実行すると,下のようなエラーが出て死にます. > ----- > # portsdb -u > [Updating the portsdb in /usr/ports ... - 11728 port entries > found .........1000.........2000.........3000.........4000.........5000........ > .6000.........7000.........8000..../usr/local/lib/ruby/site_ruby/1.8/portsdb.rb: > 587: [BUG] Bus Error > ruby 1.8.2 (2004-07-29) [i386-freebsd4] > > アボート (coreを出力しました) > ----- > > この問題を回避する事が出来ました. > 回避法は「ruby18-bdb1-* パッケージを削除する」です. > DEPENDしてるパッケージなのですが,これがなくても動きます. > データベースのフォーマットが format:bdb1_btree から format:dbm_hash に > 変わるだけのようです. > > なお,5系列,6系列では,このエラーは発生しないようです. -- 荻野 充 (おぎの みつる) ... 「萩(はぎ)」にあらず Verama Systems Key fingerprint = 7F26 5414 1805 F31B 1617 10B7 C117 07AE 1691 9BD1