ruby-dev (Japanese) list archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-dev:50186] SIGCHLD and Thread dead-lock problem
@ 2017-07-25 15:51 Keiju ISHITSUKA
  2017-12-18  1:56 ` [ruby-dev:50359] " Tomoyuki Chikanaga
  0 siblings, 1 reply; 3+ messages in thread
From: Keiju ISHITSUKA @ 2017-07-25 15:51 UTC (permalink / raw)
  To: ruby-dev

けいじゅ@いしつかです.

下記のプログラムを実行するとThreadがデッドロックしたと例外が発生します.
# コメント部分をはずせば, デッドロックはしません

シグナルのtrapが絡むときのデッドロックの検知に問題があるのではないかと
思いますがいかがでしょう? 

% ruby -v
ruby 2.5.0dev (2017-07-25 trunk 59417) [i686-linux]

-- 
q = Queue.new
p = Queue.new

trap(:SIGCHLD) do
  puts "SIGCHLD"
  q.push 1
end

Thread.start do
  Process.spawn("/bin/sleep 1")
end

#Thread.start do
#  loop do
#    sleep 100
#  end
#end

th = Thread.start{
  p.push q.pop
}

p.pop

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka•com <<---

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ruby-dev:50359] Re: SIGCHLD and Thread dead-lock problem
  2017-07-25 15:51 [ruby-dev:50186] SIGCHLD and Thread dead-lock problem Keiju ISHITSUKA
@ 2017-12-18  1:56 ` Tomoyuki Chikanaga
  2017-12-18 13:09   ` [ruby-dev:50364] " keiju ISHITSUKA
  0 siblings, 1 reply; 3+ messages in thread
From: Tomoyuki Chikanaga @ 2017-12-18  1:56 UTC (permalink / raw)
  To: Ruby developers (Japanese)

[-- Attachment #1: Type: text/plain, Size: 1195 bytes --]

nagachika です。

再現コードはやや異なりますが、 [Bug #14181] と類似のようですので、
r61274, r61302 で修正されている可能性があるのではないかと思います。



2017年7月26日 0:51 Keiju ISHITSUKA <keiju@ishitsuka•com>:

> けいじゅ@いしつかです.
>
> 下記のプログラムを実行するとThreadがデッドロックしたと例外が発生します.
> # コメント部分をはずせば, デッドロックはしません
>
> シグナルのtrapが絡むときのデッドロックの検知に問題があるのではないかと
> 思いますがいかがでしょう?
>
> % ruby -v
> ruby 2.5.0dev (2017-07-25 trunk 59417) [i686-linux]
>
> --
> q = Queue.new
> p = Queue.new
>
> trap(:SIGCHLD) do
>   puts "SIGCHLD"
>   q.push 1
> end
>
> Thread.start do
>   Process.spawn("/bin/sleep 1")
> end
>
> #Thread.start do
> #  loop do
> #    sleep 100
> #  end
> #end
>
> th = Thread.start{
>   p.push q.pop
> }
>
> p.pop
>
> __
> ---------------------------------------------------->> 石塚 圭樹 <<---
> ---------------------------------->> e-mail: keiju@ishitsuka•com <<---
>

[-- Attachment #2: Type: text/html, Size: 1740 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ruby-dev:50364] Re: SIGCHLD and Thread dead-lock problem
  2017-12-18  1:56 ` [ruby-dev:50359] " Tomoyuki Chikanaga
@ 2017-12-18 13:09   ` keiju ISHITSUKA
  0 siblings, 0 replies; 3+ messages in thread
From: keiju ISHITSUKA @ 2017-12-18 13:09 UTC (permalink / raw)
  To: Ruby developers (Japanese)

けいじゅ@いしつかです.

情報ありがとうございます.

試してみましたが, 問題は解消していませんでした...



Tomoyuki Chikanaga <nagachika00@gmail•com> wrote:

> 再現コードはやや異なりますが、 [Bug #14181] と類似のようですので、
> r61274, r61302 で修正されている可能性があるのではないかと思います。

> 2017年7月26日 0:51 Keiju ISHITSUKA <keiju@ishitsuka•com>:
> 
>     けいじゅ@いしつかです.
>    
>     下記のプログラムを実行するとThreadがデッドロックしたと例外が発生します.
>     # コメント部分をはずせば, デッドロックはしません
>    
>     シグナルのtrapが絡むときのデッドロックの検知に問題があるのではないかと
>     思いますがいかがでしょう?
>    
>     % ruby -v
>     ruby 2.5.0dev (2017-07-25 trunk 59417) [i686-linux]
>    
>     --
>     q = Queue.new
>     p = Queue.new
>    
>     trap(:SIGCHLD) do
>       puts "SIGCHLD"
>       q.push 1
>     end
>    
>     Thread.start do
>       Process.spawn("/bin/sleep 1")
>     end
>    
>     #Thread.start do
>     #  loop do
>     #    sleep 100
>     #  end
>     #end
>    
>     th = Thread.start{
>       p.push q.pop
>     }
>    
>     p.pop
>    
>     __
>     ---------------------------------------------------->> 石塚圭樹 <<---
>     ---------------------------------->> e-mail: keiju@ishitsuka•com <<---

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka•com <<---

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-12-18 13:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-25 15:51 [ruby-dev:50186] SIGCHLD and Thread dead-lock problem Keiju ISHITSUKA
2017-12-18  1:56 ` [ruby-dev:50359] " Tomoyuki Chikanaga
2017-12-18 13:09   ` [ruby-dev:50364] " keiju ISHITSUKA

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).