[#47562] [Backport 200 - Backport #8716][Open] segmation fault 正規表現で大量のグループを利用時 — "taka-yoshi (taka-yoshi taka)" <smokeonthewater222@...>

15 messages 2013/08/01

[#47569] [ruby-trunk - Feature #8726][Open] Class#source_location — "takiuchi (Genki Takiuchi)" <genki@...21g.com>

14 messages 2013/08/03

[#47663] Re: [ruby-core:56878] [ruby-trunk - misc #8835][Open] Introducing a semantic versioning scheme and branching policy — "Akinori MUSHA" <knu@...>

At Fri, 30 Aug 2013 21:49:34 +0900,

6 messages 2013/08/30

[ruby-dev:47656] [ruby-trunk - Feature #8726] Class#source_location

From: "takiuchi (Genki Takiuchi)" <genki@...21g.com>
Date: 2013-08-25 14:24:40 UTC
List: ruby-dev #47656
Issue #8726 has been updated by takiuchi (Genki Takiuchi).


Timeoutのバグの本質は、timeoutブロック内で rescue Exception した場合に、timeoutの実装が
内部的に使っている Timeout::ExitException を拾ってしまうことのようです。

Timeoutの例は一例でして、Class.source_location があれば無名クラスがどこで定義されたものか
デバッグするのが容易になる、というのが趣旨でした。
----------------------------------------
Feature #8726: Class#source_location
https://bugs.ruby-lang.org/issues/8726#change-41343

Author: takiuchi (Genki Takiuchi)
Status: Rejected
Priority: Normal
Assignee: 
Category: core
Target version: current: 2.1.0


Classオブジェクトが生成された場所を返す Class#source_location メソッドの実装を希望いたします。

これによって解決される問題の例としては、Timeout::timeout が無名の例外クラスオブジェクトを raise した
場合に、どこで仕掛けられた timeout なのか、発生場所を特定できるようになります。
このようなケースでは、例外オブジェクトが保有している backtrace はtimeoutが発生した時点での
プログラム実行位置を起点としており、Timeout::timeout(...) を仕掛けた場所の情報は失われています。


-- 
http://bugs.ruby-lang.org/

In This Thread