[#19685] [Oniguruma] Version 1.8.1 — "K.Kosako" <kosako@...>

ftp.ruby-lang.orgに、onigd20030301.tar.gzを置きました。

92 messages 2003/03/01
[#19687] Re: [Oniguruma] Version 1.8.1 — matz@... (Yukihiro Matsumoto) 2003/03/02

まつもと ゆきひろです

[#19688] Re: [Oniguruma] Version 1.8.1 — Tanaka Akira <akr@...17n.org> 2003/03/02

In article <1046613803.268414.3770.nullmailer@picachu.netlab.jp>,

[#19748] [Oniguruma] Version 1.8.2 — "K.Kosako" <kosako@...> 2003/03/05

Tanaka Akiraさんの<871y1pu8am.fsf@serein.a02.aist.go.jp>から

[#19749] Re: [Oniguruma] Version 1.8.2 — "Akinori MUSHA" <knu@...> 2003/03/05

At Wed, 5 Mar 2003 18:07:17 +0900,

[#19750] Re: [Oniguruma] Version 1.8.2 — "K.Kosako" <kosako@...> 2003/03/05

Akinori MUSHAさんの<86r89mi39s.wl%knu@iDaemons.org>から

[#19793] Re: [Oniguruma] Version 1.8.2 — "Akinori MUSHA" <knu@...> 2003/03/11

At Wed, 5 Mar 2003 18:18:31 +0900,

[#19808] [Oniguruma] Version 1.8.4 — "K.Kosako" <kosako@...> 2003/03/12

Akinori MUSHAさんの<86bs0iqoif.wl%knu@iDaemons.org>から

[#19825] Re: [Oniguruma] Version 1.8.4 — Tanaka Akira <akr@...17n.org> 2003/03/16

In article <20030312044626.2D879C2@helium.ruby-lang.org>,

[#19858] Re: [Oniguruma] Version 1.8.4 — Tanaka Akira <akr@...17n.org> 2003/03/20

In article <20030318015042.DCBB859A@helium.ruby-lang.org>,

[#19866] Re: [Oniguruma] Version 1.8.4 — "K.Kosako" <kosako@...> 2003/03/21

Tanaka Akiraさんの<87llzavfl9.fsf@serein.a02.aist.go.jp>から

[#19868] Re: [Oniguruma] Version 1.8.4 — Tanaka Akira <akr@...17n.org> 2003/03/21

In article <20030321040221.EC03C5AA@helium.ruby-lang.org>,

[#19869] Re: [Oniguruma] Version 1.8.4 — matz@... (Yukihiro Matsumoto) 2003/03/21

まつもと ゆきひろです

[#19870] Re: [Oniguruma] Version 1.8.4 — Tanaka Akira <akr@...17n.org> 2003/03/21

In article <1048256492.877945.30145.nullmailer@picachu.netlab.jp>,

[#19873] Re: [Oniguruma] Version 1.8.4 — matz@... (Yukihiro Matsumoto) 2003/03/21

まつもと ゆきひろです

[#19912] Re: [Oniguruma] Version 1.8.4 — TAKAHASHI Masayoshi <takahashi@...> 2003/03/26

高橋征義です。

[#19913] Re: [Oniguruma] Version 1.8.4 — Tanaka Akira <akr@...17n.org> 2003/03/26

In article <20030326.151120.41647198.takahashi@twinspark.co.jp>,

[#19920] Re: [Oniguruma] Version 1.8.4 — Tanaka Akira <akr@...17n.org> 2003/03/27

In article <008c01c2f360$9ac1b030$85222fc0@sarion.co.jp>,

[#19698] 1.8.0 preview2 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 2003/03/03
[#19716] [1.8.0 preview2] HP-UX 11.11 — WATANABE Tetsuya <tetsu@...> 2003/03/04

渡辺哲也です。

[#19718] Re: [1.8.0 preview2] HP-UX 11.11 — WATANABE Hirofumi <eban@...> 2003/03/04

わたなべです。

[#19751] (1.8.0-preview2) Proc#call — Fukumoto Atsushi <fukumoto@...>

1.8.0-preview2 で、 Proc#call の動作がへんです。

51 messages 2003/03/06
[#19752] Re: (1.8.0-preview2) Proc#call — nobu.nakada@... 2003/03/07

なかだです。

[#19754] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/03/07

まつもと ゆきひろです

[#19755] Re: (1.8.0-preview2) Proc#call — nobu.nakada@... 2003/03/07

なかだです。

[#19756] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/03/07

まつもと ゆきひろです

[#19770] Re: (1.8.0-preview2) Proc#call — nobu.nakada@... 2003/03/08

なかだです。

[#19786] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/03/10

まつもと ゆきひろです

[#19787] Re: (1.8.0-preview2) Proc#call — nobu.nakada@... 2003/03/10

なかだです。

[#19788] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/03/10

まつもと ゆきひろです

[#19789] Re: (1.8.0-preview2) Proc#call — Koji Arai <JCA02266@...> 2003/03/11

新井です。

[#19797] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/03/11

まつもと ゆきひろです

[#19798] Re: (1.8.0-preview2) Proc#call — Masatoshi SEKI <m_seki@...> 2003/03/11

[#19799] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/03/11

[#19809] Re: (1.8.0-preview2) Proc#call — Masatoshi SEKI <m_seki@...> 2003/03/12

[#20090] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/04/25

まつもと ゆきひろです

[#20101] Re: (1.8.0-preview2) Proc#call — Masatoshi SEKI <m_seki@...> 2003/04/28

[#20102] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/04/28

まつもと ゆきひろです

[#20148] Re: (1.8.0-preview2) Proc#call — Masatoshi SEKI <m_seki@...> 2003/05/03

[#20179] Re: (1.8.0-preview2) Proc#call — m_seki@... 2003/05/07

[#20180] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/05/07

まつもと ゆきひろです

[#20196] Re: (1.8.0-preview2) Proc#call — Masatoshi SEKI <m_seki@...> 2003/05/17

[#20200] Re: (1.8.0-preview2) Proc#call — matz@... (Yukihiro Matsumoto) 2003/05/18

まつもと ゆきひろです

[#19865] dl in $SAFE=4 — Minero Aoki <aamine@...>

あおきです。

15 messages 2003/03/21
[#19871] Re: dl in $SAFE=4 — matz@... (Yukihiro Matsumoto) 2003/03/21

まつもと ゆきひろです

[ruby-dev:19841] Re: SEGV on Rubicon with ruby -w

From: Tanaka Akira <akr@...17n.org>
Date: 2003-03-18 15:39:43 UTC
List: ruby-dev #19841
In article <200303172355.h2HNtpZc004701@sharui.nakada.kanuma.tochigi.jp>,
  nobu.nakada@nifty.ne.jp writes:

> 案の定というか、やっぱり私のところでは起きませんでした。

まぁ、ありがちですね。

>> #6  0x08051a94 in search_method (klass=1075308160, id=43, origin=0xbfff3f44) at eval.c:299
>
> ここのところのklassの中身と
>
>> #9  0x08056831 in rb_eval (self=1075564536, n=0x401ed770) at eval.c:2833
>
> ここのselfの中身って分かりますか。

gdb 上で run すると SEGV しないので、がんばって生きているプロセスに繋
げてみました。
(あるウインドウで Rubicon を動かして、それが終了する前に attach するあ
たりが「がんばって」というところです。)

% gdb
gdb: Symbol `emacs_ctlx_keymap' has different size in shared object, consider re-linking
GNU gdb 2002-04-01-cvs
Copyright 2002 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-linux".
(gdb) attach 12591
Attaching to process 12591
Reading symbols from /tmp/zzzzzzzzz/bin/ruby...done.
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
0x400d8e0d in malloc () from /lib/libc.so.6
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x080a7a01 in st_lookup (table=0x4017e680, key=43, value=0xbfff3ef8) at st.c:258
258         hash_val = do_hash(key, table);

というようにめでたく SEGV しているところを捕まえられて、klass を調べて
みるわけですが、

(gdb) up
#1  0x08051a94 in search_method (klass=1075308160, id=43, origin=0xbfff3f34) at eval.c:299
299         }
(gdb) p klass
$1 = 1075308160
(gdb) rp klass
Unknown

おや? Unknown といわれてしまいます。

(gdb) p *(struct RBasic *)klass
$2 = {flags = 0, klass = 4294967295}

中身を調べてみると、flags が 0 ということで謎です。
というわけでこれはあきらめて、つぎの self にいくと、

(gdb) up
#2  0x08051ad8 in rb_get_method_body (klassp=0xbfff3f84, idp=0xbfff3f74, noexp=0xbfff3f78) at eval.c:317
317         if ((body = search_method(klass, id, &origin)) == 0 || !body->nd_body) {
(gdb) 
#3  0x0805b7d4 in rb_call (klass=1075308160, recv=1075308168, mid=43, argc=1, argv=0xbfff3fa4, scope=0) at eval.c:4879
4879        else if ((body = rb_get_method_body(&klass, &id, &noex)) == 0) {
(gdb) 
#4  0x08056831 in rb_eval (self=1075564536, n=0x401ed770) at eval.c:2833
2833                result = rb_call(CLASS_OF(recv),recv,node->nd_mid,argc,argv,0);
(gdb) p self
$4 = 1075564536
(gdb) rp self
T_OBJECT
$5 = {basic = {flags = 2, klass = 1075748336}, iv_tbl = 0x8127f88}

T_OBJECT だそうですが、それだけではよくわかんないので、klass を調べて
みますと、

(gdb) rp 1075748336
T_CLASS
(gdb) rb_classname 1075748336
$6 = 1075748016
$7 = {basic = {flags = 3, klass = 1075748036}, iv_tbl = 0x816a450, m_tbl = 0x816a408, super = 1075748396}

となって、もとの(Rubicon を動かしたウインドウに) "Rubicon::TestRunner"
と出て来たので、きっと Rubicon::TestRunner のインスタンスだと思います。

>> ただ、かなり微妙な条件のようで、今のところ問題を絞り込めていません。
>> (少なくとも prefix の長さに依存することは分かっています。z の数がひと
>> つ多くても少なくても再現しません。)
>
> まぁGCがなんか絡んでるんでしょう。

なんかリンカが怪しい模様です。

どうにか他のマシンで再現させられないかと思って、いろいろ試したところ、
問題の出るマシンから必要なライブラリをコピーして chroot 環境を作って、
それを他のマシンに持って行くことによって再現に成功しました。
(したがって、メモリなどのハード的な問題ではないことが確認されたといっ
ていいと思います。)

で、ライブラリをいろいろ変えて試してみると、/lib/ld-linux.so.2 を問題
が出ないマシンのものに変えると問題が出なくなるので、そのへんが絡んでる
みたいです。

問題が出るマシンの ld-linux.so.2 は Debian の libc6 2.2.5-14.3 なんで
すが、最近 upgrade をさぼっていたためちょっと古めです。

Ruby とリンカのどちらの問題なのかは依然として不明ですが、どうやったら
確認できるかなぁ。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread