From: "Eregon (Benoit Daloze)" Date: 2012-11-04T07:56:21+09:00 Subject: [ruby-core:48826] [ruby-trunk - Bug #6825][Assigned] forking and pthread_cond_timedwait: Invalid argument (EINVAL) on OS X / 1.9.3-p194 Issue #6825 has been updated by Eregon (Benoit Daloze). Status changed from Closed to Assigned Assignee changed from mrkn (Kenta Murata) to Eregon (Benoit Daloze) This is also true with latest trunk (r37462). I'm assigning to myself. bug6825.rb:31: [BUG] pthread_cond_timedwait: Invalid argument (EINVAL) ruby 2.0.0dev (2012-11-04 trunk 37462) [x86_64-darwin10.8.0] -- Control frame information ----------------------------------------------- c:0005 p:---- s:0013 e:000012 CFUNC :sleep c:0004 p:0007 s:0009 e:000008 BLOCK bug6825.rb:31 [FINISH] c:0003 p:---- s:0007 e:000006 CFUNC :loop c:0002 p:0005 s:0004 e:000003 BLOCK bug6825.rb:31 [FINISH] c:0001 p:---- s:0002 e:000001 TOP [FINISH] bug6825.rb:31:in `block (2 levels) in initialize' bug6825.rb:31:in `loop' bug6825.rb:31:in `block (3 levels) in initialize' bug6825.rb:31:in `sleep' ---------------------------------------- Bug #6825: forking and pthread_cond_timedwait: Invalid argument (EINVAL) on OS X / 1.9.3-p194 https://bugs.ruby-lang.org/issues/6825#change-32315 Author: xentronium (Mark A) Status: Assigned Priority: Normal Assignee: Eregon (Benoit Daloze) Category: Target version: ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0] https://gist.github.com/47e48301aea114e7b1d3 here is the gist with required setup to reproduce bug. Also crash log and stdout. It seems that forking is essential for this setup to crash. Also, if you use database connection in some way prior to forking, it might not crash (however, with more complex code it still does). ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0] OS X 10.6.8 hostinfo output: Mach kernel version: Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 Kernel configured for up to 4 processors. 2 processors are physically available. 4 processors are logically available. Processor type: i486 (Intel 80486) Processors active: 0 1 2 3 Primary memory available: 8.00 gigabytes Default processor set: 88 tasks, 627 threads, 4 processors Load average: 0.55, Mach factor: 3.43 compiled with gcc version: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) -- http://bugs.ruby-lang.org/