[#7631] 1.3 to 1.4 — Katsuyuki Komatsu <komatsu@...>

小松です。

26 messages 1999/08/12
[#7632] Re: 1.3 to 1.4 — matz@... (Yukihiro Matsumoto) 1999/08/12

まつもと ゆきひろです

[#7634] Re: 1.3 to 1.4 — Katsuyuki Komatsu <komatsu@...> 1999/08/13

小松です。

[#7636] Re: 1.3 to 1.4 — matz@... (Yukihiro Matsumoto) 1999/08/13

まつもと ゆきひろです

[#7638] cvs HEAD (Re: Re: 1.3 to 1.4) — EGUCHI Osamu <eguchi@...> 1999/08/13

えぐち@エスアンドイーです。

[#7647] Re: cvs HEAD (Re: Re: 1.3 to 1.4) — matz@... (Yukihiro Matsumoto) 1999/08/13

まつもと ゆきひろです

[#7641] Re: [ruby-ext:00382] New coerce scheme — keiju@... (石塚圭樹)

けいじゅ@日本ラショナルソフトウェアです.

26 messages 1999/08/13

[ruby-dev:7742] [BUG] Segmentation fault (again...)

From: Yasuhiro Fukuma <yasuf@...>
Date: 1999-08-20 20:57:33 UTC
List: ruby-dev #7742
福間@福岡 です。

# あう、はよportをupdateせんかいという催促メールが来てる…(汗)

以下が落ちます。

  % cat bug.rb
  eval "Thread.new { GC.start }", binding

  % ruby -v bug.rb
  ruby 1.4.0 (1999-08-13) [i386-freebsd4.0]
  (eval):1: [BUG] Segmentation fault
  zsh: abort (core dumped)  ruby -v bug.rb

---
 Yasuhiro Fukuma (福間 康弘) as Yasu.F @ Kitakyushu.Fukuoka.Japan
 Web site: http://www8.big.or.jp/~yasuf/
 PGP fingerprint = 17 25 8A F3 99 E5 7E 19  C0 EA 6E 03 8A C3 CE F0
 “今月の目標: 「盗聴に注意しましょう」”

Attachments (1)

gdb.log (4.82 KB, text/x-log)
(gdb) run
Starting program: /usr/local/src/ruby/build/ruby bug.rb

Breakpoint 1, thread_mark (th=0x80c2100) at ../src/eval.c:6055
6055            frame = ADJ(frame);
(gdb) p *th
$1 = {next = 0x80c2200, prev = 0x80c2200, context = {{_jb = {134594921, 0, 
        -1077949380, -1077949284, 135198888, 134595464, 0, 4735, 0}}}, 
  result = 0, stk_len = 671, stk_max = 671, stk_ptr = 0x8113000, 
  stk_pos = 0xbfbfcc20, frame = 0xbfbfcd50, scope = 0x80f3d2c, 
  dyna_vars = 0x0, block = 0xbfbfd138, iter = 0xbfbfccfc, tag = 0xbfbfd0f8, 
  klass = 135216408, wrapper = 0, trace = 0, flags = 0, 
  file = 0x809d1b5 "(eval)", line = 1, errinfo = 4, last_status = 4, 
  last_line = 4, last_match = 4, safe = 0, status = THREAD_RUNNABLE, 
  wait_for = 0, fd = 0, delay = 0, join = 0x0, abort = 0, locals = 0x0, 
  thread = 135197728}
(gdb) p *frame
$2 = {self = 135198888, argc = 0, argv = 0x0, last_func = 3121, 
  last_class = 0, cbase = 135166688, prev = 0xbfbfd298, tmp = 0x0, 
  file = 0x809d1b5 "(eval)", line = 1, iter = 2}
(gdb) n
6056            rb_gc_mark_frame(frame);
(gdb) p *frame
$3 = {self = 135198888, argc = 0, argv = 0x0, last_func = 3121, 
  last_class = 0, cbase = 135166688, prev = 0xbfbfd298, tmp = 0x0, 
  file = 0x809d1b5 "(eval)", line = 1, iter = 2}
(gdb) c
Continuing.

Breakpoint 1, thread_mark (th=0x80c2100) at ../src/eval.c:6055
6055            frame = ADJ(frame);
(gdb) p *frame
$4 = {self = 135212748, argc = 0, argv = 0x0, last_func = 0, last_class = 0, 
  cbase = 135166688, prev = 0x8112100, tmp = 0xbfbfd3bc, 
  file = 0x8111da0 "bug.rb", line = 1, iter = 0}
(gdb) n
6056            rb_gc_mark_frame(frame);
(gdb) p *frame
$5 = {self = 135212748, argc = 0, argv = 0x0, last_func = 0, last_class = 0, 
  cbase = 135166688, prev = 0x8112100, tmp = 0xbfbfd3bc, 
  file = 0x8111da0 "bug.rb", line = 1, iter = 0}
(gdb) c
Continuing.

Breakpoint 1, thread_mark (th=0x80c2100) at ../src/eval.c:6055
6055            frame = ADJ(frame);
(gdb) p *frame
$6 = {self = 135212748, argc = 0, argv = 0x0, last_func = 0, last_class = 0, 
  cbase = 135166688, prev = 0x0, tmp = 0x0, file = 0x0, line = 0, iter = 0}
(gdb) n
6056            rb_gc_mark_frame(frame);
(gdb) p *frame
Error accessing memory address 0x506284e0: Bad address.
(gdb) bt
#0  thread_mark (th=0x80c2100) at ../src/eval.c:6056
#1  0x805f7a8 in rb_gc_mark (ptr=0x80ef420) at ../src/gc.c:588
#2  0x805abdd in rb_gc_mark_threads () at ../src/eval.c:6083
#3  0x805fd2f in rb_gc () at ../src/gc.c:937
#4  0x805fd80 in gc_start () at ../src/gc.c:957
#5  0x8056767 in call_cfunc (func=0x805fd78 <gc_start>, recv=135167868, len=0, 
    argc=0, argv=0x0) at ../src/eval.c:3677
#6  0x8056c12 in rb_call0 (klass=135167848, recv=135167868, id=5113, argc=0, 
    argv=0x0, body=0x80e7f54, nosuper=1) at ../src/eval.c:3813
#7  0x805724f in rb_call (klass=135167848, recv=135167868, mid=5113, argc=0, 
    argv=0x0, scope=0) at ../src/eval.c:4007
#8  0x805323c in rb_eval (self=135212748, node=0x80e78c4) at ../src/eval.c:2183
#9  0x8055885 in rb_yield_0 (val=135166068, self=135212748, klass=0, acheck=0)
    at ../src/eval.c:3189
#10 0x805c381 in rb_thread_yield (arg=0, th=0x80c2200) at ../src/eval.c:7047
#11 0x805c1fb in rb_thread_create_0 (fn=0x805c35c <rb_thread_yield>, arg=0x0, 
    klass=135198888) at ../src/eval.c:6996
#12 0x805c3b3 in rb_thread_start (klass=135198888) at ../src/eval.c:7057
#13 0x8056767 in call_cfunc (func=0x805c388 <rb_thread_start>, recv=135198888, 
    len=0, argc=0, argv=0x0) at ../src/eval.c:3677
#14 0x8056c12 in rb_call0 (klass=135198868, recv=135198888, id=3121, argc=0, 
    argv=0x0, body=0x80ef880, nosuper=1) at ../src/eval.c:3813
#15 0x805724f in rb_call (klass=135198868, recv=135198888, mid=3121, argc=0, 
    argv=0x0, scope=0) at ../src/eval.c:4007
#16 0x805323c in rb_eval (self=135212748, node=0x80e78ec) at ../src/eval.c:2183
#17 0x8052464 in rb_eval (self=135212748, node=0x80e789c) at ../src/eval.c:1932
#18 0x805095c in eval_node (self=135212748) at ../src/eval.c:987
#19 0x805792d in eval (self=135212748, src=135166288, scope=135166268, 
    file=0x809d1b5 "(eval)", line=1) at ../src/eval.c:4273
#20 0x8057b87 in rb_f_eval (argc=2, argv=0xbfbfd444, self=135212748)
    at ../src/eval.c:4339
#21 0x805675d in call_cfunc (func=0x8057b00 <rb_f_eval>, recv=135212748, 
    len=-1, argc=2, argv=0xbfbfd444) at ../src/eval.c:3674
#22 0x8056c12 in rb_call0 (klass=135216268, recv=135212748, id=3569, argc=2, 
    argv=0xbfbfd444, body=0x80f27c4, nosuper=1) at ../src/eval.c:3813
#23 0x805724f in rb_call (klass=135216268, recv=135212748, mid=3569, argc=2, 
    argv=0xbfbfd444, scope=1) at ../src/eval.c:4007
#24 0x805323c in rb_eval (self=135212748, node=0x80e798c) at ../src/eval.c:2183
#25 0x805095c in eval_node (self=135212748) at ../src/eval.c:987
#26 0x8050a45 in ruby_run () at ../src/eval.c:1023
#27 0x804f860 in main (argc=2, argv=0xbfbfd764, envp=0xbfbfd770)
    at ../src/main.c:39
#28 0x804f7e1 in _start ()

In This Thread

Prev Next