Actions
Bug #13432
closedset_trace_funcにproc->is_from_method = TRUEのオブジェクトを渡し、SystemStackErrorを発生させるとRubyVMが停止する
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.5.0dev (2017-04-13 trunk 58340) [x86_64-darwin16]
Backport:
Description
以下のコードのように、Method#to_procで作成したProcオブジェクトをset_trace_funcに設定しSystemStackErrorを発生させるとRubyVMが停止する。
def trace_method(event, file, line, id, binding, klass); end
set_trace_func method(:trace_method).to_proc
def stack_overflow
stack_overflow
end
stack_overflow #=> RubyVM stops
以下のコードではこの問題は発生しない。
set_trace_func lambda {|event, file, line, id, binding, klass|
}
def stack_overflow
stack_overflow
end
stack_overflow #=> stack level too deep (SystemStackError)
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Backport changed from 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN to 2.2: REQUIRED, 2.3: REQUIRED, 2.4: REQUIRED
r58349 で修正済み。
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Is duplicate of Bug #13425: Tracer.onにした状態でSystemStackErrorを発生させるとSegmentation fault added
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Status changed from Open to Closed
Updated by usa (Usaku NAKAMURA) about 7 years ago
- Backport changed from 2.2: REQUIRED, 2.3: REQUIRED, 2.4: REQUIRED to 2.2: REQUIRED, 2.3: DONE, 2.4: REQUIRED
Updated by nagachika (Tomoyuki Chikanaga) about 7 years ago
- Backport changed from 2.2: REQUIRED, 2.3: DONE, 2.4: REQUIRED to 2.2: REQUIRED, 2.3: DONE, 2.4: DONE
ruby_2_4 r59297 merged revision(s) 58334,58346,58349.
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0