[#44448] [Ruby 1.9 - Bug #5258][Open] SizedQueueにBug #5195と同様のバグ — Masaki Matsushita <glass.saga@...>
8 messages
2011/09/01
[#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 <sorah@tubusu.net>:
[#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:
[#44475] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある
— "Shota Fukumori (sora_h)" <sorah@...>
2011/09/06
sora_h です。
[#44478] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/09/06
2011年9月6日19:14 Shota Fukumori (sora_h) <sorah@tubusu.net>:
[#44480] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある
— "Shota Fukumori (sora_h)" <sorah@...>
2011/09/06
あれれ,ほんとだ.失礼.
[#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
> かずひこです。
[#44554] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある
— Shugo Maeda <shugo@...>
2011/09/26
前田です。
[#44560] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある
— Kazuhiko <kazuhiko@...>
2011/09/28
かずひこです。
[#44575] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある
— Kazuhiko <kazuhiko@...>
2011/10/04
On 28/09/2011 14:15, Kazuhiko wrote:
[#44491] [Ruby 1.9 - Feature #5314][Open] パッケージマネージャをコアリリースに含めて欲しい — Taro MURAOKA <koron.kaoriya@...>
13 messages
2011/09/13
[#44500] [Ruby 1.9 - Feature #5315][Open] config.hからコンパイラのバージョンチェックを外して欲しい — Taro MURAOKA <koron.kaoriya@...>
6 messages
2011/09/13
[#44520] [Ruby 1.9 - Bug #5350][Open] WeakRef で謎の NoMethodError — Makoto Kishimoto <redmine@...>
20 messages
2011/09/21
[#44532] [Ruby 1.9 - Bug #5350] WeakRef で謎の NoMethodError
— Shota Fukumori <sorah@...>
2011/09/24
[#44534] Re: [ruby-dev:44532] [Ruby 1.9 - Bug #5350] WeakRef で謎の NoMethodError
— SASADA Koichi <ko1@...>
2011/09/24
(2011/09/23 17:44), Shota Fukumori wrote:
[#44535] Re: [ruby-dev:44534] Re: [ruby-dev:44532] [Ruby 1.9 - Bug #5350] WeakRef で謎の NoMethodError
— "Shota Fukumori (sora_h)" <sorah@...>
2011/09/24
ふむ.やはりダメか.そうだよなぁ.
[#44536] Re: [ruby-dev:44535] Re: [ruby-dev:44534] Re: [ruby-dev:44532] [Ruby 1.9 - Bug #5350] WeakRef で謎の NoMethodError
— SASADA Koichi <ko1@...>
2011/09/24
ささだです.
[#44537] Re: [ruby-dev:44536] Re: [ruby-dev:44535] Re: [ruby-dev:44534] Re: [ruby-dev:44532] [Ruby 1.9 - Bug #5350] WeakRef で謎の NoMethodError
— SASADA Koichi <ko1@...>
2011/09/24
(2011/09/23 18:58), SASADA Koichi wrote:
[#44542] [Ruby 1.9 - Bug #5363][Open] OpenSSL::ASN1.decode_all の引数に PEM 形式の証明書を指定すると Segmentation fault が発生する — Hiroshi Yoshida <hexa.diary@...>
8 messages
2011/09/25
[#44553] [Ruby 1.9 - Bug #5363] OpenSSL::ASN1.decode_all の引数に PEM 形式の証明書を指定すると Segmentation fault が発生する
— Hiroshi Yoshida <hexa.diary@...>
2011/09/26
[#44556] Re: [Ruby 1.9 - Bug #5363] OpenSSL::ASN1.decode_all の引数に PEM 形式の証明書を指定すると Segmentation fault が発生する
— Martin Bo煬et <martin.bosslet@...>
2011/09/27
2011/9/26 Hiroshi Yoshida <hexa.diary@gmail.com>:
[#44546] [Ruby 1.9 - Bug #5368][Open] ensure節でsleepするようなThreadがあるとインタプリタが終了しない — Masaki Matsushita <glass.saga@...>
22 messages
2011/09/26
[#44547] Re: [ruby-dev:44546] [Ruby 1.9 - Bug #5368][Open] ensure節でsleepするようなThreadがあるとインタプリタが終了しない
— SASADA Koichi <ko1@...>
2011/09/26
(2011/09/25 21:51), Masaki Matsushita wrote:
[#44551] Re: [Ruby 1.9 - Bug #5368][Open] ensure節でsleepするようなThreadがあるとインタプリタが終了しない
— m_takao <threewayhandshake@...>
2011/09/26
高尾と申します。
[ruby-dev:44457] [Ruby 1.9 - Bug #5258] SizedQueueにBug #5195と同様のバグ
From:
Tomoyuki Chikanaga <nagachika00@...>
Date:
2011-09-03 11:08:53 UTC
List:
ruby-dev #44457
Issue #5258 has been updated by Tomoyuki Chikanaga.
File queue.patch added
別件の修正中にパッチを書いていたのですが、このチケットと同じ問題だと気がつきました。
#5195 のぶんも同じですがパッチを添付します。
wakeup や例外で抜けた時に @waiting に残ってしまうと次の Queue#push の時に意図せず Thread#wakeup が呼ばれてしまったり、実際に待っている Thread に wakeup が呼ばれなくなったりするので、残さないようにしたほうが良いと思います。
----------------------------------------
Bug #5258: SizedQueueにBug #5195と同様のバグ
http://redmine.ruby-lang.org/issues/5258
Author: Masaki Matsushita
Status: Assigned
Priority: Normal
Assignee: Motohiro KOSAKI
Category: lib
Target version: 1.9.x
ruby -v: ruby 1.9.4dev (2011-09-01 trunk 33157) [x86_64-linux]
=begin
[Bug #5195][ruby-dev:44400]と同様ですが、SizedQueue#pushでsleepしているthreadをwakeupさせると、SizedQueueの@queue_waitにそのthreadがpushされてしまいます。
require 'thread'
sq = SizedQueue.new(1)
sq.push(0)
t1 = Thread.start { sq.push(1) ; sleep }
nil until t1.stop?
t1.wakeup
nil until t1.stop?
t2 = Thread.start { sq.push(2) }
nil until t1.stop? && t2.stop?
p t1, t2
sq.instance_eval{ p @queue_wait }
3.times{ sq.pop }
t2.join
上記のコードを実行すると、
#<Thread:0x00000000b1a198 sleep>
#<Thread:0x00000000b1a120 sleep>
[#<Thread:0x00000000b1a198 sleep>, #<Thread:0x00000000b1a198 sleep>, #<Thread:0x00000000b1a120 sleep>]
/usr/local/lib/ruby/1.9.1/thread.rb:185:in `sleep': deadlock detected (fatal)
from /usr/local/lib/ruby/1.9.1/thread.rb:185:in `block in pop'
from <internal:prelude>:10:in `synchronize'
from /usr/local/lib/ruby/1.9.1/thread.rb:180:in `pop'
from /usr/local/lib/ruby/1.9.1/thread.rb:324:in `pop'
from sized_queue.rb:19:in `block in <main>'
from sized_queue.rb:19:in `times'
from sized_queue.rb:19:in `<main>'
となります。
場当たり的なものですが[Bug #5195][ruby-dev:44400]の時と同様なpatchを添付します。適用後もtest/thread/test_queue.rbをパスします。
=end
--
http://redmine.ruby-lang.org