[#31692] cannot run test-all — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
9 messages
2007/09/01
[#31697] Re: [ruby-list:43970] 次の1.8.6 — Tadayoshi Funaba <tadf@...>
> * [ruby-dev:31379]がペンディング
10 messages
2007/09/01
[#31699] Re: [ruby-list:43970] 次の1.8.6
— Urabe Shyouhei <shyouhei@...>
2007/09/01
Tadayoshi Funaba wrote:
[#31700] Re: [ruby-list:43970] 次の1.8.6
— Tadayoshi Funaba <tadf@...>
2007/09/01
> > WIN32OLE も Time も担当でないし、この報告が何をいいたいのかもよくわか
[#31703] Re: [ruby-list:43970] 次の1.8.6
— Urabe Shyouhei <shyouhei@...>
2007/09/01
Tadayoshi Funaba wrote:
[#31706] Re: [ruby-list:43970] 次の1.8.6
— Tadayoshi Funaba <tadf@...>
2007/09/01
> 今後サポートを続けるべきかはご判断にお任せします。OLEで使われてるん
[#31709] [BUG] non-initialized struct — Tanaka Akira <akr@...>
以下のようにすると [BUG] が出ます。
6 messages
2007/09/02
[#31715] string literal encoding — Nobuyoshi Nakada <nobu@...>
なかだです。
12 messages
2007/09/02
[#31716] Re: string literal encoding
— Yukihiro Matsumoto <matz@...>
2007/09/02
まつもと ゆきひろです
[#31729] packed st_table — Nobuyoshi Nakada <nobu@...>
なかだです。
8 messages
2007/09/04
[#31734] [m17n] String#chop & String#succ — Nobuyoshi Nakada <nobu@...>
なかだです。
2 messages
2007/09/05
[#31744] [m17n] String#encode — Nobuyoshi Nakada <nobu@...>
なかだです。
7 messages
2007/09/06
[#31768] shellescape — "Akinori MUSHA" <knu@...>
shellwords.rb に shellescape() 等を追加しようと思います。
5 messages
2007/09/10
[#31774] RSTRING(value)->ptr == NULL ? — Tietew <tietew+ruby-dev@...>
Tietew です。
7 messages
2007/09/11
[#31778] Re: RSTRING(value)->ptr == NULL ?
— Yukihiro Matsumoto <matz@...>
2007/09/12
まつもと ゆきひろです
[#31781] `scan': character encodings differ (ArgumentError) — Kouhei Sutou <kou@...>
須藤です。
5 messages
2007/09/15
[#31787] 文字列のinspect — eklerni <eklerni@...>
eklerniといいます。
5 messages
2007/09/15
[#31798] generator from Enumerable#map — "Yusuke ENDOH" <mame@...>
遠藤と申します。
7 messages
2007/09/19
[#31810] rb_obj_is_kind_of — Tanaka Akira <akr@...>
rb_obj_is_kind_of の TYPE(cl) ですが、[ruby-dev:31805] の例
5 messages
2007/09/21
[#31815] 文字列の式展開 — eklerni <eklerni@...>
eklerniといいます。
6 messages
2007/09/22
[#31835] Kernel#` is blocked with Ruby/GLib2 on Intel Mac — Kouhei Sutou <kou@...>
須藤です。
5 messages
2007/09/24
[#31842] 拡張ライブラリ内での SIGVTALRM — とみたまさひろ <tommy@...>
とみたです。
10 messages
2007/09/24
[#31848] huge `if' dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
5 messages
2007/09/24
[#31850] meta programming might dump core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
2 messages
2007/09/24
[#31853] optimize T_OBJECT space — Tanaka Akira <akr@...>
T_OBJECT なインスタンスで、インスタンス変数の名前をクラス側
7 messages
2007/09/25
[#31880] Re: optimize T_OBJECT space
— Tanaka Akira <akr@...>
2007/09/28
In article <87r6kne799.fsf@fsij.org>,
[ruby-dev:31808] Re: TYPE(cl) in rb_obj_is_kind_of
From:
Tanaka Akira <akr@...>
Date:
2007-09-21 00:36:24 UTC
List:
ruby-dev #31808
In article <20070920204241.1B129E0421@mail.bc9.jp>,
Nobuyoshi Nakada <nobu@ruby-lang.org> writes:
>> rb_obj_is_kind_of 中で TYPE(cl) が T_CLASS や T_ICLASS でな
>> いことは正常なのでしょうか?
>
> その直後のswitchをみれば、T_MODULEは正常なケースだと思います。
うぅむ。
この件では T_MODULE でもないようです。
% gdb ruby
GNU gdb 6.3-debian
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-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run -e 'eval("", TOPLEVEL_BINDING); ObjectSpace.each_object(Class) {|x| }'
Starting program: /tmp/a/ruby/ruby -e 'eval("", TOPLEVEL_BINDING); ObjectSpace.each_object(Class) {|x| }'
[Thread debugging using libthread_db enabled]
[New Thread -1210039200 (LWP 27073)]
[New Thread -1210770512 (LWP 27076)]
ruby: object.c:394: rb_obj_is_kind_of: Assertion `rb_type((VALUE)(cl)) == RUBY_T_CLASS || rb_type((VALUE)(cl)) == RUBY_T_ICLASS' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread -1210039200 (LWP 27073)]
0xb7e2d83b in raise () from /lib/tls/libc.so.6
(gdb) bt
#0 0xb7e2d83b in raise () from /lib/tls/libc.so.6
#1 0xb7e2efa2 in abort () from /lib/tls/libc.so.6
#2 0xb7e272df in __assert_fail () from /lib/tls/libc.so.6
#3 0x0807768d in rb_obj_is_kind_of (obj=0, c=3084396900) at ruby.h:897
#4 0x0806327b in os_obj_of (of=3084396900) at gc.c:1744
#5 0x0806330c in os_each_obj (argc=0, argv=0x0) at gc.c:1799
#6 0x080d96da in call_cfunc (func=0x80632c0 <os_each_obj>, recv=3084273360, len=6, argc=27073, argv=0xb7d83020)
at insnhelper.ci:276
#7 0x080dac15 in vm_call_cfunc (th=0x815d160, reg_cfp=0xb7e02f60, num=1, id=8080, recv=3084273360, klass=3084273260,
mn=0xb7d64658, blockptr=0x0) at insnhelper.ci:365
#8 0x080d9e06 in vm_call_method (th=0x815d160, cfp=0xb7e02f60, num=1, blockptr=0xb7e02f74, flag=0, id=8080, mn=0x815d160,
recv=3084273360, klass=3084273260) at insnhelper.ci:490
#9 0x080d5360 in vm_eval (th=0x815d160, initial=0) at insns.def:1073
#10 0x080d84b0 in vm_eval_body (th=0x815d160) at vm.c:1162
#11 0x080d887a in rb_iseq_eval (iseqval=3084259860) at vm.c:1371
#12 0x0805a589 in ruby_exec_node (n=0xb7d61250, file=0x8197139 "-e") at eval.c:231
#13 0x0805a5ef in ruby_run_node (n=0xb7d61250) at eval.c:256
#14 0x08057757 in main (argc=0, argv=0x0, envp=0xbfe6f0d4) at main.c:46
(gdb) up
#1 0xb7e2efa2 in abort () from /lib/tls/libc.so.6
(gdb)
#2 0xb7e272df in __assert_fail () from /lib/tls/libc.so.6
(gdb)
#3 0x0807768d in rb_obj_is_kind_of (obj=0, c=3084396900) at ruby.h:897
897 if (obj == Qfalse) return rb_cFalseClass;
(gdb)
#4 0x0806327b in os_obj_of (of=3084396900) at gc.c:1744
1744 if (rb_obj_is_kind_of((VALUE)p, of)) {
(gdb) rp p
T_VALUES: $1 = (struct RValues *) 0xb7d60fbc
(gdb) p *$1
$2 = {basic = {flags = 26, klass = 3084262000}, v1 = 4, v2 = 4, v3 = 4}
(gdb) rp 3084262000
T_NODE(NODE_BLOCK): $3 = {flags = 1055, nd_file = 0x0, u1 = {node = 0xb7d829b4, id = 3084396980, value = 3084396980,
cfunc = 0xb7d829b4, tbl = 0xb7d829b4}, u2 = {node = 0x2, id = 2, argc = 2, value = 2}, u3 = {node = 0x0, id = 0,
state = 0, entry = 0x0, cnt = 0, value = 0}}
(gdb)
というように、rb_obj_is_kind_of に渡しているのは T_VALUES で、
その klass は T_NODE になっています。
--
[田中 哲][たなか あきら][Tanaka Akira]