[MacRuby] #883: Abort occurs when calls Thread#kill, Using 32bit arch.

MacRuby ruby-noreply at macosforge.org
Tue Aug 31 19:43:58 PDT 2010


#883: Abort occurs when calls Thread#kill, Using 32bit arch.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------

Comment(by watson1978@…):

 It seem to do crash when rb_vm_thread_throw_kill() and rb_exit() are
 executed.

 {{{
 (gdb) r
 Starting program: /Users/watson/src/MacRuby/macruby -v -I./lib t.rb
 warning: posix_spawn failed, trying execvp, error: 86
 MacRuby 0.7 (ruby 1.9.2) [universal-darwin10.0, i386]

 Breakpoint 2, rb_exit (status=0) at process.c:2473
 2473        ruby_finalize();
 (gdb) c
 Continuing.
 [Switching to process 50554]

 Breakpoint 1, rb_vm_thread_throw_kill () at vm.cpp:4393
 4393        throw new RoxorThreadRaiseException();
 (gdb) bt
 #0  rb_vm_thread_throw_kill () at vm.cpp:4393
 #1  0x00138d64 in rb_vm_thread_destructor (userdata=0x207a9d0) at
 vm.cpp:4399
 #2  0x91895ddb in _pthread_exit ()
 #3  0x9188df4a in _pthread_testcancel ()
 #4  0x9188d8e7 in _pthread_cond_wait ()
 #5  0x9188d875 in pthread_cond_timedwait$UNIX2003 ()
 #6  0x00147c4f in rb_thread_wait_for (time={tv_sec = 1, tv_usec = 0}) at
 vm.cpp:4606
 #7  0x0008d7ae in rb_f_sleep (recv=33676048, sel=0x15b6c80, argc=1,
 argv=0xb0184c04) at process.c:2930
 #8  0x0012cd27 in ruby_dispatch [inlined] () at
 /Users/watson/src/MacRuby/dispatcher.cpp:435
 #9  0x0012cd27 in rb_vm_dispatch () at dispatcher.cpp:816
 #10 0x01700505 in ?? ()
 #11 0x017008e3 in ?? ()
 #12 0x00130d58 in __rb_vm_bcall [inlined] () at
 /Users/watson/src/MacRuby/dispatcher.cpp:98
 #13 0x00130d58 in vm_block_eval [inlined] () at
 /Users/watson/src/MacRuby/dispatcher.cpp:1162
 #14 0x00130d58 in rb_vm_block_eval (b=0x204f100, argc=0, argv=0x0) at
 dispatcher.cpp:1169
 #15 0x001477ba in rb_vm_thread_run (thread=34056656) at vm.cpp:4423
 #16 0x9188d81d in _pthread_start ()
 #17 0x9188d6a2 in thread_start ()
 Current language:  auto; currently c++
 (gdb) n
 terminate called after throwing an instance of
 'RoxorThreadRaiseException*'

 Program received signal SIGABRT, Aborted.
 [Switching to process 50554]
 0x91860142 in semaphore_wait_signal_trap ()
 }}}

 {{{
 (gdb) r
 Starting program: /Users/watson/src/MacRuby/macruby -v -I./lib t.rb
 warning: posix_spawn failed, trying execvp, error: 86
 MacRuby 0.7 (ruby 1.9.2) [universal-darwin10.0, i386]
 [Switching to process 50611]

 Breakpoint 2, rb_vm_thread_throw_kill () at vm.cpp:4393
 4393        throw new RoxorThreadRaiseException();
 (gdb) c
 Continuing.
 Current language:  auto; currently c++
 [Switching to process 50611]

 Breakpoint 1, rb_exit (status=0) at process.c:2473
 2473        ruby_finalize();
 (gdb) bt
 #0  rb_exit (status=0) at process.c:2473
 #1  0x00001b52 in main (argc=4, argv=0x15060f0, envp=0xbfffe980) at
 main.cpp:40
 Current language:  auto; currently c
 (gdb) c
 Continuing.
 terminate called after throwing an instance of
 'RoxorThreadRaiseException*'

 Program received signal SIGABRT, Aborted.
 0x91865aa4 in pthread_mutex_lock ()
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/883#comment:1>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list