Bug #10871
closedSclass thread unsafe due to CREF sharing
Description
When entering an sclass, the context is tracked via the same cref mechanism used for class and module, specifically on the iseq->cref_stack. The bug is that the cref_stack is the wrong place to put the new cref because the scope is specific only to that sclass body. Mutating and using the iseq->cref_stack causes any code that reads the cref via this cref_stack to incorrectly pick up the sclass instance instead of the proper scope!
This is major thread safety bug because it means that all uses of class << obj
are thread-unsafe and can cause random code to fail.
Here is a simple reproduction of the bug: https://gist.github.com/evanphx/6eef92f2c40662a4171b
I attempted to fix the bug by treating an sclass body the same as an eval, which already has special handling for cref's but I don't understand the code enough to make that change quickly.
I believe this is a major bug and hope that ruby-core can address it soon.
Thank you!
Updated by tenderlovemaking (Aaron Patterson) over 9 years ago
I tried to fix this, but I can't figure it out. :(
I tried adding the singleton class to the stack frame. Since the stack frames are thread local, I thought that would at least fix the problem, but it didn't.
Here is the patch I tried:
https://gist.github.com/tenderlove/a8e30c1f764040de7536
I verified that putspecialobject 2
would put the right class on the stack, and I verified that m_core_define_method
got the right class, but still your test failed. I don't understand what I'm doing wrong. :(
Updated by ko1 (Koichi Sasada) over 9 years ago
Deterministic example (avoiding non-deterministic).
class C
end
class D
end
$fibs = []
$xs = []
[C, D].each{|klass|
klass.class_eval{
$fibs << Fiber.new{
class << self
class X
$xs << self
CONST = $i
def self.i
CONST
end
def i
CONST
end
end
end
}
}
}
2.times{|i|
$i = i
$fibs[i].resume
}
$xs.each{|x|
p [x::CONST, x.i, x.new.i]
}
To solve this issue, I will duplicate iseq (CREF holder) for sclass. I need to check other cases.
Updated by clay@dabohealth.com (clay shentrup) over 9 years ago
Can anyone update us on the status of this bug? Thanks.
Updated by ko1 (Koichi Sasada) over 9 years ago
I fixed this bug for 2.3 [Bug #10943] and ask to discuss for previous versions. But no discussions....
I will make workaround patch ONLY for this issue. That patch does not solve all of issue, but can solve this issue (this sample code).
Updated by evanphx (Evan Phoenix) over 9 years ago
Koichi, I think a workaround patch to be applied to 2.2 and 2.1 would be very useful.
Updated by glittershark (Griffin Smith) over 9 years ago
I also would very much like a backport of this, as it effectively makes certain bits of "idiomatic" ruby inherently (and very unexpectedly) completely thread-unsafe - see https://github.com/puma/puma/issues/647
Updated by mattbrictson (Matt Brictson) over 9 years ago
I recently opened bug #11153 which may be related. When using threads, methods defined inside class << obj
sometimes fail to work. Feel free to close mine as a duplicate if it is the same underlying cause. In any case I would also appreciate a backport. :)
Updated by ko1 (Koichi Sasada) over 9 years ago
- Assignee set to ko1 (Koichi Sasada)
Updated by ko1 (Koichi Sasada) over 9 years ago
This is an ad-hoc fix only for this issue.
Not complete fix. I wrote explanation about it in ChangeLog entry.
Index: insns.def
===================================================================
--- insns.def (revision 50914)
+++ insns.def (working copy)
@@ -914,6 +914,7 @@
(VALUE val)
{
VALUE klass;
+ VALUE class_iseq_val = class_iseq->self;
rb_vm_defineclass_type_t type = VM_DEFINECLASS_TYPE(flags);
switch (type) {
@@ -963,7 +964,17 @@
case VM_DEFINECLASS_TYPE_SINGLETON_CLASS:
/* val is dummy. classdef returns class scope value */
/* super is dummy */
- klass = rb_singleton_class(cbase);
+ {
+ klass = rb_singleton_class(cbase);
+
+ /* Copy iseq to duplicate cref_stack place.
+ * This is ad-hoc solution for [Bug #10871].
+ * and this does not solve more complicated source code with singleton class.
+ * If you need to solve everything, use Ruby 2.3 and later.
+ */
+ class_iseq_val = rb_iseq_clone(class_iseq->self, cbase);
+ GetISeqPtr(class_iseq_val, class_iseq);
+ }
break;
case VM_DEFINECLASS_TYPE_MODULE:
/* val is dummy. classdef returns class scope value */
@@ -998,6 +1009,9 @@
klass, 0, VM_ENVVAL_BLOCK_PTR(GET_BLOCK_PTR()),
class_iseq->iseq_encoded, GET_SP(),
class_iseq->local_size, 0, class_iseq->stack_max);
+
+ RB_GC_GUARD(class_iseq_val);
+
RESTORE_REGS();
NEXT_INSN();
}
ChangeLog
Tue Jun 16 18:17:31 2015 Koichi Sasada <ko1@atdot.net>
* insns.def (defineclass): introduce an ad-hoc patch to avoid
an issue reported on [Bug #10871].
This patch does not fix completely. For example, method definition
in a block (like 1.times{def ...; end}) still causes same issue.
To solve all, we need a huge patch and it seems difficult for
stable branch.
Use Ruby 2.3 and later to solve this issue completely.
(See [Bug #10943])
Updated by nagachika (Tomoyuki Chikanaga) over 9 years ago
Hi, ko1 san.
I applied the ko1's patch on ruby_2_2 branch and make test-rubyspec fails with Segmentation fault.
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/fixtures/classes.rb:265: [BUG] Segmentation fault at 0x00000000000000
ruby 2.2.3p137 (2015-06-18 revision 50923) [x86_64-darwin14]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
for more details.
-- Control frame information -----------------------------------------------
c:0031 p:0009 s:0105 e:000104 LAMBDA /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/fixtures/classes.rb:265 [FINISH]
c:0030 p:0009 s:0103 e:000102 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/block_given_spec.rb:15 [FINISH]
c:0029 p:---- s:0101 e:000100 CFUNC :instance_eval
c:0028 p:0013 s:0098 e:000097 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:69
c:0027 p:0017 s:0092 e:000091 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:179 [FINISH]
c:0026 p:---- s:0089 e:000088 IFUNC
c:0025 p:---- s:0087 e:000086 CFUNC :each
c:0024 p:---- s:0085 e:000084 CFUNC :all?
c:0023 p:0041 s:0082 e:000081 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:179
c:0022 p:0073 s:0076 e:000075 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:215
c:0021 p:0006 s:0072 e:000071 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:239 [FINISH]
c:0020 p:---- s:0070 e:000069 CFUNC :times
c:0019 p:0014 s:0067 e:000066 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:238
c:0018 p:0013 s:0064 e:000063 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:207 [FINISH]
c:0017 p:---- s:0061 e:000060 CFUNC :each
c:0016 p:0091 s:0058 e:000057 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:206
c:0015 p:0075 s:0055 e:000054 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:38
c:0014 p:0025 s:0048 e:000047 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/object.rb:11
c:0013 p:0063 s:0041 E:001e50 TOP /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/block_given_spec.rb:31 [FINISH]
c:0012 p:---- s:0039 e:000038 CFUNC :load
c:0011 p:0015 s:0035 e:000034 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:57 [FINISH]
c:0010 p:---- s:0033 e:000032 CFUNC :instance_eval
c:0009 p:0013 s:0030 e:000029 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:69
c:0008 p:0061 s:0024 E:000c98 BLOCK /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:57 [FINISH]
c:0007 p:---- s:0021 e:000020 CFUNC :each
c:0006 p:0039 s:0018 E:001c08 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:51
c:0005 p:0015 s:0014 e:000013 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:43
c:0004 p:0047 s:0011 e:000010 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/commands/mspec-run.rb:92
c:0003 p:0069 s:0008 e:000007 METHOD /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/utils/script.rb:217
c:0002 p:0047 s:0004 E:001da0 EVAL /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/bin/mspec-run:8 [FINISH]
c:0001 p:0000 s:0002 E:001f60 TOP [FINISH]
-- Ruby level backtrace information ----------------------------------------
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/bin/mspec-run:8:in `<main>'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/utils/script.rb:217:in `main'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/commands/mspec-run.rb:92:in `run'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:43:in `process'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:51:in `files'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:51:in `each'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:57:in `block in files'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:69:in `protect'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:69:in `instance_eval'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:57:in `block (2 levels) in files'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:57:in `load'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/block_given_spec.rb:31:in `<top (required)>'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/object.rb:11:in `describe'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:38:in `describe'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:206:in `process'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:206:in `each'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:207:in `block in process'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:238:in `repeat'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:238:in `times'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:239:in `block in repeat'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:215:in `block (2 levels) in process'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:179:in `protect'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:179:in `all?'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:179:in `each'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb:179:in `block in protect'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:69:in `protect'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb:69:in `instance_eval'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/block_given_spec.rb:15:in `block (2 levels) in <top (required)>'
/Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/fixtures/classes.rb:265:in `block in singleton class'
-- Machine register context ------------------------------------------------
rax: 0x0000000000000000 rbx: 0x0000000000000dbb rcx: 0x0000000000000001
rdx: 0x0000000000000000 rdi: 0x0000000000000000 rsi: 0x0000000000000dbb
rbp: 0x00007fff516eccd0 rsp: 0x00007fff516ecc70 r8: 0x0000000000000000
r9: 0x000000010e850338 r10: 0x000000010e94f6a0 r11: 0x00007fee70c09410
r12: 0x0000000000000000 r13: 0x0000000000000dbb r14: 0x0000000000000000
r15: 0x0000000000000000 rip: 0x000000010e67361b rfl: 0x0000000000010246
-- C level backtrace information -------------------------------------------
0 ruby 0x000000010e6af815 rb_vm_bugreport + 149
1 ruby 0x000000010e550e69 rb_bug_context + 473
2 ruby 0x000000010e629933 sigsegv + 83
3 libsystem_platform.dylib 0x00007fff8678df1a _sigtramp + 26
4 ruby 0x000000010e67361b rb_const_get_0 + 235
5 ??? 0x0000000000000007 0x0 + 7
-- Other runtime information -----------------------------------------------
* Loaded script: /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/bin/mspec-run
* Loaded features:
0 enumerator.so
1 rational.so
2 complex.so
3 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/encdb.bundle
4 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/transdb.bundle
5 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/unicode_normalize.rb
6 /Users/nagachika/opt/ruby-2.2/src/build/rbconfig.rb
7 thread.rb
8 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/thread.bundle
9 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/compatibility.rb
10 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/defaults.rb
11 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/deprecate.rb
12 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/errors.rb
13 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/version.rb
14 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/requirement.rb
15 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/platform.rb
16 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/basic_specification.rb
17 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/stub_specification.rb
18 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/util/stringio.rb
19 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/specification.rb
20 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/exceptions.rb
21 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/core_ext/kernel_gem.rb
22 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/monitor.rb
23 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/core_ext/kernel_require.rb
24 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems.rb
25 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/utils/version.rb
26 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/version.rb
27 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/utils/options.rb
28 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/context.rb
29 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/exception.rb
30 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/tag.rb
31 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/etc.bundle
32 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/fileutils.rb
33 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/mspec.rb
34 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions/tally.rb
35 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/guard.rb
36 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/expectations/expectations.rb
37 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions/timer.rb
38 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/dotted.rb
39 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/utils/script.rb
40 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/commands/mspec-run.rb
41 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/base.rb
42 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_an_instance_of.rb
43 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_ancestor_of.rb
44 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_close.rb
45 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_computed_by.rb
46 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_computed_by_function.rb
47 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_empty.rb
48 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_false.rb
49 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_kind_of.rb
50 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_nan.rb
51 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_nil.rb
52 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_true.rb
53 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/be_valid_dns_name.rb
54 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/feature.rb
55 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/io.rb
56 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/complain.rb
57 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/eql.rb
58 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/equal.rb
59 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/equal_element.rb
60 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/encode.rb
61 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/equal_utf16.rb
62 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/stringsymboladapter.rb
63 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/variable.rb
64 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_constant.rb
65 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_class_variable.rb
66 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_data.rb
67 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/method.rb
68 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_instance_method.rb
69 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_instance_variable.rb
70 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_method.rb
71 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_private_instance_method.rb
72 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_private_method.rb
73 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_protected_instance_method.rb
74 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_public_instance_method.rb
75 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/have_singleton_method.rb
76 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/include.rb
77 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/infinity.rb
78 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/match_yaml.rb
79 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/raise_error.rb
80 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/raise_exception.rb
81 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/output.rb
82 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/tmp.rb
83 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/output_to_fd.rb
84 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/respond_to.rb
85 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers/signed_zero.rb
86 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/matchers.rb
87 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/expectations/should.rb
88 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/expectations.rb
89 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/singleton_class.rb
90 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/mocks/mock.rb
91 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/mocks/proxy.rb
92 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/mocks/object.rb
93 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/mocks.rb
94 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/evaluate.rb
95 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/example.rb
96 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/object.rb
97 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/describe.rb
98 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/file.rb
99 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/specdoc.rb
100 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/html.rb
101 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/summary.rb
102 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/unit.rb
103 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/spinner.rb
104 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/method.rb
105 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/yaml.rb
106 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/profile.rb
107 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/utils/ruby_name.rb
108 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters/junit.rb
109 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/formatters.rb
110 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/filters/match.rb
111 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions/filter.rb
112 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions/tag.rb
113 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions/taglist.rb
114 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions/tagpurge.rb
115 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/actions.rb
116 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/filters/regexp.rb
117 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/filters/tag.rb
118 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/filters/profile.rb
119 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/filters.rb
120 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner/shared.rb
121 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/runner.rb
122 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/background.rb
123 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/block_device.rb
124 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/version.rb
125 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/bug.rb
126 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/compliance.rb
127 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/conflict.rb
128 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/endian.rb
129 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/extensions.rb
130 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/noncompliance.rb
131 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/platform.rb
132 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/quarantine.rb
133 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/runner.rb
134 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/specified.rb
135 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/support.rb
136 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/superuser.rb
137 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/tty.rb
138 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards/user.rb
139 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/guards.rb
140 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/argv.rb
141 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/const_lookup.rb
142 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/datetime.rb
143 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/ducktype.rb
144 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/enumerator_class.rb
145 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/environment.rb
146 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/fixture.rb
147 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/flunk.rb
148 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/fs.rb
149 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/hash.rb
150 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/mock_to_path.rb
151 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/numeric.rb
152 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/pack.rb
153 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/ruby_exe.rb
154 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/scratch.rb
155 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers/stasy.rb
156 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec/helpers.rb
157 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/prettyprint.rb
158 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/pp.rb
159 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/mspec/lib/mspec.rb
160 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/spec_helper.rb
161 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/array.rb
162 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/block.rb
163 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/break.rb
164 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/class.rb
165 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/class_variables.rb
166 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/constants.rb
167 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/constants_sclass.rb
168 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/constant_visibility.rb
169 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/def.rb
170 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/defined.rb
171 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/coding_us_ascii.rb
172 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/coding_utf_8.rb
173 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/ensure.rb
174 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/code_loading.rb
175 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/shared/__FILE__.rb
176 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/classes.rb
177 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/shared/__LINE__.rb
178 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/match_operators.rb
179 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/metaclass.rb
180 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/module.rb
181 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/next.rb
182 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/precedence.rb
183 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/stringio.bundle
184 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/euc_jp.bundle
185 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_1.bundle
186 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_16.bundle
187 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/private.rb
188 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/windows_31j.bundle
189 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/return.rb
190 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/send.rb
191 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/super.rb
192 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/variables.rb
193 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/language/fixtures/yield.rb
194 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/each_byte.rb
195 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/each_char.rb
196 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/each_codepoint.rb
197 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/each_line.rb
198 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/eof.rb
199 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/filename.rb
200 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/fileno.rb
201 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/getc.rb
202 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/gets.rb
203 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/pos.rb
204 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/argf/shared/readlines.rb
205 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/japanese_euc.bundle
206 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/fixtures/classes.rb
207 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/clone.rb
208 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/collect.rb
209 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/enumeratorize.rb
210 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/slice.rb
211 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/eql.rb
212 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/index.rb
213 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/fixtures/encoded_strings.rb
214 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/inspect.rb
215 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/utf_32be.bundle
216 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/utf_16be.bundle
217 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/utf_16_32.bundle
218 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/join.rb
219 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/keep_if.rb
220 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/length.rb
221 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/basic.rb
222 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/string.rb
223 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/encodings.rb
224 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/numeric_basic.rb
225 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/float.rb
226 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/integer.rb
227 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/pack/shared/unicode.rb
228 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/array/shared/replace.rb
229 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/kernel/object_id.rb
230 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/basicobject/fixtures/common.rb
231 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/basicobject/fixtures/classes.rb
232 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/kernel/classes.rb
233 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/kernel/method_missing.rb
234 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/kernel/singleton_method.rb
235 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/kernel/singleton_method_added.rb
236 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/kernel/singleton_method_removed.rb
237 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/kernel/singleton_method_undefined.rb
238 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/bignum/shared/abs.rb
239 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/bignum/shared/equal.rb
240 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/bignum/shared/divide.rb
241 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/bignum/shared/modulo.rb
242 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/binding/fixtures/classes.rb
243 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/binding/shared/clone.rb
244 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/class/fixtures/classes.rb
245 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/comparable/fixtures/classes.rb
246 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/abs2.rb
247 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/abs.rb
248 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/arg.rb
249 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/coerce.rb
250 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/conjugate.rb
251 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/constants.rb
252 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/denominator.rb
253 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/divide.rb
254 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/equal_value.rb
255 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/exponent.rb
256 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/hash.rb
257 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/image.rb
258 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/inspect.rb
259 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/minus.rb
260 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/multiply.rb
261 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/numerator.rb
262 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/plus.rb
263 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/polar.rb
264 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/real.rb
265 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/rect.rb
266 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/to_s.rb
267 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/continuation/call.rb
268 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/continuation/new.rb
269 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/fixtures/common.rb
270 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/chroot.rb
271 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/closed.rb
272 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/delete.rb
273 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/glob.rb
274 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/euc_kr.bundle
275 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/korean.bundle
276 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/exist.rb
277 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/pwd.rb
278 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/open.rb
279 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/path.rb
280 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/dir/shared/pos.rb
281 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/big5.bundle
282 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/euc_tw.bundle
283 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/gb2312.bundle
284 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/gbk.bundle
285 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_2.bundle
286 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_3.bundle
287 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_4.bundle
288 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_5.bundle
289 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_6.bundle
290 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_7.bundle
291 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_8.bundle
292 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_9.bundle
293 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_10.bundle
294 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_11.bundle
295 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_13.bundle
296 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_14.bundle
297 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/iso_8859_15.bundle
298 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/koi8_r.bundle
299 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/shift_jis.bundle
300 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/utf_32le.bundle
301 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/windows_1251.bundle
302 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/utf_16le.bundle
303 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/iso2022.bundle
304 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/emacs_mule.bundle
305 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/single_byte.bundle
306 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/japanese_sjis.bundle
307 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/utf8_mac.bundle
308 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/big5.bundle
309 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/cp949.bundle
310 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/chinese.bundle
311 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/gb18030.bundle
312 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/gb18030.bundle
313 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/gbk.bundle
314 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/koi8_u.bundle
315 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/emoji.bundle
316 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/emoji_sjis_docomo.bundle
317 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/emoji_sjis_kddi.bundle
318 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/emoji_iso2022_kddi.bundle
319 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/emoji_sjis_softbank.bundle
320 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/enc/trans/japanese.bundle
321 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/encoding/fixtures/classes.rb
322 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/encoding/shared/name.rb
323 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/fixtures/classes.rb
324 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/collect_concat.rb
325 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/collect.rb
326 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/find.rb
327 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/entries.rb
328 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/find_all.rb
329 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/take.rb
330 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/include.rb
331 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerable/shared/inject.rb
332 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/each.rb
333 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/enumerator/classes.rb
334 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/with_index.rb
335 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/with_object.rb
336 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/enum_for.rb
337 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerator/fixtures/common.rb
338 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerator/lazy/fixtures/classes.rb
339 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerator/lazy/shared/collect_concat.rb
340 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerator/lazy/shared/collect.rb
341 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerator/lazy/shared/to_enum.rb
342 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/enumerator/lazy/shared/select.rb
343 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/new.rb
344 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/next.rb
345 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/enumerator/rewind.rb
346 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/each.rb
347 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/store.rb
348 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/include.rb
349 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/value.rb
350 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/key.rb
351 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/length.rb
352 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/env/shared/to_hash.rb
353 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/exception/fixtures/common.rb
354 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/exception/shared/new.rb
355 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/path_support.rb
356 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/lib/rubygems/dependency.rb
357 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/fiber/resume.rb
358 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/blockdev.rb
359 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/chardev.rb
360 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/shared/unlink.rb
361 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/directory.rb
362 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/executable_real.rb
363 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/executable.rb
364 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/exist.rb
365 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/fixtures/common.rb
366 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/file.rb
367 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/shared/fnmatch.rb
368 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/fixtures/file_types.rb
369 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/socket.bundle
370 /Users/nagachika/opt/ruby-2.2/src/build/.ext/common/socket.rb
371 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/grpowned.rb
372 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/identical.rb
373 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/shared/stat.rb
374 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/shared/open.rb
375 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/owned.rb
376 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/pipe.rb
377 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/shared/read.rb
378 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/readable_real.rb
379 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/readable.rb
380 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/setgid.rb
381 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/setuid.rb
382 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/size.rb
383 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/socket.rb
384 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/file/stat/fixtures/classes.rb
385 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/sticky.rb
386 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/symlink.rb
387 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/world_readable.rb
388 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/world_writable.rb
389 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/writable_real.rb
390 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/writable.rb
391 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/file/zero.rb
392 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/fixnum/shared/abs.rb
393 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/fixnum/shared/equal.rb
394 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/fixnum/shared/modulo.rb
395 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/float/shared/abs.rb
396 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/float/arg.rb
397 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/float/shared/equal.rb
398 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/float/fixtures/coerce.rb
399 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/float/shared/quo.rb
400 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/float/shared/modulo.rb
401 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/float/shared/to_i.rb
402 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/fixtures/classes.rb
403 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/iteration.rb
404 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/each.rb
405 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/store.rb
406 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/eql.rb
407 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/key.rb
408 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/value.rb
409 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/index.rb
410 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/to_s.rb
411 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/length.rb
412 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/update.rb
413 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/replace.rb
414 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/hash/shared/values_at.rb
415 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/integer/shared/to_i.rb
416 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/integer/shared/next.rb
417 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/fixtures/classes.rb
418 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/binwrite.rb
419 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/chars.rb
420 /Users/nagachika/opt/ruby-2.2/src/build/.ext/x86_64-darwin14/fcntl.bundle
421 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/codepoints.rb
422 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/each.rb
423 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/new.rb
424 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/readlines.rb
425 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/gets_ascii.rb
426 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/tty.rb
427 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/pos.rb
428 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/io/putc.rb
429 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/thread_runner.rb
430 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/io/shared/write.rb
431 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/fixtures/classes.rb
432 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/complex/Complex.rb
433 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/fixtures/rational.rb
434 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/rational/Rational.rb
435 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/shared/__method__.rb
436 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/core/kernel/fixtures/__method__.rb
437 /Users/nagachika/opt/ruby-2.2/src/ruby_2_2/spec/rubyspec/shared/process/abort.rb
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
Don't forget to include the above Crash Report log file.
For details: http://www.ruby-lang.org/bugreport.html
crash dump file
Process: ruby [12296]
Path: /Users/USER/*/ruby
Identifier: ruby
Version: 0
Code Type: X86-64 (Native)
Parent Process: make [12294]
Responsible: Terminal [345]
User ID: 501
Date/Time: 2015-06-18 05:59:53.087 +0900
OS Version: Mac OS X 10.10.3 (14D136)
Report Version: 11
Anonymous UUID: 483AEFD5-A87F-0CAA-1FEA-AD4EC10E3D3C
Sleep/Wake UUID: 6903D86A-16DE-44B8-A743-EA3534242F4C
Time Awake Since Boot: 230000 seconds
Time Since Wake: 3100 seconds
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Regions Near 0:
-->
__TEXT 000000010e50f000-000000010e73d000 [ 2232K] r-x/rwx SM=COW /Users/USER/*
Application Specific Information:
abort() called
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff867a8286 __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff88d09b53 abort + 129
2 ruby 0x000000010e550c89 die + 9
3 ruby 0x000000010e550ebe rb_bug_context + 558
4 ruby 0x000000010e629933 sigsegv + 83
5 libsystem_platform.dylib 0x00007fff8678df1a _sigtramp + 26
6 ??? 000000000000000000 0 + 0
7 ruby 0x000000010e6abb68 vm_get_ev_const + 824
8 ruby 0x000000010e68d46f vm_exec_core + 1839
9 ruby 0x000000010e6a07a1 vm_exec + 129
10 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
11 ruby 0x000000010e69f873 vm_invoke_proc + 195
12 ruby 0x000000010e6ade28 vm_call_bmethod + 184
13 ruby 0x000000010e6ac8f7 vm_call_method + 1143
14 ruby 0x000000010e6901e0 vm_exec_core + 13472
15 ruby 0x000000010e6a07a1 vm_exec + 129
16 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
17 ruby 0x000000010e69def9 yield_under + 393
18 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
19 ruby 0x000000010e6901e0 vm_exec_core + 13472
20 ruby 0x000000010e6a07a1 vm_exec + 129
21 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
22 ruby 0x000000010e69cc27 rb_yield_values2 + 103
23 ruby 0x000000010e54b9c3 all_iter_i + 19
24 ruby 0x000000010e6a57fe invoke_block_from_c + 1678
25 ruby 0x000000010e69c9c0 rb_yield + 192
26 ruby 0x000000010e5133e9 rb_ary_each + 89
27 ruby 0x000000010e6a9bd3 vm_call0_body + 2435
28 ruby 0x000000010e69d12c iterate_method + 220
29 ruby 0x000000010e69cf69 rb_iterate + 441
30 ruby 0x000000010e69d03d rb_block_call + 45
31 ruby 0x000000010e54790d enum_all + 77
32 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
33 ruby 0x000000010e6901e0 vm_exec_core + 13472
34 ruby 0x000000010e6a07a1 vm_exec + 129
35 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
36 ruby 0x000000010e69c9c0 rb_yield + 192
37 ruby 0x000000010e5b1578 int_dotimes + 56
38 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
39 ruby 0x000000010e6901e0 vm_exec_core + 13472
40 ruby 0x000000010e6a07a1 vm_exec + 129
41 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
42 ruby 0x000000010e69c9c0 rb_yield + 192
43 ruby 0x000000010e5133e9 rb_ary_each + 89
44 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
45 ruby 0x000000010e6901e0 vm_exec_core + 13472
46 ruby 0x000000010e6a07a1 vm_exec + 129
47 ruby 0x000000010e6a06ed rb_iseq_eval + 285
48 ruby 0x000000010e55effb rb_load_internal0 + 315
49 ruby 0x000000010e55ecaa rb_f_load + 186
50 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
51 ruby 0x000000010e690400 vm_exec_core + 14016
52 ruby 0x000000010e6a07a1 vm_exec + 129
53 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
54 ruby 0x000000010e69def9 yield_under + 393
55 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
56 ruby 0x000000010e6ac7ff vm_call_method + 895
57 ruby 0x000000010e6901e0 vm_exec_core + 13472
58 ruby 0x000000010e6a07a1 vm_exec + 129
59 ruby 0x000000010e6a5b0d invoke_block_from_c + 2461
60 ruby 0x000000010e69c9c0 rb_yield + 192
61 ruby 0x000000010e5133e9 rb_ary_each + 89
62 ruby 0x000000010e6ad735 vm_call_cfunc + 1797
63 ruby 0x000000010e6ac7ff vm_call_method + 895
64 ruby 0x000000010e6901e0 vm_exec_core + 13472
65 ruby 0x000000010e6a07a1 vm_exec + 129
66 ruby 0x000000010e6a1378 rb_iseq_eval_main + 504
67 ruby 0x000000010e559c34 ruby_exec_internal + 148
68 ruby 0x000000010e559b5e ruby_run_node + 78
69 ruby 0x000000010e51086f main + 79
70 libdyld.dylib 0x00007fff8b6f45c9 start + 1
Thread 1:: ruby-timer-thr
0 libsystem_kernel.dylib 0x00007fff867a95c2 poll + 10
1 libsystem_pthread.dylib 0x00007fff8b746268 _pthread_body + 131
2 libsystem_pthread.dylib 0x00007fff8b7461e5 _pthread_start + 176
3 libsystem_pthread.dylib 0x00007fff8b74441d thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x0000000000000006 rcx: 0x00007fee710ecdf8 rdx: 0x0000000000000000
rdi: 0x000000000000091f rsi: 0x0000000000000006 rbp: 0x00007fee710ece20 rsp: 0x00007fee710ecdf8
r8: 0x00007fee710ecdd0 r9: 0x00007fff73a2f300 r10: 0x0000000008000000 r11: 0x0000000000000206
r12: 0x00007fee710ecf50 r13: 0x000000000000005e r14: 0x00007fff73a2f300 r15: 0x000000010e6d24c6
rip: 0x00007fff867a8286 rfl: 0x0000000000000206 cr2: 0x00007fff735f9fd8
Logical CPU: 0
Error Code: 0x02000148
Trap Number: 133
Binary Images:
0x10e50f000 - 0x10e73cff7 +ruby (0) <58B2D03B-01FC-3995-BBD6-A545EF9E7205> /Users/USER/*/ruby
0x10e82e000 - 0x10e84bfff libJapaneseConverter.dylib (64) <12325659-06A4-37C9-8A9C-DA7A3F8DB8A2> /System/Library/CoreServices/Encodings/libJapaneseConverter.dylib
0x10e958000 - 0x10e959ff7 +encdb.bundle (0) <7B915906-F1E8-3F54-8A67-61404A9B2D84> /Users/USER/*/encdb.bundle
0x10e95c000 - 0x10e95dff7 +transdb.bundle (0) <72E964B1-9EB6-3B71-B8C4-D3C79FCF7F82> /Users/USER/*/transdb.bundle
0x10e960000 - 0x10e962fff +thread.bundle (0) <948B6CBA-CD7D-3F4F-A585-76E81B89D376> /Users/USER/*/thread.bundle
0x10e967000 - 0x10e96afff +etc.bundle (0) <81839F89-6958-348A-9B5C-9C5C2158D2DB> /Users/USER/*/etc.bundle
0x10e96f000 - 0x10e973ff7 +stringio.bundle (0) <E3D3D7E2-B04C-38EE-A1FE-85EBF56EBC6B> /Users/USER/*/stringio.bundle
0x10e979000 - 0x10e97aff7 +euc_jp.bundle (0) <C8E13642-355F-3C0A-8EDD-4C67A0A34B52> /Users/USER/*/euc_jp.bundle
0x10e97d000 - 0x10e97dfff +iso_8859_1.bundle (0) <68A70804-54BB-3669-A2EB-77D2DF6FB88F> /Users/USER/*/iso_8859_1.bundle
0x10ea80000 - 0x10ea80fff +iso_8859_16.bundle (0) <D0EBDE86-B610-3E90-AC0A-52FE93414561> /Users/USER/*/iso_8859_16.bundle
0x10ea83000 - 0x10ea84ff7 +windows_31j.bundle (0) <58C6F67D-61EB-34F4-904F-8524D4E301ED> /Users/USER/*/windows_31j.bundle
0x10ea87000 - 0x10eadcfff +japanese_euc.bundle (0) <7043E8EE-FF16-3375-AA71-90325D9F9885> /Users/USER/*/japanese_euc.bundle
0x10eadf000 - 0x10eadfff7 +fcntl.bundle (0) <C756D5C2-80D6-38C9-9411-4F0D81B4AC24> /Users/USER/*/fcntl.bundle
0x10eb1f000 - 0x10eb1fff7 +utf_32be.bundle (0) <0686B4FB-C605-3940-B0B8-8578152E2A3D> /Users/USER/*/utf_32be.bundle
0x10eb22000 - 0x10eb22fff +utf_16be.bundle (0) <DAE3E019-33DE-3E63-8630-DBBB3B11DE4A> /Users/USER/*/utf_16be.bundle
0x10eb25000 - 0x10eb26ff7 +utf_16_32.bundle (0) <24234290-3FCD-345A-9D43-07DFFD1C1D7C> /Users/USER/*/utf_16_32.bundle
0x10eb29000 - 0x10eb29fff +euc_kr.bundle (0) <D78CD1E6-2723-3AC4-8113-934DF08F52A3> /Users/USER/*/euc_kr.bundle
0x10eb2c000 - 0x10eb66fff +korean.bundle (0) <B90D5D92-C50A-3C6E-ADAD-1991B2B72291> /Users/USER/*/korean.bundle
0x10eb69000 - 0x10eb6afff +big5.bundle (0) <F76EA3E4-1D0B-3704-989C-02E91B526B92> /Users/USER/*/big5.bundle
0x10eb6d000 - 0x10eb6efff +euc_tw.bundle (0) <6784D422-408F-355D-95B7-16D37F0BB55A> /Users/USER/*/euc_tw.bundle
0x10eb71000 - 0x10eb71fff +gb2312.bundle (0) <187F53D4-B9B4-3C52-89A9-362B1B4808F1> /Users/USER/*/gb2312.bundle
0x10eb74000 - 0x10eb74fff +gbk.bundle (0) <609104AF-04AB-3054-AFD8-3289AEB7FCAB> /Users/USER/*/gbk.bundle
0x10eb77000 - 0x10eb77fff +iso_8859_2.bundle (0) <178B635A-5FB2-30E1-A2CF-4F9815EAA19E> /Users/USER/*/iso_8859_2.bundle
0x10eb7a000 - 0x10eb7afff +iso_8859_3.bundle (0) <25E52314-54D0-3064-99FF-BE3EB910295C> /Users/USER/*/iso_8859_3.bundle
0x10eb7d000 - 0x10eb7dfff +iso_8859_4.bundle (0) <4DF33DCA-B16D-3260-85A2-B2F5998D48CD> /Users/USER/*/iso_8859_4.bundle
0x10eb80000 - 0x10eb80fff +iso_8859_5.bundle (0) <E34CEED3-1DE3-3E51-BADD-27DC03C4846B> /Users/USER/*/iso_8859_5.bundle
0x10eb83000 - 0x10eb83fff +iso_8859_6.bundle (0) <4A85B62A-D39D-3A60-BF44-4ECA39407AC1> /Users/USER/*/iso_8859_6.bundle
0x10eb86000 - 0x10eb86fff +iso_8859_7.bundle (0) <57BBAF09-D669-3716-9E76-A1C4A9F084DB> /Users/USER/*/iso_8859_7.bundle
0x10eb89000 - 0x10eb89fff +iso_8859_8.bundle (0) <F393B58F-D2A1-34B3-B361-28E1D71D941F> /Users/USER/*/iso_8859_8.bundle
0x10eb8c000 - 0x10eb8cfff +iso_8859_9.bundle (0) <86FBC3AA-DA51-32F8-BF93-B2AEEB12ACB7> /Users/USER/*/iso_8859_9.bundle
0x10eb8f000 - 0x10eb8ffff +iso_8859_10.bundle (0) <05A107D9-87C0-346A-8D0B-1463023C74A6> /Users/USER/*/iso_8859_10.bundle
0x10eb92000 - 0x10eb92fff +iso_8859_11.bundle (0) <974D8900-EE00-39CA-83B2-204A62B98D04> /Users/USER/*/iso_8859_11.bundle
0x10eb95000 - 0x10eb95fff +iso_8859_13.bundle (0) <D880EEFB-2ED2-3608-844D-A6F68E4A968D> /Users/USER/*/iso_8859_13.bundle
0x10eb98000 - 0x10eb98fff +iso_8859_14.bundle (0) <426C58D1-C77A-3FC8-93A2-427B50ED11FC> /Users/USER/*/iso_8859_14.bundle
0x10eb9b000 - 0x10eb9bfff +iso_8859_15.bundle (0) <02FF4F68-9B98-3623-9842-3105613745E9> /Users/USER/*/iso_8859_15.bundle
0x10eb9e000 - 0x10eb9efff +koi8_r.bundle (0) <7ACAB727-7001-34CD-AF93-112DE30468BB> /Users/USER/*/koi8_r.bundle
0x10eba1000 - 0x10eba2ff7 +shift_jis.bundle (0) <F4E7D7AA-DC6A-3DD6-A65B-F16796567B79> /Users/USER/*/shift_jis.bundle
0x10eba5000 - 0x10eba5ff7 +utf_32le.bundle (0) <650673D4-32D1-3D97-BFC3-BCE8DD803026> /Users/USER/*/utf_32le.bundle
0x10eba8000 - 0x10eba8fff +windows_1251.bundle (0) <4298C1C4-1FA5-311B-8409-099DC570934A> /Users/USER/*/windows_1251.bundle
0x10ebab000 - 0x10ebabfff +utf_16le.bundle (0) <F6137486-8A89-3066-8B5C-0042B80BF526> /Users/USER/*/utf_16le.bundle
0x10ebae000 - 0x10ebafff7 +iso2022.bundle (0) <3980C4EA-F09A-3018-B555-C6B6F0D59FF0> /Users/USER/*/iso2022.bundle
0x10ebb2000 - 0x10ebb3ff7 +emacs_mule.bundle (0) <1F4FDBBE-75FA-34CC-875F-D081EF672C4B> /Users/USER/*/emacs_mule.bundle
0x10ebb6000 - 0x10ebc9fff +single_byte.bundle (0) <C6D5E427-5C2A-3ED0-9A15-3EA416221265> /Users/USER/*/single_byte.bundle
0x10ebd2000 - 0x10ebf5fff +japanese_sjis.bundle (0) <42018EF1-AF3E-374E-B1FC-2EA582F8FFCF> /Users/USER/*/japanese_sjis.bundle
0x10ebf8000 - 0x10ec38fff +utf8_mac.bundle (0) <C6DACE4D-4629-3BD2-B6C1-0A98D36347F0> /Users/USER/*/utf8_mac.bundle
0x10ec3b000 - 0x10ecc6ff7 +big5.bundle (0) <DA6D814C-2210-364C-ABEF-4D125CB9EB17> /Users/USER/*/big5.bundle
0x10ecc9000 - 0x10ecc9fff +cp949.bundle (0) <D8090A00-2A07-3C52-AC47-293B81BFECA9> /Users/USER/*/cp949.bundle
0x10eccc000 - 0x10ecf7ff7 +chinese.bundle (0) <43E48F6D-100B-3697-9D7F-90B9A282C65E> /Users/USER/*/chinese.bundle
0x10ecfa000 - 0x10ecfbfff +gb18030.bundle (0) <604A8F2E-3712-3BB8-A454-B6F612F52A6F> /Users/USER/*/gb18030.bundle
0x10ecfe000 - 0x10ed28fff +gb18030.bundle (0) <AD99354D-3478-3726-9CD4-F31D1B7B3914> /Users/USER/*/gb18030.bundle
0x10ed2b000 - 0x10ed59ff7 +gbk.bundle (0) <7F5B4177-48D3-3641-83C1-C16D86857397> /Users/USER/*/gbk.bundle
0x10ed5c000 - 0x10ed5cfff +koi8_u.bundle (0) <7B271B5A-53A7-31D0-9995-0B3C26F912F7> /Users/USER/*/koi8_u.bundle
0x10ed5f000 - 0x10ed69ff7 +emoji.bundle (0) <34BDAFCD-3C0C-366A-A1C0-6972EC43E11C> /Users/USER/*/emoji.bundle
0x10ed6c000 - 0x10ed87ff7 +emoji_sjis_docomo.bundle (0) <E420733F-4C57-3E71-A3BC-FF8E74CD49FA> /Users/USER/*/emoji_sjis_docomo.bundle
0x10ed8a000 - 0x10eda6ff7 +emoji_sjis_kddi.bundle (0) <CDFC29E6-AA14-3A36-AE78-21E82DDDC75E> /Users/USER/*/emoji_sjis_kddi.bundle
0x10eda9000 - 0x10edc2fff +emoji_iso2022_kddi.bundle (0) <48020221-9F61-3DD8-B788-3DC1C71A726D> /Users/USER/*/emoji_iso2022_kddi.bundle
0x10edc5000 - 0x10ede0ff7 +emoji_sjis_softbank.bundle (0) <DCD6D76A-451D-3F61-A7BB-0774A7D4C331> /Users/USER/*/emoji_sjis_softbank.bundle
0x10ede3000 - 0x10ede3fff +japanese.bundle (0) <AD72F4D3-0F42-3191-82B0-66B2D181C09C> /Users/USER/*/japanese.bundle
0x10eed0000 - 0x10eeeefff +socket.bundle (0) <80C0C4A6-4E2E-3CC4-A068-98895D00812C> /Users/USER/*/socket.bundle
0x7fff66c0a000 - 0x7fff66c40837 dyld (353.2.1) <65DCCB06-339C-3E25-9702-600A28291D0E> /usr/lib/dyld
0x7fff83b09000 - 0x7fff83b31fff libsystem_info.dylib (459.20.1) <AEB3FE62-4763-3050-8352-D6F9AF961AE6> /usr/lib/system/libsystem_info.dylib
0x7fff843d8000 - 0x7fff843ddfff libsystem_stats.dylib (163.20.16) <FBC3F80F-A0FB-3BD6-9A7E-800DE45F092E> /usr/lib/system/libsystem_stats.dylib
0x7fff8478f000 - 0x7fff847bffff libsystem_m.dylib (3086.1) <1E12AB45-6D96-36D0-A226-F24D9FB0D9D6> /usr/lib/system/libsystem_m.dylib
0x7fff848be000 - 0x7fff848c3ff7 libmacho.dylib (862) <126CA2ED-DE91-308F-8881-B9DAEC3C63B6> /usr/lib/system/libmacho.dylib
0x7fff8507f000 - 0x7fff8527946f libobjc.A.dylib (647) <759E155D-BC42-3D4E-869B-6F57D477177C> /usr/lib/libobjc.A.dylib
0x7fff85c8d000 - 0x7fff85c8dff7 liblaunch.dylib (559.20.9) <FA89A113-696E-3271-8FE1-A0D7324E8481> /usr/lib/system/liblaunch.dylib
0x7fff8603e000 - 0x7fff8604fff7 libz.1.dylib (55) <88C7C7DE-04B8-316F-8B74-ACD9F3DE1AA1> /usr/lib/libz.1.dylib
0x7fff861b8000 - 0x7fff861baff7 libsystem_coreservices.dylib (9) <41B7C578-5A53-31C8-A96F-C73E030B0938> /usr/lib/system/libsystem_coreservices.dylib
0x7fff861bb000 - 0x7fff861c6fff libcommonCrypto.dylib (60061) <D381EBC6-69D8-31D3-8084-5A80A32CB748> /usr/lib/system/libcommonCrypto.dylib
0x7fff86761000 - 0x7fff8677dff7 libsystem_malloc.dylib (53.1.1) <19BCC257-5717-3502-A71F-95D65AFA861B> /usr/lib/system/libsystem_malloc.dylib
0x7fff86789000 - 0x7fff86791fff libsystem_platform.dylib (63) <64E34079-D712-3D66-9CE2-418624A5C040> /usr/lib/system/libsystem_platform.dylib
0x7fff86792000 - 0x7fff867affff libsystem_kernel.dylib (2782.20.48) <EAFD7BD0-0C30-3E7D-9528-F9916BA0167C> /usr/lib/system/libsystem_kernel.dylib
0x7fff867c6000 - 0x7fff867c8fff libquarantine.dylib (76.20.1) <7AF90041-2768-378A-925A-D83161863642> /usr/lib/system/libquarantine.dylib
0x7fff867d8000 - 0x7fff867d9ff3 libSystem.B.dylib (1213) <CCEC13A5-D0D9-31C5-B0B0-1C564B4A20A6> /usr/lib/libSystem.B.dylib
0x7fff867f8000 - 0x7fff869ddff7 libicucore.A.dylib (531.48) <3CD34752-B1F9-31D2-865D-B5B0F0BE3111> /usr/lib/libicucore.A.dylib
0x7fff875e5000 - 0x7fff875ecff7 libcompiler_rt.dylib (35) <BF8FC133-EE10-3DA6-9B90-92039E28678F> /usr/lib/system/libcompiler_rt.dylib
0x7fff87b8e000 - 0x7fff87c04fe7 libcorecrypto.dylib (233.1.2) <E1789801-3985-3949-B736-6B3378873301> /usr/lib/system/libcorecrypto.dylib
0x7fff88457000 - 0x7fff88468fff libsystem_coretls.dylib (35.20.2) <6084A531-2523-39F8-B030-811FA1A32FB5> /usr/lib/system/libsystem_coretls.dylib
0x7fff88469000 - 0x7fff8846bfff libsystem_sandbox.dylib (358.20.5) <4CF77128-6BE0-3958-B646-707FA9CE61B2> /usr/lib/system/libsystem_sandbox.dylib
0x7fff889e9000 - 0x7fff88a2fff7 libauto.dylib (186) <A260789B-D4D8-316A-9490-254767B8A5F1> /usr/lib/libauto.dylib
0x7fff88bfd000 - 0x7fff88bfffff libsystem_configuration.dylib (699.1.5) <20F3B077-179D-3CB0-A3C1-C8602D53B4DB> /usr/lib/system/libsystem_configuration.dylib
0x7fff88cac000 - 0x7fff88d38ff7 libsystem_c.dylib (1044.10.1) <86FBED7A-F2C8-3591-AD6F-486DD57E6B6A> /usr/lib/system/libsystem_c.dylib
0x7fff8a1b5000 - 0x7fff8a1beff7 libsystem_notify.dylib (133.1.1) <61147800-F320-3DAA-850C-BADF33855F29> /usr/lib/system/libsystem_notify.dylib
0x7fff8a1c4000 - 0x7fff8a1eeff7 libdispatch.dylib (442.1.4) <502CF32B-669B-3709-8862-08188225E4F0> /usr/lib/system/libdispatch.dylib
0x7fff8a7f0000 - 0x7fff8a828fff libsystem_network.dylib (412.20.3) <589A5F67-BE2A-3245-A181-0ECC9B53EB00> /usr/lib/system/libsystem_network.dylib
0x7fff8ab5d000 - 0x7fff8ab85fff libxpc.dylib (559.20.9) <D35D0DB2-D7BD-3BE4-8378-062BFE545E1D> /usr/lib/system/libxpc.dylib
0x7fff8b0fe000 - 0x7fff8b102fff libcache.dylib (69) <45E9A2E7-99C4-36B2-BEE3-0C4E11614AD1> /usr/lib/system/libcache.dylib
0x7fff8b6f1000 - 0x7fff8b6f4ff7 libdyld.dylib (353.2.1) <9EACCA38-291D-38CC-811F-7E9D1451E2D3> /usr/lib/system/libdyld.dylib
0x7fff8b743000 - 0x7fff8b74cfff libsystem_pthread.dylib (105.10.1) <3103AA7F-3BAE-3673-9649-47FFD7E15C97> /usr/lib/system/libsystem_pthread.dylib
0x7fff8b784000 - 0x7fff8bb1cff7 com.apple.CoreFoundation (6.9 - 1153.18) <5C0892B8-9691-341F-9279-CA3A74D59AA0> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x7fff8bc17000 - 0x7fff8bc18fff libDiagnosticMessagesClient.dylib (100) <2EE8E436-5CDC-34C5-9959-5BA218D507FB> /usr/lib/libDiagnosticMessagesClient.dylib
0x7fff8bc19000 - 0x7fff8bc21ffb libcopyfile.dylib (118.1.2) <0C68D3A6-ACDD-3EF3-991A-CC82C32AB836> /usr/lib/system/libcopyfile.dylib
0x7fff8bd85000 - 0x7fff8bd9bff7 libsystem_asl.dylib (267) <F153AC5B-0542-356E-88C8-20A62CA704E2> /usr/lib/system/libsystem_asl.dylib
0x7fff8bd9c000 - 0x7fff8bda2ff7 libsystem_networkextension.dylib (167.1.10) <29AB225B-D7FB-30ED-9600-65D44B9A9442> /usr/lib/system/libsystem_networkextension.dylib
0x7fff8c1e0000 - 0x7fff8c1e6fff libsystem_trace.dylib (72.20.1) <840F5301-B55A-3078-90B9-FEFFD6CD741A> /usr/lib/system/libsystem_trace.dylib
0x7fff8c361000 - 0x7fff8c3b5fff libc++.1.dylib (120) <1B9530FD-989B-3174-BB1C-BDC159501710> /usr/lib/libc++.1.dylib
0x7fff8eb63000 - 0x7fff8eb64fff libsystem_secinit.dylib (18) <581DAD0F-6B63-3A48-B63B-917AF799ABAA> /usr/lib/system/libsystem_secinit.dylib
0x7fff8f0f0000 - 0x7fff8f0f8fff libsystem_dnssd.dylib (561.1.1) <62B70ECA-E40D-3C63-896E-7F00EC386DDB> /usr/lib/system/libsystem_dnssd.dylib
0x7fff8f13d000 - 0x7fff8f13dff7 libkeymgr.dylib (28) <77845842-DE70-3CC5-BD01-C3D14227CED5> /usr/lib/system/libkeymgr.dylib
0x7fff8f191000 - 0x7fff8f192ffb libremovefile.dylib (35) <3485B5F4-6CE8-3C62-8DFD-8736ED6E8531> /usr/lib/system/libremovefile.dylib
0x7fff900b0000 - 0x7fff900dbfff libc++abi.dylib (125) <88A22A0F-87C6-3002-BFBA-AC0F2808B8B9> /usr/lib/libc++abi.dylib
0x7fff908df000 - 0x7fff908e0ff7 libsystem_blocks.dylib (65) <9615D10A-FCA7-3BE4-AA1A-1B195DACE1A1> /usr/lib/system/libsystem_blocks.dylib
0x7fff90f54000 - 0x7fff90f59ff7 libunwind.dylib (35.3) <BE7E51A0-B6EA-3A54-9CCA-9D88F683A6D6> /usr/lib/system/libunwind.dylib
0x7fff9127d000 - 0x7fff9127dff7 libunc.dylib (29) <5676F7EA-C1DF-329F-B006-D2C3022B7D70> /usr/lib/system/libunc.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 3
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 11645119
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=88.5M resident=95.8M(108%) swapped_out_or_unallocated=16777216.0T(19884320751616%)
Writable regions: Total=281.2M written=31.7M(11%) resident=162.4M(58%) swapped_out=0K(0%) unallocated=118.7M(42%)
REGION TYPE VIRTUAL
=========== =======
Kernel Alloc Once 4K
MALLOC 216.6M
MALLOC (admin) 16K
STACK GUARD 4K
Stack 64.0M
VM_ALLOCATE 12K
__DATA 1476K
__LINKEDIT 71.9M
__TEXT 16.6M
__UNICODE 552K
shared memory 4K
=========== =======
TOTAL 371.1M
Updated by ko1 (Koichi Sasada) over 9 years ago
Thank you.
I updated a patch.
Index: insns.def
===================================================================
--- insns.def (revision 50914)
+++ insns.def (working copy)
@@ -914,6 +914,8 @@
(VALUE val)
{
VALUE klass;
+ VALUE class_iseq_val = class_iseq->self;
+ rb_iseq_t *orig_class_iseq = NULL;
rb_vm_defineclass_type_t type = VM_DEFINECLASS_TYPE(flags);
switch (type) {
@@ -963,7 +965,18 @@
case VM_DEFINECLASS_TYPE_SINGLETON_CLASS:
/* val is dummy. classdef returns class scope value */
/* super is dummy */
- klass = rb_singleton_class(cbase);
+ {
+ klass = rb_singleton_class(cbase);
+
+ /* Copy iseq to duplicate cref_stack place.
+ * This is ad-hoc solution for [Bug #10871].
+ * and this does not solve more complicated source code with singleton class.
+ * If you need to solve everything, use Ruby 2.3 and later.
+ */
+ orig_class_iseq = class_iseq;
+ class_iseq_val = rb_iseq_clone(class_iseq->self, cbase);
+ GetISeqPtr(class_iseq_val, class_iseq);
+ }
break;
case VM_DEFINECLASS_TYPE_MODULE:
/* val is dummy. classdef returns class scope value */
@@ -992,6 +1005,9 @@
}
COPY_CREF(class_iseq->cref_stack, vm_cref_push(th, klass, NOEX_PUBLIC, NULL));
+ if (orig_class_iseq) {
+ COPY_CREF(orig_class_iseq->cref_stack, vm_cref_push(th, klass, NOEX_PUBLIC, NULL));
+ }
/* enter scope */
vm_push_frame(th, class_iseq, VM_FRAME_MAGIC_CLASS,
@@ -998,6 +1014,9 @@
klass, 0, VM_ENVVAL_BLOCK_PTR(GET_BLOCK_PTR()),
class_iseq->iseq_encoded, GET_SP(),
class_iseq->local_size, 0, class_iseq->stack_max);
+
+ RB_GC_GUARD(class_iseq_val);
+
RESTORE_REGS();
NEXT_INSN();
}
Updated by nagachika (Tomoyuki Chikanaga) over 9 years ago
ko1 san, thank you for updated patch. I confirmed that make check && make test-rubyspec passed with it.
But, I don't have confidence about the importance of this workaround. It might introduces another regression. I want to deliberate upon this patch with caution. I'll apply it after the next patch release and call for users to validation on ruby_2_2 HEAD.
Updated by nagachika (Tomoyuki Chikanaga) over 9 years ago
Hi,
I pushed a branch containing ko1's patch onto https://github.com/nagachika/ruby/tree/ruby_2_2_singleton_class_threadsafe.
Please test your applications & libraries with it.
Regards,
Updated by nagachika (Tomoyuki Chikanaga) about 9 years ago
- Status changed from Open to Closed
Applied in changeset backport22:r51673.
-
insns.def (defineclass): introduce an ad-hoc patch to avoid
an issue reported on [Bug #10871].This patch does not fix completely. For example, method definition
in a block (like 1.times{def ...; end}) still causes same issue.
To solve all, we need a huge patch and it seems difficult for
stable branch.Use Ruby 2.3 and later to solve this issue completely.
(See [Bug #10943])
Updated by nagachika (Tomoyuki Chikanaga) about 9 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: DONE
Hello,
I've applied ko1's workaround patch for this issue to ruby_2_2
branch at r51673.
I'm worried about the wrong side effects of this patch.
Please test on ruby_2_2
branch HEAD.
If you use rbenv/ruby-build, you can install ruby_2_2
HEAD via
rbenv install 2.2.0-dev
Regards,