[MacRuby-devel] [MacRuby] #794: `pthread_mutex_unlock(&t->sleep_mutex)' failed: Invalid argument (22)

MacRuby ruby-noreply at macosforge.org
Thu Jul 15 20:03:53 PDT 2010


#794: `pthread_mutex_unlock(&t->sleep_mutex)' failed: Invalid argument (22)
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------

Comment(by watson1978@…):

 The stack trace was as follows:
 {{{
 $ DYLD_LIBRARY_PATH=. gdb --args ./macruby -I./lib test_require.rb
 GNU gdb 6.3.50-20050815 (Apple version gdb-1461.2) (Fri Mar  5 04:43:10
 UTC 2010)
 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 "x86_64-apple-darwin"...Reading symbols for
 shared libraries ..... done

 (gdb) r
 Starting program: /Users/watson/src/MacRuby/macruby -I./lib
 test_require.rb
 Reading symbols for shared libraries .++++.......................... done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Loaded suite test_require
 Started
 Reading symbols for shared libraries . done
 pthread command `pthread_mutex_unlock(&t->sleep_mutex)' failed: Invalid
 argument (22)

 Program received signal SIGABRT, Aborted.
 0x00007fff815783d6 in __kill ()
 (gdb) thread apply all bt

 Thread 2 (process 49329):
 #0  0x00007fff8154308a in kevent ()
 #1  0x00007fff81544f5d in _dispatch_mgr_invoke ()
 #2  0x00007fff81544c34 in _dispatch_queue_invoke ()
 #3  0x00007fff8154475e in _dispatch_worker_thread2 ()
 #4  0x00007fff81544088 in _pthread_wqthread ()
 #5  0x00007fff81543f25 in start_wqthread ()

 Thread 1 (process 49329):
 #0  0x00007fff815783d6 in __kill ()
 #1  0x00007fff81618972 in abort ()
 #2  0x0000000100147594 in rb_vm_thread_cancel (t=0x2002a02e0) at
 vm.cpp:4598
 #3  0x00000001000ea3fe in rb_thread_kill (thread=8592527328, sel=0x6) at
 thread.c:332
 #4  0x00000001001402d6 in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x1017222c0, top=8592524704, self=8592527328, klass=0x2000aef20,
 sel=0x103637f80, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #5  0x0000000104400a20 in ?? ()
 #6  0x0000000104439e36 in ?? ()
 #7  0x000000010014020b in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101742540, top=8592715200, self=8592524704, klass=0x200278560,
 sel=0x1052dfdb0, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf7a50) at
 dispatcher.cpp:170
 #8  0x0000000104400a20 in ?? ()
 #9  0x0000000104441ddb in ?? ()
 #10 0x00000001001401cd in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x10171b0c0, top=8592715200, self=8592715200, klass=0x2002a62a0,
 sel=0x10406bc50, block=0x0, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf7c10) at
 dispatcher.cpp:173
 #11 0x0000000104400a20 in ?? ()
 #12 0x0000000104441926 in ?? ()
 #13 0x00000001001402d6 in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x1017324c0, top=0, self=8592715200, klass=0x2002a62a0,
 sel=0x10408cb90, block=0x0, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf9f88) at
 dispatcher.cpp:159
 #14 0x00000001000ff340 in rb_f_send (recv=8592715200, sel=<value
 temporarily unavailable, due to optimizations>, argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbf9f80) at vm.h:594
 #15 0x0000000100140379 in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101733fc0, top=8592715200, self=8592715200, klass=0x2002a62a0,
 sel=0x10155d400, block=0x0, opt=0 '\0', argc=1, argv=0x7fff5fbf9f80) at
 dispatcher.cpp:435
 #16 0x0000000104400a20 in ?? ()
 #17 0x0000000104440825 in ?? ()
 #18 0x00000001001402bb in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101743050, top=8592653344, self=8592715200, klass=0x2002a62a0,
 sel=0x1010d1103, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbfad10) at
 dispatcher.cpp:161
 #19 0x0000000104400a20 in ?? ()
 #20 0x000000010443ff37 in ?? ()
 #21 0x0000000100142e87 in rb_vm_yield_args (_vm=0x10151e4f0, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x2002a62a0) at
 dispatcher.cpp:100
 #22 0x00000001000fd028 in rb_yield (val=8592430496) at vm_eval.c:196
 #23 0x0000000100014ecd in rary_each (ary=8592742528, sel=<value
 temporarily unavailable, due to optimizations>) at array.c:1064
 #24 0x00000001001402d6 in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101747ac0, top=8592653344, self=8592742528, klass=0x20006d8a0,
 sel=0x1015415f0, block=0x2002ab520, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #25 0x0000000104400a20 in ?? ()
 #26 0x000000010443f42f in ?? ()
 #27 0x0000000100142e87 in rb_vm_yield_args (_vm=0x10151e4f0, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x20006d8a0) at
 dispatcher.cpp:100
 #28 0x00000001000fd028 in rb_yield (val=8592712352) at vm_eval.c:196
 #29 0x0000000100014ecd in rary_each (ary=8592736672, sel=<value
 temporarily unavailable, due to optimizations>) at array.c:1064
 #30 0x00000001001402d6 in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101747ac0, top=8592653344, self=8592736672, klass=0x20006d8a0,
 sel=0x1015415f0, block=0x2002ad600, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x0) at dispatcher.cpp:159
 #31 0x0000000104400a20 in ?? ()
 #32 0x000000010443ec17 in ?? ()
 #33 0x00000001001402bb in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101731b00, top=8592653344, self=8592653344, klass=0x200241680,
 sel=0x10461a540, block=0x0, opt=2 '\002', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbfdec8) at
 dispatcher.cpp:161
 #34 0x0000000104400a20 in ?? ()
 #35 0x000000010443ca45 in ?? ()
 #36 0x00000001001402bb in rb_vm_dispatch (_vm=0x10151e4f0,
 cache=0x101726790, top=8592299648, self=8592653344, klass=0x200241680,
 sel=0x1010d1103, block=0x0, opt=0 '\0', argc=<value temporarily
 unavailable, due to optimizations>, argv=0x7fff5fbfec30) at
 dispatcher.cpp:161
 #37 0x0000000104400a20 in ?? ()
 #38 0x000000010441a941 in ?? ()
 #39 0x0000000100141c79 in rb_vm_block_eval (b=0x10151e4f0, argc=<value
 temporarily unavailable, due to optimizations>, argv=0x1) at
 dispatcher.cpp:98
 #40 0x0000000100150c1a in rb_rescue2 (b_proc=<value temporarily
 unavailable, due to optimizations>, data1=<value temporarily unavailable,
 due to optimizations>, r_proc=0x10003f7c0 <rb_end_proc_call_catch>,
 data2=0) at vm.cpp:3363
 #41 0x000000010003fd90 in rb_exec_end_proc [inlined] () at
 /Users/watson/src/MacRuby/eval_jump.c:483
 #42 ruby_finalize_0 [inlined] () at /Users/watson/src/MacRuby/eval.c:83
 #43 0x000000010003fd90 in ruby_finalize () at eval_jump.c:97
 #44 0x000000010009fc40 in rb_exit (status=0) at process.c:2473
 #45 0x0000000100000d2f in main (argc=3, argv=0x10151de60, envp=<value
 temporarily unavailable, due to optimizations>) at main.cpp:40

 (gdb) quit
 The program is running.  Exit anyway? (y or n) y
 }}}

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



More information about the MacRuby-devel mailing list