Actions
Bug #13425
closedTracer.onにした状態でSystemStackErrorを発生させるとSegmentation fault
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
Backport:
Description
Ruby2.4.0, 2.4.1の環境にて以下のコードのように SystemStackError: stack level too deep が発生するコードをTracerを有効化した状態で実行するとSegmentation faultや無限ループが発生する。
以下のコードは常にSegmentation faultを発生させる。
require 'tracer'
Tracer.on
class HogeError < StandardError
def to_s
message
end
end
HogeError.new.to_s #=> Segmentation fault
以下のコードはフリーズ(おそらく何も出力しない無限ループ)する。
また、pry (0.10.4), pry-byebug (3.4.2)が入った環境でpry上で以下のコードを実行すると #0: を出力し続ける無限ループが発生する(添付画像参照)。
require 'tracer'
Tracer.on
def hoge
hoge
end
hoge #=> freeze or infinite loop
Ruby 2.3.0及び2.3.1では発生していない。
実行環境¶
macOS 10.12, Debian 8.6
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0