Project

General

Profile

Actions

Backport #2739

closed

ruby 1.8.7 built with pthreads hangs under some circumstances

Added by jbebel (Joel Ebel) almost 15 years ago. Updated over 13 years ago.


Description

=begin
Ruby 1.8.7 built with pthreads is hanging for me. I can't produce a reproducible testcase, and the problem is intermittent for me as it is, but I have traced it back to a particular patch when it began. The hang happens on an exec, where the ruby process clones itself, and the clone hangs. If I build ruby without pthreads it works fine. Specifically this is happening on a run of puppet when it is loading facts.

Going back through versions of the 1.8.7 branch, it appears the problem began happening in patchlevel 183 (svn revision 24104)
If I try the 1.8 branch, problems begin happening with svn revision 23268 and become more like the current behavior with revision 23305, both of which were merged into 1.8.7 in patchlevel 183 (r 24104)

If I try newer versions of the 1.8 branch, I find that the syntax has changed, however, it's possible that the specific problem i'm experiencing is fixed in r 24400 and/or 24402 (24400 doesn't build for me, so I can't be sure which revision is responsible for the improved behavior.

I will continue trying to create a reproducible test case for this bug, but I hoped that narrowing down where the regression begins would be a helpful place to start.
=end


Files

0001-backport-ruby_1_8-26371.patch (4.08 KB) 0001-backport-ruby_1_8-26371.patch kosaki (Motohiro KOSAKI), 03/09/2010 02:28 AM
0002-for-linux.patch (2.19 KB) 0002-for-linux.patch kosaki (Motohiro KOSAKI), 03/09/2010 02:28 AM

Related issues 4 (0 open4 closed)

Related to Backport187 - Backport #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合Closedshyouhei (Shyouhei Urabe)01/14/2010Actions
Related to Backport187 - Bug #3100: Lockup in child after forkClosedActions
Related to Ruby 1.8 - Bug #3278: timeout-related hangs on Debian GNU/kFreeBSDClosedshyouhei (Shyouhei Urabe)05/12/2010Actions
Related to Ruby master - Bug #6341: SIGSEGV: Thread.new { fork { GC.start } }.joinThird Party's Issue04/22/2012Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0