From: Tanaka Akira Date: 2003-10-09T21:55:07+09:00 Subject: [ruby-dev:21586] Re: core dump in rb_thread_schedule In article <200310091242.h99CgWfA007895@sharui.nakada.kanuma.tochigi.jp>, nobu.nakada@nifty.ne.jp writes: > main_threadとcurr_threadからnextをたどって見せてもらえますか。 #0 0x08062d9b in rb_thread_schedule () at eval.c:8589 8589 if (!found && th->status <= THREAD_RUNNABLE) { (gdb) p main_thread $1 = 0x80fe380 (gdb) p main_thread->next $2 = (struct thread *) 0x9110040 (gdb) p curr_thread $3 = 0x9113a58 (gdb) p curr_thread->next $4 = (struct thread *) 0x895a638 (gdb) main_thread->next->next Undefined command: "main". Try "help". (gdb) p main_thread->next->next $5 = (struct thread *) 0x90ffb78 (gdb) p main_thread->next->next->next $6 = (struct thread *) 0x90ba010 (gdb) p main_thread->next->next->next->next $7 = (struct thread *) 0x8a9e0b0 (gdb) p main_thread->next->next->next->next->next $8 = (struct thread *) 0x90d7d98 (gdb) p main_thread->next->next->next->next->next->next $9 = (struct thread *) 0x9130348 (gdb) p main_thread->next->next->next->next->next->next->next $10 = (struct thread *) 0x90f5390 (gdb) p main_thread->next->next->next->next->next->next->next->next $11 = (struct thread *) 0x8fb1040 (gdb) p main_thread->next->next->next->next->next->next->next->next->next $12 = (struct thread *) 0x8887568 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next $13 = (struct thread *) 0x894c588 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next $14 = (struct thread *) 0x904e688 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next $15 = (struct thread *) 0x88a0990 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next $16 = (struct thread *) 0x913da20 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next $17 = (struct thread *) 0x8841740 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $18 = (struct thread *) 0x9056450 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $19 = (struct thread *) 0x8703148 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $20 = (struct thread *) 0x90e5c28 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $21 = (struct thread *) 0x86b9468 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $22 = (struct thread *) 0x8fa3ed8 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $23 = (struct thread *) 0x8957750 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $24 = (struct thread *) 0x84e1630 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $25 = (struct thread *) 0x80fe380 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $26 = (struct thread *) 0x9110040 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $27 = (struct thread *) 0x90ffb78 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next->next $28 = (struct thread *) 0x90ba010 (gdb) p curr_thread->next->next $29 = (struct thread *) 0x746867 (gdb) p curr_thread->next->next->next Cannot access memory at address 0x746867 (gdb) p found $30 = 0 (gdb) p th $31 = 0x746867 (gdb) また、21:15 にもまた落ちました。 #0 0x08062d9b in rb_thread_schedule () at eval.c:8589 8589 if (!found && th->status <= THREAD_RUNNABLE) { (gdb) p found $1 = 0 (gdb) p th $2 = 0x3932 (gdb) p curr_thread $3 = 0x9354a58 (gdb) p curr_thread->next $4 = (struct thread *) 0x8824e60 (gdb) p curr_thread->next->next $5 = (struct thread *) 0x3932 (gdb) p curr_thread->next->next->next Cannot access memory at address 0x3932 (gdb) p main_thread->next $6 = (struct thread *) 0x9352b58 (gdb) p main_thread->next->next $7 = (struct thread *) 0x938faa8 (gdb) p main_thread->next->next->next $8 = (struct thread *) 0x8a3c748 (gdb) p main_thread->next->next->next->next $9 = (struct thread *) 0x8634d48 (gdb) p main_thread->next->next->next->next->next $10 = (struct thread *) 0x8a20820 (gdb) p main_thread->next->next->next->next->next->next $11 = (struct thread *) 0x854f0f0 (gdb) p main_thread->next->next->next->next->next->next->next $12 = (struct thread *) 0x9346c30 (gdb) p main_thread->next->next->next->next->next->next->next->next $13 = (struct thread *) 0x8995190 (gdb) p main_thread->next->next->next->next->next->next->next->next->next $14 = (struct thread *) 0x84ddd80 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next $15 = (struct thread *) 0x80fe380 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next $16 = (struct thread *) 0x9352b58 (gdb) p main_thread->next->next->next->next->next->next->next->next->next->next->next->next $17 = (struct thread *) 0x938faa8 > 1.552, 1.554, 1.557をback outするパッチです。これで変化はあるで > しょうか。 試してみます。 -- [田中 哲][たなか あきら][Tanaka Akira]