Backport #2399
Updated by jeremyevans0 (Jeremy Evans) over 4 years ago
=begin While working with some code that is forking two children and then registering signal handlers in the child processes, the following error crops up from time to time. The children are trapping on SIGHUP and then sending a message to the parent process (using a unix socket pair) that will restart the child. [BUG] pthread_mutex_lock: 22 ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-darwin10.2.0] -- control frame ---------- --------------------------- -- Ruby level backtrace information----------------------------------------- -- C level backtrace information ------------------------------------------- 0x1001085ed 0 ruby 0x00000001001085ed rb_vm_bugreport + 77 0x100027ce4 1 ruby 0x0000000100027ce4 report_bug + 260 0x100027e78 2 ruby 0x0000000100027e78 rb_bug + 200 0x100108f0f 3 ruby 0x0000000100108f0f native_mutex_lock + 31 0x10010c3be 4 ruby 0x000000010010c3be set_unblock_function + 78 0x10010e2cd 5 ruby 0x000000010010e2cd rb_thread_blocking_region + 93 0x1000404ac 6 ruby 0x00000001000404ac rb_write_internal + 44 0x1000472ff 7 ruby 0x00000001000472ff io_binwrite + 383 0x1000476e0 8 ruby 0x00000001000476e0 io_write + 528 0x100102521 9 ruby 0x0000000100102521 vm_call0 + 833 0x10010296f 10 ruby 0x000000010010296f rb_funcall + 527 0x100042192 11 ruby 0x0000000100042192 rb_io_puts + 114 0x1000f8b51 12 ruby 0x00000001000f8b51 vm_call_cfunc + 337 0x1000fa400 13 ruby 0x00000001000fa400 vm_call_method + 896 0x1000fb33c 14 ruby 0x00000001000fb33c vm_exec_core + 3164 0x10010054e 15 ruby 0x000000010010054e vm_exec + 1102 0x100101f93 16 ruby 0x0000000100101f93 rb_vm_invoke_proc + 691 0x10010cfe3 17 ruby 0x000000010010cfe3 thread_start_func_2 + 835 0x10010d101 18 ruby 0x000000010010d101 thread_start_func_1 + 17 0x7fff84bc6f8e 19 libSystem.B.dylib 0x00007fff84bc6f8e _pthread_start + 331 0x7fff84bc6e41 20 libSystem.B.dylib 0x00007fff84bc6e41 thread_start + 13 [NOTE] You may encounter a bug of Ruby interpreter. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html =end