On Jul 22, 2011, at 2:41 PM, Eric Wong wrote:
> Hiroshi Nakamura <nakahiro / gmail.com> wrote:
>> Can someone enlighten me to find the bug?
> 
> I started looking into this, too, but haven't found the exact
> cause/solution, either.
> 
> It does not seem to be in the tinytds nor bcrypt C extensions,
> I put in early returns for each extensions' Init_* functions
> to avoid hitting C code outside of Ruby trunk.
> 
> It seems to be related to how the parser/loader sets up (or fails to set
> up) objects for GC.  Some backtraces I get are very deep inside gc_mark*
> functions (500-700+ C stack frames).
> 
> I cannot reproduce this with GC.disable or a huge malloc limit
> (RUBY_GC_MALLOC_LIMIT=800000000).

Does GC.stress help?