Bug #10871
closedSclass thread unsafe due to CREF sharing
Added by evanphx (Evan Phoenix) almost 10 years ago. Updated over 9 years ago.
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) almost 10 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) almost 10 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) over 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) over 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,