[ruby-dev:7610] core dump if require 2 or more libraries from irb
From:
Katsuyuki Komatsu <komatsu@...>
Date:
1999-08-11 12:50:03 UTC
List:
ruby-dev #7610
小松です。
irbから、
require "thread", "socket"
とrequireを1度にやろうとするとcore dumpしてしまいました。
rubyは、
../configure --with-readline-dir=/usr/local --with-make-prog=gmake \
--enable-shared
で作成したもので、ソースはCVSで取ってきた今日チェックインされた
ものです。
% uname -r -s
SunOS 5.5.1
% ruby -v
ruby 1.3.7 (1999-08-11) [sparc-solaris2.5.1]
% irb
irb(main):001:0> require "thread"
nil
irb(main):002:0> require "socket"
nil
irb(main):003:0> quit
% irb
irb(main):001:0> require "thread", "socket"
(irb):1: [BUG] Segmentation fault
異常終了 (コアダンプしました。)
% gdb /usr/local/bin/ruby core
GNU gdb 4.17
Copyright 1998 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 "sparc-sun-solaris2.5.1"...
warning: core file may not match specified executable file.
Core was generated by `/usr/local/bin/ruby /usr/local/bin/irb'.
Program terminated with signal 6, Abort.
Reading symbols from /home/atropos/src/ruby/solaris/./libruby.so...
done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/platform/SUNW,Ultra-2/lib/libc_psr.so.1...done.
Reading symbols from /usr/local/lib/ruby/1.3/sparc-solaris2.5.1/readline.so...
done.
Reading symbols from /usr/lib/locale/ja/LC_CTYPE/mb.so.1...done.
Reading symbols from /usr/lib/locale/ja/LC_CTYPE/wcwidth.so.1...done.
Reading symbols from /usr/local/lib/ruby/1.3/sparc-solaris2.5.1/socket.so...
done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libintl.so.1...done.
Reading symbols from /usr/lib/libmp.so.1...done.
Reading symbols from /usr/lib/libw.so.1...done.
#0 0xef5f4998 in kill ()
(gdb) bt
#0 0xef5f4998 in kill ()
#1 0xef5ba66c in abort ()
#2 0xef69fa50 in rb_check_type (x=4017191168, t=-268463312) at ../error.c:154
#3 0xef6f55fc in rb_trap_exit () at ../signal.c:377
#4 <signal handler called>
#5 mark_locations_array (x=0xef71a000, n=-268555745) at ../gc.c:309
#6 0xef6ba1e0 in rb_gc_mark_frame (frame=0xefffdea8) at ../gc.c:850
#7 0xef6ba2a8 in rb_gc () at ../gc.c:915
#8 0xef6b8e00 in rb_newobj () at ../gc.c:279
#9 0xef6e0118 in rb_node_newnode (type=4096, a0=0xef514620, a1=0x1, a2=0x0)
at ../parse.y:3431
#10 0xef69cf80 in rb_define_method (klass=134488, name=0xef517bd0 "open",
func=0xef514620 <unix_svr_s_open>, argc=1) at ../class.c:474
#11 0xef69d178 in rb_define_singleton_method (obj=134896,
name=0xef517bd0 "open", func=0xef514620 <unix_svr_s_open>, argc=1)
at ../class.c:531
#12 0xef515fec in Init_socket ()
at /home/atropos/src/ruby/ext/socket/socket.c:1901
#13 0xef69e97c in dln_load (
file=0x113c78 "/usr/local/lib/ruby/1.3/sparc-solaris2.5.1/socket.so")
at ../dln.c:1502
#14 0xef6af218 in rb_f_require (obj=0, fname=674864) at ../eval.c:4792
#15 0xef6af3ec in require_method (argc=2, argv=0xefffa388, self=369904)
at ../eval.c:4831
#16 0xef6abcec in call_cfunc (func=0xef6af3cc <require_method>, recv=369904,
len=-1, argc=2, argv=0xefffa388) at ../eval.c:3681
#17 0xef6ac3dc in rb_call0 (klass=374128, recv=369904, id=8089, argc=2,
argv=0xefffa388, body=0x4cfd8, nosuper=-278203444) at ../eval.c:3811
#18 0xef6ace30 in rb_call (klass=374128, recv=369904, mid=8089, argc=2,
argv=0xefffa388, scope=1) at ../eval.c:4005
#19 0xef6a6b18 in rb_eval (self=369904, node=0xa4c78) at ../eval.c:2183
#20 0xef6a2e5c in eval_node (self=369904) at ../eval.c:987
#21 0xef6ad858 in eval (self=369904, src=684200, scope=700304,
file=0xf5a30 "(irb)", line=1) at ../eval.c:4261
#22 0xef6adc58 in rb_f_eval (argc=4, argv=0x1, self=699992) at ../eval.c:4327
#23 0xef6abcec in call_cfunc (func=0xef6adbac <rb_f_eval>, recv=699992,
len=-1, argc=4, argv=0xefffaa80) at ../eval.c:3681
#24 0xef6ac3dc in rb_call0 (klass=374128, recv=699992, id=3561, argc=4,
argv=0xefffaa80, body=0x59c80, nosuper=-278209620) at ../eval.c:3811
#25 0xef6ace30 in rb_call (klass=374128, recv=699992, mid=3561, argc=4,
argv=0xefffaa80, scope=1) at ../eval.c:4005
#26 0xef6a6b18 in rb_eval (self=699992, node=0x3f640) at ../eval.c:2183
#27 0xef6a6654 in rb_eval (self=699992, node=0x3f748) at ../eval.c:2162
#28 0xef6aa4d4 in rb_yield_0 (val=4, self=699992, klass=0, acheck=0)
at ../eval.c:3187
#29 0xef6a5dc8 in rb_eval (self=699992, node=0x3cf70) at ../eval.c:2011
#30 0xef6a60c4 in rb_eval (self=699992, node=0x3ce68) at ../eval.c:2057
#31 0xef6ac868 in rb_call0 (klass=707744, recv=699992, id=9521, argc=0,
argv=0x0, body=0x3ce38, nosuper=699992) at ../eval.c:3915
---Type <return> to continue, or q <return> to quit---
#32 0xef6ace30 in rb_call (klass=707744, recv=699992, mid=9521, argc=0,
argv=0x0, scope=2) at ../eval.c:4005
#33 0xef6a6b18 in rb_eval (self=699992, node=0x3f790) at ../eval.c:2183
#34 0xef6a59a8 in rb_eval (self=699992, node=0x3f5c8) at ../eval.c:1932
#35 0xef6a5010 in rb_eval (self=699992, node=0x3f310) at ../eval.c:1740
#36 0xef6a5e84 in rb_eval (self=699992, node=0x3dff0) at ../eval.c:2021
#37 0xef6aa4d4 in rb_yield_0 (val=4, self=699992, klass=0, acheck=0)
at ../eval.c:3187
#38 0xef6a5dc8 in rb_eval (self=699992, node=0x3d228) at ../eval.c:2011
#39 0xef6a60c4 in rb_eval (self=699992, node=0x3d168) at ../eval.c:2057
#40 0xef6ac868 in rb_call0 (klass=707744, recv=699992, id=9353, argc=0,
argv=0xefffc7ac, body=0x3d300, nosuper=699992) at ../eval.c:3915
#41 0xef6ace30 in rb_call (klass=707744, recv=699992, mid=9353, argc=1,
argv=0xefffc7a8, scope=1) at ../eval.c:4005
#42 0xef6a6b18 in rb_eval (self=699992, node=0x3f7d8) at ../eval.c:2183
#43 0xef6a59a8 in rb_eval (self=699992, node=0x3dfa8) at ../eval.c:1932
#44 0xef6aa4d4 in rb_yield_0 (val=675320, self=699992, klass=0, acheck=0)
at ../eval.c:3187
#45 0xef6a5dc8 in rb_eval (self=699704, node=0x272f8) at ../eval.c:2011
#46 0xef6a5010 in rb_eval (self=699704, node=0x27280) at ../eval.c:1740
#47 0xef6aa4d4 in rb_yield_0 (val=4, self=699704, klass=0, acheck=0)
at ../eval.c:3187
#48 0xef6aa73c in rb_f_loop () at ../eval.c:3233
#49 0xef6abcbc in call_cfunc (func=0xef6aa724 <rb_f_loop>, recv=699704, len=0,
argc=0, argv=0x0) at ../eval.c:3675
#50 0xef6ac3dc in rb_call0 (klass=374128, recv=699704, id=3577, argc=0,
argv=0x0, body=0x59b60, nosuper=-278223068) at ../eval.c:3811
#51 0xef6ace30 in rb_call (klass=374128, recv=699704, mid=3577, argc=0,
argv=0x0, scope=2) at ../eval.c:4005
#52 0xef6a6b18 in rb_eval (self=699704, node=0x278f8) at ../eval.c:2183
#53 0xef6a59a8 in rb_eval (self=699704, node=0x26fc8) at ../eval.c:1932
#54 0xef6ac868 in rb_call0 (klass=833504, recv=699704, id=9505, argc=0,
argv=0x0, body=0x26f98, nosuper=4) at ../eval.c:3915
#55 0xef6ace30 in rb_call (klass=833504, recv=699704, mid=9505, argc=0,
argv=0x0, scope=0) at ../eval.c:4005
#56 0xef6a6b18 in rb_eval (self=699992, node=0x3f8f8) at ../eval.c:2183
#57 0xef6a59a8 in rb_eval (self=699992, node=0x3df60) at ../eval.c:1932
#58 0xef6ac868 in rb_call0 (klass=707744, recv=699992, id=8769, argc=0,
argv=0x0, body=0x3f970, nosuper=4) at ../eval.c:3915
#59 0xef6ace30 in rb_call (klass=707744, recv=699992, mid=8769, argc=0,
argv=0x0, scope=0) at ../eval.c:4005
#60 0xef6a6b18 in rb_eval (self=713744, node=0x49ab0) at ../eval.c:2183
#61 0xef6aa4d4 in rb_yield_0 (val=17531, self=713744, klass=0, acheck=0)
at ../eval.c:3187
#62 0xef6b5bcc in rb_f_catch (dmy=713744, tag=17531) at ../eval.c:7429
#63 0xef6abcd0 in call_cfunc (func=0xef6b5b18 <rb_f_catch>, recv=713744,
len=1, argc=1, argv=0xefffe8b8) at ../eval.c:3678
#64 0xef6ac3dc in rb_call0 (klass=374128, recv=713744, id=3641, argc=1,
argv=0xefffe8b8, body=0x59890, nosuper=-278177000) at ../eval.c:3811
---Type <return> to continue, or q <return> to quit---
#65 0xef6ace30 in rb_call (klass=374128, recv=713744, mid=3641, argc=1,
argv=0xefffe8b8, scope=1) at ../eval.c:4005
#66 0xef6a6b18 in rb_eval (self=713744, node=0x49af8) at ../eval.c:2183
#67 0xef6a59a8 in rb_eval (self=713744, node=0x49a68) at ../eval.c:1932
#68 0xef6a5010 in rb_eval (self=713744, node=0x49a38) at ../eval.c:1740
#69 0xef6ac868 in rb_call0 (klass=711272, recv=713744, id=5417, argc=0,
argv=0xeffff1fc, body=0x4a500, nosuper=713744) at ../eval.c:3915
#70 0xef6ace30 in rb_call (klass=711272, recv=713744, mid=5417, argc=1,
argv=0xeffff1f8, scope=0) at ../eval.c:4005
#71 0xef6a6b18 in rb_eval (self=369904, node=0x4bca0) at ../eval.c:2183
#72 0xef6a2e5c in eval_node (self=369904) at ../eval.c:987
#73 0xef6a2fb0 in ruby_run () at ../eval.c:1023
#74 0x1097c in main (argc=0, argv=0xeffff6ac, envp=0xeffff6b8) at ../main.c:39
(gdb) up
#1 0xef5ba66c in abort ()
(gdb) up
#2 0xef69fa50 in rb_check_type (x=4017191168, t=-268463312) at ../error.c:154
154 abort();
(gdb) up
#3 0xef6f55fc in rb_trap_exit () at ../signal.c:377
377 rb_bug("Segmentation fault");
(gdb) up
#4 <signal handler called>
(gdb) up
#5 mark_locations_array (x=0xef71a000, n=-268555745) at ../gc.c:309
309 {
(gdb) up
#6 0xef6ba1e0 in rb_gc_mark_frame (frame=0xefffdea8) at ../gc.c:850
850 mark_locations_array(frame->argv, frame->argc);
(gdb) up
#7 0xef6ba2a8 in rb_gc () at ../gc.c:915
915 rb_gc_mark_frame(tmp);
(gdb) up
#8 0xef6b8e00 in rb_newobj () at ../gc.c:279
279 else rb_gc();
(gdb) up
#9 0xef6e0118 in rb_node_newnode (type=4096, a0=0xef514620, a1=0x1, a2=0x0)
at ../parse.y:3431
3431 NODE *n = (NODE*)rb_newobj();
(gdb) up
#10 0xef69cf80 in rb_define_method (klass=134488, name=0xef517bd0 "open",
func=0xef514620 <unix_svr_s_open>, argc=1) at ../class.c:474
474 rb_add_method(klass, id, NEW_CFUNC(func, argc),
(gdb) up
#11 0xef69d178 in rb_define_singleton_method (obj=134896,
name=0xef517bd0 "open", func=0xef514620 <unix_svr_s_open>, argc=1)
at ../class.c:531
531 rb_define_method(rb_singleton_class(obj), name, func, argc);
(gdb) up
#12 0xef515fec in Init_socket ()
at /home/atropos/src/ruby/ext/socket/socket.c:1901
1901 rb_define_singleton_method(rb_cUNIXServer, "open", unix_svr_s_open, 1);
(gdb) up
#13 0xef69e97c in dln_load (
file=0x113c78 "/usr/local/lib/ruby/1.3/sparc-solaris2.5.1/socket.so")
at ../dln.c:1502
1502 rb_loaderror("%s - %s", dln_strerror(), file);
(gdb) up
#14 0xef6af218 in rb_f_require (obj=0, fname=674864) at ../eval.c:4792
4792 dln_load(file);
(gdb) up
#15 0xef6af3ec in require_method (argc=2, argv=0xefffa388, self=369904)
at ../eval.c:4831
4831 rb_f_require(self, argv[i]);
(gdb) up
#16 0xef6abcec in call_cfunc (func=0xef6af3cc <require_method>, recv=369904,
len=-1, argc=2, argv=0xefffa388) at ../eval.c:3681
3681 return (*func)(recv, argv[0], argv[1]);
(gdb) up
#17 0xef6ac3dc in rb_call0 (klass=374128, recv=369904, id=8089, argc=2,
argv=0xefffa388, body=0x4cfd8, nosuper=-278203444) at ../eval.c:3811
3811 result = call_cfunc(body->nd_cfnc, recv, len, argc, argv);
(gdb) up
#18 0xef6ace30 in rb_call (klass=374128, recv=369904, mid=8089, argc=2,
argv=0xefffa388, scope=1) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#19 0xef6a6b18 in rb_eval (self=369904, node=0xa4c78) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#20 0xef6a2e5c in eval_node (self=369904) at ../eval.c:987
987 return rb_eval(self, tree);
(gdb) up
#21 0xef6ad858 in eval (self=369904, src=684200, scope=700304,
file=0xf5a30 "(irb)", line=1) at ../eval.c:4261
4261 result = eval_node(self);
(gdb) up
#22 0xef6adc58 in rb_f_eval (argc=4, argv=0x1, self=699992) at ../eval.c:4327
4327 return eval(self, src, scope, file, line);
(gdb) up
#23 0xef6abcec in call_cfunc (func=0xef6adbac <rb_f_eval>, recv=699992,
len=-1, argc=4, argv=0xefffaa80) at ../eval.c:3681
3681 return (*func)(recv, argv[0], argv[1]);
(gdb) up
#24 0xef6ac3dc in rb_call0 (klass=374128, recv=699992, id=3561, argc=4,
argv=0xefffaa80, body=0x59c80, nosuper=-278209620) at ../eval.c:3811
3811 result = call_cfunc(body->nd_cfnc, recv, len, argc, argv);
(gdb) up
#25 0xef6ace30 in rb_call (klass=374128, recv=699992, mid=3561, argc=4,
argv=0xefffaa80, scope=1) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#26 0xef6a6b18 in rb_eval (self=699992, node=0x3f640) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#27 0xef6a6654 in rb_eval (self=699992, node=0x3f748) at ../eval.c:2162
2162 SETUP_ARGS(node->nd_args);
(gdb) up
#28 0xef6aa4d4 in rb_yield_0 (val=4, self=699992, klass=0, acheck=0)
at ../eval.c:3187
3187 result = rb_eval(self, node);
(gdb) up
#29 0xef6a5dc8 in rb_eval (self=699992, node=0x3cf70) at ../eval.c:2011
2011 result = rb_yield_0(result, 0, 0, Qfalse);
(gdb) up
#30 0xef6a60c4 in rb_eval (self=699992, node=0x3ce68) at ../eval.c:2057
2057 result = rb_eval(self, node->nd_head);
(gdb) up
#31 0xef6ac868 in rb_call0 (klass=707744, recv=699992, id=9521, argc=0,
argv=0x0, body=0x3ce38, nosuper=699992) at ../eval.c:3915
3915 result = rb_eval(recv, body);
(gdb) up
#32 0xef6ace30 in rb_call (klass=707744, recv=699992, mid=9521, argc=0,
argv=0x0, scope=2) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#33 0xef6a6b18 in rb_eval (self=699992, node=0x3f790) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#34 0xef6a59a8 in rb_eval (self=699992, node=0x3f5c8) at ../eval.c:1932
1932 result = rb_eval(self, node->nd_iter);
(gdb) up
#35 0xef6a5010 in rb_eval (self=699992, node=0x3f310) at ../eval.c:1740
1740 rb_eval(self, node->nd_head);
(gdb) up
#36 0xef6a5e84 in rb_eval (self=699992, node=0x3dff0) at ../eval.c:2021
2021 result = rb_eval(self, node->nd_head);
(gdb) up
#37 0xef6aa4d4 in rb_yield_0 (val=4, self=699992, klass=0, acheck=0)
at ../eval.c:3187
3187 result = rb_eval(self, node);
(gdb) up
#38 0xef6a5dc8 in rb_eval (self=699992, node=0x3d228) at ../eval.c:2011
2011 result = rb_yield_0(result, 0, 0, Qfalse);
(gdb) up
#39 0xef6a60c4 in rb_eval (self=699992, node=0x3d168) at ../eval.c:2057
2057 result = rb_eval(self, node->nd_head);
(gdb) up
#40 0xef6ac868 in rb_call0 (klass=707744, recv=699992, id=9353, argc=0,
argv=0xefffc7ac, body=0x3d300, nosuper=699992) at ../eval.c:3915
3915 result = rb_eval(recv, body);
(gdb) up
#41 0xef6ace30 in rb_call (klass=707744, recv=699992, mid=9353, argc=1,
argv=0xefffc7a8, scope=1) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#42 0xef6a6b18 in rb_eval (self=699992, node=0x3f7d8) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#43 0xef6a59a8 in rb_eval (self=699992, node=0x3dfa8) at ../eval.c:1932
1932 result = rb_eval(self, node->nd_iter);
(gdb) up
#44 0xef6aa4d4 in rb_yield_0 (val=675320, self=699992, klass=0, acheck=0)
at ../eval.c:3187
3187 result = rb_eval(self, node);
(gdb) up
#45 0xef6a5dc8 in rb_eval (self=699704, node=0x272f8) at ../eval.c:2011
2011 result = rb_yield_0(result, 0, 0, Qfalse);
(gdb) up
#46 0xef6a5010 in rb_eval (self=699704, node=0x27280) at ../eval.c:1740
1740 rb_eval(self, node->nd_head);
(gdb) up
#47 0xef6aa4d4 in rb_yield_0 (val=4, self=699704, klass=0, acheck=0)
at ../eval.c:3187
3187 result = rb_eval(self, node);
(gdb) up
#48 0xef6aa73c in rb_f_loop () at ../eval.c:3233
3233 for (;;) { rb_yield_0(Qnil, 0, 0, Qfalse); }
(gdb) up
#49 0xef6abcbc in call_cfunc (func=0xef6aa724 <rb_f_loop>, recv=699704, len=0,
argc=0, argv=0x0) at ../eval.c:3675
3675 return (*func)(recv);
(gdb) up
#50 0xef6ac3dc in rb_call0 (klass=374128, recv=699704, id=3577, argc=0,
argv=0x0, body=0x59b60, nosuper=-278223068) at ../eval.c:3811
3811 result = call_cfunc(body->nd_cfnc, recv, len, argc, argv);
(gdb) up
#51 0xef6ace30 in rb_call (klass=374128, recv=699704, mid=3577, argc=0,
argv=0x0, scope=2) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#52 0xef6a6b18 in rb_eval (self=699704, node=0x278f8) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#53 0xef6a59a8 in rb_eval (self=699704, node=0x26fc8) at ../eval.c:1932
1932 result = rb_eval(self, node->nd_iter);
(gdb) up
#54 0xef6ac868 in rb_call0 (klass=833504, recv=699704, id=9505, argc=0,
argv=0x0, body=0x26f98, nosuper=4) at ../eval.c:3915
3915 result = rb_eval(recv, body);
(gdb) up
#55 0xef6ace30 in rb_call (klass=833504, recv=699704, mid=9505, argc=0,
argv=0x0, scope=0) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#56 0xef6a6b18 in rb_eval (self=699992, node=0x3f8f8) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#57 0xef6a59a8 in rb_eval (self=699992, node=0x3df60) at ../eval.c:1932
1932 result = rb_eval(self, node->nd_iter);
(gdb) up
#58 0xef6ac868 in rb_call0 (klass=707744, recv=699992, id=8769, argc=0,
argv=0x0, body=0x3f970, nosuper=4) at ../eval.c:3915
3915 result = rb_eval(recv, body);
(gdb) up
#59 0xef6ace30 in rb_call (klass=707744, recv=699992, mid=8769, argc=0,
argv=0x0, scope=0) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#60 0xef6a6b18 in rb_eval (self=713744, node=0x49ab0) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#61 0xef6aa4d4 in rb_yield_0 (val=17531, self=713744, klass=0, acheck=0)
at ../eval.c:3187
3187 result = rb_eval(self, node);
(gdb) up
#62 0xef6b5bcc in rb_f_catch (dmy=713744, tag=17531) at ../eval.c:7429
7429 val = rb_yield_0(tag, 0, 0, Qfalse);
(gdb) up
#63 0xef6abcd0 in call_cfunc (func=0xef6b5b18 <rb_f_catch>, recv=713744,
len=1, argc=1, argv=0xefffe8b8) at ../eval.c:3678
3678 return (*func)(recv, argv[0]);
(gdb) up
#64 0xef6ac3dc in rb_call0 (klass=374128, recv=713744, id=3641, argc=1,
argv=0xefffe8b8, body=0x59890, nosuper=-278177000) at ../eval.c:3811
3811 result = call_cfunc(body->nd_cfnc, recv, len, argc, argv);
(gdb) up
#65 0xef6ace30 in rb_call (klass=374128, recv=713744, mid=3641, argc=1,
argv=0xefffe8b8, scope=1) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#66 0xef6a6b18 in rb_eval (self=713744, node=0x49af8) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#67 0xef6a59a8 in rb_eval (self=713744, node=0x49a68) at ../eval.c:1932
1932 result = rb_eval(self, node->nd_iter);
(gdb) up
#68 0xef6a5010 in rb_eval (self=713744, node=0x49a38) at ../eval.c:1740
1740 rb_eval(self, node->nd_head);
(gdb) up
#69 0xef6ac868 in rb_call0 (klass=711272, recv=713744, id=5417, argc=0,
argv=0xeffff1fc, body=0x4a500, nosuper=713744) at ../eval.c:3915
3915 result = rb_eval(recv, body);
(gdb) up
#70 0xef6ace30 in rb_call (klass=711272, recv=713744, mid=5417, argc=1,
argv=0xeffff1f8, scope=0) at ../eval.c:4005
4005 return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
(gdb) up
#71 0xef6a6b18 in rb_eval (self=369904, node=0x4bca0) at ../eval.c:2183
2183 result = rb_call(CLASS_OF(self),self,node->nd_mid,0,0,2);
(gdb) up
#72 0xef6a2e5c in eval_node (self=369904) at ../eval.c:987
987 return rb_eval(self, tree);
(gdb) up
#73 0xef6a2fb0 in ruby_run () at ../eval.c:1023
1023 eval_node(ruby_top_self);
(gdb) up
#74 0x1097c in main (argc=0, argv=0xeffff6ac, envp=0xeffff6b8) at ../main.c:39
39 ruby_run();
(gdb) up
Initial frame selected; you cannot go up.
(gdb) quit
%
--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>