From: Jim Meyering Date: 2012-02-01T17:22:50+09:00 Subject: [ruby-core:42305] [Backport87 - Backport #4339] Segmentation fault during Marshal.load Issue #4339 has been updated by Jim Meyering. Hello, I encountered this bug on RHEL-6's ruby-1.8.7.299 and with .352 and reported it against RHEL-6 via http://bugzilla.redhat.com/781561 Applying the patch, http://bugs.ruby-lang.org/attachments/2243/ruby-1.8.7-marshal.patch solved our problem nicely. Please consider it for upstream ruby 1.8.7. The reproducer, http://bugs.ruby-lang.org/attachments/1446/REPRO4.rb also triggers a segmentation fault with Fedora 16's ruby: $ ruby /t/REPRO4.rb /t/REPRO4.rb:35: [BUG] Segmentation fault ruby 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux] zsh: abort (core dumped) ruby /t/REPRO4.rb ---------------------------------------- Backport #4339: Segmentation fault during Marshal.load https://bugs.ruby-lang.org/issues/4339 Author: Sean Bradly Status: Feedback Priority: Normal Assignee: Shyouhei Urabe Category: core Target version: =begin Conditions that seem to have to be satisfied: 1) A call to Marshal.load must be interrupted by a context switch. 2) Another thread calls GC.start manually. 3) The object being marshaled needs to have a lot of child objects to be reliable. This appears to be a thread-safety issue affecting Ruby 1.8.x only. It triggers reliably for me on: Ubuntu -> ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux] Ubuntu-rvm -> ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-linux] MacRuby -> ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0] Mac-rvm -> ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.0] =end -- http://bugs.ruby-lang.org/