[#24105] [Bug #1711] Marshal Failing to Round-Trip Certain Recurisve Data Structures — Run Paint Run Run <redmine@...>

Bug #1711: Marshal Failing to Round-Trip Certain Recurisve Data Structures

9 messages 2009/07/01

[#24116] [Bug #1715] Numeric#arg for NaN is Inconsistent Across Versions — Run Paint Run Run <redmine@...>

Bug #1715: Numeric#arg for NaN is Inconsistent Across Versions

10 messages 2009/07/02

[#24240] [Bug #1755] IO#reopen Doesn't Fully Associate with Given Stream on 1.9; Ignores pos on 1.8 — Run Paint Run Run <redmine@...>

Bug #1755: IO#reopen Doesn't Fully Associate with Given Stream on 1.9; Ignores pos on 1.8

8 messages 2009/07/09

[#24321] [Bug #1773] Gem path doesn't honor user gem? — Lin Jen-Shin <redmine@...>

Bug #1773: Gem path doesn't honor user gem?

12 messages 2009/07/14

[#24390] [Feature #1784] More encoding (Big5 series) support? — Lin Jen-Shin <redmine@...>

Feature #1784: More encoding (Big5 series) support?

12 messages 2009/07/16

[#24467] Re: [ruby-cvs:31226] Ruby:r24008 (ruby_1_8_6): Removed private on to_date and to_datetime. — Urabe Shyouhei <shyouhei@...>

Hello.

10 messages 2009/07/21

[#24472] [Feature #1800] rubygems can replace system executable files — Kazuhiro NISHIYAMA <redmine@...>

Feature #1800: rubygems can replace system executable files

13 messages 2009/07/21

[#24530] [Feature #1811] Default BasicSocket.do_not_reverse_lookup to true — Roger Pack <redmine@...>

Feature #1811: Default BasicSocket.do_not_reverse_lookup to true

9 messages 2009/07/23

[#24624] [Bug #1844] Immediates Should Not Respond to :dup — Run Paint Run Run <redmine@...>

Bug #1844: Immediates Should Not Respond to :dup

15 messages 2009/07/30

[ruby-core:24492] Re: [Bug #1525] Deadlock in Ruby 1.9's VM caused by ConditionVariable.wait and fork?

From: Lee Hinman <matthew.hinman@...>
Date: 2009-07-22 05:14:49 UTC
List: ruby-core #24492
On Jul 21, 2009, at 9:06 PM, Vanja Bucic wrote:
> Issue #1525 has been updated by Vanja Bucic.
>
>
> Just to chime in on this issue.
>
> It is affecting our company as well. We run our software on apple  
> machines in a server environment.
> Our application is a multithreaded daemon process that is accessing  
> mysql database pretty often. Some of these threads fork off a task  
> that may take some time to complete. It has worked well prior to  
> ruby 1.9.  Since then we have tried to find a workaround but to no  
> avail. Any attempts to use fork in our application will result in  
> deadlocks 8/10 times.
> It deadlocks in weirdest places, like 'puts'  or mysql.query (which  
> we know is setting global lock internally, but should be thread safe).
>
> Any ideas and attempts to resolve this ASAP are welcome.

I ran into this issue a while back trying to fix the forkoff library  
for Ruby 1.9.1. I too would like to know what's causing it, I was  
wondering if the error man pertain to this (from the fork man page):

"A process shall be created with a single thread. If a multi-threaded  
process calls fork(), the new process shall contain a replica of the  
calling thread and its entire address space, possibly including the  
states of mutexes and other resources. Consequently, to avoid errors,  
the child process may only execute async-signal-safe operations until  
such time as one of the exec functions is called. Fork handlers may be  
established by means of the pthread_atfork() function in order to  
maintain application invariants across fork() calls."

Hopefully someone more familiar with Ruby internals may know what's  
causing it. Anyone?

- Lee

In This Thread