Bug #7801

Segfault with block called from continuation

Added by chrismcg (Chris McGrath) about 5 years ago. Updated about 5 years ago.

Third Party's Issue
Target version:
ruby -v:
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-darwin11.4.2]


I'm getting a crash on OSX with 1.9.3-p385. I've also had the same crash on all the releases since at least -p194. I've seen some similar crash reports but nothing quite the same. Unfortunately this only happens intermittently when running my rails test suite and I haven't been able to make a simple reproduction.

The code where the crash occurs is in a model that uses the state_machine gem, specifically an around_transition which uses continuations internally. It's calling a block so given the intermittent nature of the crash perhaps the block is being GC'd at some point?

Our code looks like:

around_transition do |item, block|
item.changing_state = true
item.changing_state = false

crash_output.txt (351 KB) crash_output.txt partial output from rake chrismcg (Chris McGrath), 02/08/2013 12:44 AM
ruby_2013-02-07-145034_luath.crash (25.2 KB) ruby_2013-02-07-145034_luath.crash osx crash report chrismcg (Chris McGrath), 02/08/2013 12:44 AM


#1 [ruby-core:52332] Updated by ko1 (Koichi Sasada) about 5 years ago

  • Category set to ext
  • Status changed from Open to Third Party's Issue

Simply, do not use continuation.

It is difficult to make an extension library with continuation.

Also available in: Atom PDF