Project

General

Profile

Backport #5661

Segfault in Random.rand with Spork gem

Added by Odaeus (Andrew France) over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:41209]

Description

When running my Rails 3.1 RSpec suite with the Spork gem I get a Segmentation Fault caused by the Random.rand method.

The full debug output is attached. Sorry I have not been able to isolate the code to a minimum test case. Suggestions on reproducing with less code would be welcome.

The offending code is in a Factory Girl factory definition:

trait :with_messages do
after_create do |mt|
user = FactoryGirl.create(:user) # To prevent creating 1 user per message
FactoryGirl.create_list(:message, 1 + Random.rand(4), thread: mt, created_by: user)
end
end

Spork is loaded with: bundle exec spork rspec
The fault occurs when the test run is executed with: bundle exec rspec spec
It works fine when not running in the Spork process.


Files

rspec.saved (263 KB) rspec.saved Segfault output Odaeus (Andrew France), 11/23/2011 03:32 AM
0001-random.c-random_s_rand-avoid-segfault-after-fork-rub.patch (1.89 KB) 0001-random.c-random_s_rand-avoid-segfault-after-fork-rub.patch normalperson (Eric Wong), 11/23/2011 05:45 AM

Related issues

Has duplicate Backport193 - Backport #7159: SIGSEGV when calling Random#rand after forkingClosedusa (Usaku NAKAMURA)10/15/2012Actions

Also available in: Atom PDF