[#44469] [Ruby 1.9 - Bug #5279][Open] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — Shota Fukumori <sorah@...>

21 messages 2011/09/06
[#44471] [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — Shota Fukumori <sorah@...> 2011/09/06

[#44472] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — "NARUSE, Yui" <naruse@...> 2011/09/06

2011年9月6日11:02 Shota Fukumori <[email protected]>:

[#44473] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — "Shota Fukumori (sora_h)" <sorah@...> 2011/09/06

じゃぁ,大丈夫かな.

[#44474] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — Kazuhiko <kazuhiko@...> 2011/09/06

On 06/09/2011 06:10, Shota Fukumori (sora_h) wrote:

[#44541] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — Kazuhiko <kazuhiko@...> 2011/09/24

かずひこです。

[#44549] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある — KOSAKI Motohiro <kosaki.motohiro@...> 2011/09/26

> かずひこです。

[#44491] [Ruby 1.9 - Feature #5314][Open] パッケージマネージャをコアリリースに含めて欲しい — Taro MURAOKA <koron.kaoriya@...>

13 messages 2011/09/13

[#44506] [Ruby 1.9 - Feature #5317][Open] rubyのヘッダファイルを使った拡張を行う際にuid_tの宣言回避をする事が出来ない。 — Yasuhiro Matsumoto <mattn.jp@...>

9 messages 2011/09/13

[#44520] [Ruby 1.9 - Bug #5350][Open] WeakRef で謎の NoMethodError — Makoto Kishimoto <redmine@...>

20 messages 2011/09/21

[#44542] [Ruby 1.9 - Bug #5363][Open] OpenSSL::ASN1.decode_all の引数に PEM 形式の証明書を指定すると Segmentation fault が発生する — Hiroshi Yoshida <hexa.diary@...>

8 messages 2011/09/25

[#44546] [Ruby 1.9 - Bug #5368][Open] ensure節でsleepするようなThreadがあるとインタプリタが終了しない — Masaki Matsushita <glass.saga@...>

22 messages 2011/09/26

[ruby-dev:44552] Re: [Ruby 1.9 - Bug #5368][Open] ensure節でsleepするようなThreadがあるとインタプリタが終了しない

From: SASADA Koichi <ko1@...>
Date: 2011-09-26 14:52:19 UTC
List: ruby-dev #44552
(2011/09/26 7:03), m_takao wrote:
> これは「ensure節の実行中に止めるのはNG」ということですよね?
> いまの実装 (rev.33339) では、ensure節の実行中であっても、terminateされたら
> (外側にさらなるensure節がなければ) ふつうに終了するので、辻褄が合わない気がします。

 ご指摘の通り,「最初の1回だけは必ず ensure 中でも強制的に止めてしま
う」という仕様になっていますね.現状では,ensure 中(後処理中)ではない
ことを期待しています.ファイナライザ実行中でも,強制的にキャンセルされる
ので,何か後処理をしている最中に止められるのは不可避です.

# 今まで文句が無かったというのは,確率的にこういうケースが起きづらい,
# ということでしょうかね.

 真面目にやるなら,すでに何度か提案がある,こういう割り込みを制御するた
めの仕組みを統一的に整備するってことになると思います.うーん,せめてファ
イナライザの処理は main thread のみで行うようにしたほうがいいんだろうか.

 もしくは,こういう処理を行うことがあるのなら,ちゃんと join してから死
にましょう,と開き直って,最初のご提案の通り,確実に殺す,というふうに振
るのかなぁ.それはそれで不便そうに思うのだけど.

 結論も出てませんが,現状はなんとなくうまく動くことが多い,改善するには
しんどそう,ということで,なんとなく現状の仕様になっている,ということか
と思います.

 もしうまい手があれば教えてください.

-- 
// SASADA Koichi at atdot dot net

In This Thread