Bug #8100

Segfault in trunk

Added by judofyr (Magnus Holm) over 7 years ago. Updated about 7 years ago.

Target version:
ruby -v:
ruby 2.1.0dev (2013-03-18 trunk 39805) [x86_64-linux]


Full backtrace (both VM, C and Ruby) is both attached and available at

I haven't been able to reproduce it (and thus I can't create a reduced test case).

This is the test that fails:

The code in question will do these steps in several threads at the same time:

The method is doing some funky class << self to ensure that it gets evaluated under a proper constant scope). It's also caching the methods, so it won't always define a new method, but might re-use another UnboundMethod from a previous compilation (that might have happened on a different thread).

I know it's not much to go after, but at least the backtrace seems to suggest that the error happend in rb_ary_fill in array.c.

I've also had another report of segfault in Tilt + Ruby 2.0.0, but I don't have the full backtrace yet: Might this be related?

Let me know if you need more details.


seglog.txt (104 KB) seglog.txt judofyr (Magnus Holm), 03/15/2013 08:58 PM
segfault_spec.tar.gz (3.01 KB) segfault_spec.tar.gz zzak (Zachary Scott), 03/18/2013 10:51 AM
seg.txt (63.4 KB) seg.txt DAddYE (Davide D'Agostino), 03/18/2013 04:14 PM
fail.rb (604 Bytes) fail.rb Reduced script judofyr (Magnus Holm), 03/22/2013 06:38 PM

Related issues

Related to Backport193 - Backport #8163: Backport r39919Rejectedusa (Usaku NAKAMURA)Actions
Has duplicate Ruby master - Bug #8336: Segfault in :=~Closed04/27/2013Actions
Has duplicate Ruby master - Bug #8353: segfault with puma-1.6.3Closed05/02/2013Actions
Has duplicate Ruby master - Bug #8056: Random segmentation faults in TempfileClosed03/09/2013Actions

Also available in: Atom PDF