[#39954] Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...>

 ささだです.

16 messages 2010/01/04
[#39957] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — Yugui <yugui@...> 2010/01/04

2010/1/4 SASADA Koichi <ko1@atdot.net>:

[#39959] Re: Fwd: [ruby-cvs:33451] Ruby:r26235 (trunk): * trace.h: new file. wraps tracing mechanisms. — SASADA Koichi <ko1@...> 2010/01/04

 ささだです.

[#39975] [Feature #2571] 文字列のハミング距離 — Kenta Murata <redmine@...>

Feature #2571: 文字列のハミング距離

14 messages 2010/01/07

[#39978] "require 'logge'" fails on ruby 1.8.7 from http://github.com/shyouhei/ruby — MOROHASHI Kyosuke <moronatural@...>

諸橋です。

7 messages 2010/01/07

[#40004] [Bug:trunk] require_relative depends on current directory — Yusuke ENDOH <mame@...>

遠藤です。

13 messages 2010/01/09

[#40074] [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <redmine@...>

Bug #2603: NetBSD 5.0以降でpthreadの処理に由来する不具合

29 messages 2010/01/14
[#40086] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — f-miura@... (MIURA, Fumiaki) 2010/01/14

NTTレゾナントの三浦です。不完全なpatchを書いてすみません。

[#40088] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/14

こんばんは。

[#40091] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — KOSAKI Motohiro <kosaki.motohiro@...> 2010/01/15

kosakiです

[#40092] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合 — Takahiro Kambe <taca@...> 2010/01/15

こんにちは。

[#40077] [Bug #2604] test_dsa_sign_verify() in test/openssl/test_ec.rb failes — Takahiro Kambe <redmine@...>

Bug #2604: test_dsa_sign_verify() in test/openssl/test_ec.rb failes

11 messages 2010/01/14

[#40153] [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...>

連投すみません。

19 messages 2010/01/25
[#40184] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

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

[#40189] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yusuke ENDOH <mame@...> 2010/01/27

遠藤です。

[#40191] Re: [Bug:trunk] three bugs of Matrix::Scalar — keiju@... (石塚圭樹) 2010/01/27

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

[#40224] Re: [Bug:trunk] three bugs of Matrix::Scalar — Yukihiro Matsumoto <matz@...> 2010/01/28

まつもと ゆきひろです

[#40162] [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Yusuke Endoh <redmine@...>

Bug #2658: rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR

8 messages 2010/01/26
[#40163] Re: [Bug #2658] rubyspec: Ruby character strings interpolates the return value of Object#inspect, without ivars, if Object#to_s does not return a String instance ERROR — Tanaka Akira <akr@...> 2010/01/26

2010年1月26日20:39 Yusuke Endoh <redmine@ruby-lang.org>:

[#40168] [Bug #2662] BigDecimal#ceil, etc. should not return Integer — Yusuke Endoh <redmine@...>

Bug #2662: BigDecimal#ceil, etc. should not return Integer

10 messages 2010/01/26

[#40200] [Feature #2673] the length for an enumerator generated by Array#permutation and Array#combination — Kenta Murata <redmine@...>

Feature #2673: the length for an enumerator generated by Array#permutation and Array#combination

14 messages 2010/01/28

[#40221] [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR — Yusuke ENDOH <mame@...>

まつもとさん、または lib/delegator.rb についてわかる誰か

13 messages 2010/01/28

[#40265] MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...>

手元の Ubuntu 9.10 の環境で Ruby 1.9.2 を make test-all すると

38 messages 2010/01/30
[#40326] Re: MonitorMixin::ConditionVariable#wait timeout — Shugo Maeda <shugo@...> 2010/02/05

前田です。

[#41155] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

前田さん、akr さん

[#41157] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日9:32 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41158] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41159] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/05

2010年5月5日11:46 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41160] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/05

遠藤です。

[#41182] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月5日13:22 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41183] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41186] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日19:58 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41205] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/06

遠藤です。

[#41207] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/06

2010年5月6日23:08 Yusuke ENDOH <mame@tsg.ne.jp>:

[#41208] Re: MonitorMixin::ConditionVariable#wait timeout — Tanaka Akira <akr@...> 2010/05/06

2010年5月6日23:15 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

[#41245] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41252] Re: MonitorMixin::ConditionVariable#wait timeout — KOSAKI Motohiro <kosaki.motohiro@...> 2010/05/10

kosakiです

[#41255] Re: MonitorMixin::ConditionVariable#wait timeout — Yusuke ENDOH <mame@...> 2010/05/10

遠藤です。

[#41256] Re: MonitorMixin::ConditionVariable#wait timeout — Masaya TARUI <tarui@...> 2010/05/10

樽家です。

[#40269] [Feature #2695] Supported Platforms — Kazuhiro NISHIYAMA <redmine@...>

Feature #2695: Supported Platforms

17 messages 2010/01/31
[#40760] [Feature #2695] Supported Platforms — Yusuke Endoh <redmine@...> 2010/03/25

チケット #2695 が更新されました。 (by Yusuke Endoh)

[ruby-dev:40101] Re: [Bug #2603] NetBSD 5.0以降でpthreadの処理に由来する不具合

From: KOSAKI Motohiro <kosaki.motohiro@...>
Date: 2010-01-15 08:23:52 UTC
List: ruby-dev #40101
こんにちは

> こんにちは。
> 
> In message <20100115091546.6EC3.A69D9226@jp.fujitsu.com>
> 	on Fri, 15 Jan 2010 09:26:02 +0900,
> 	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> >> で、thread_timer()から脱出できなくなる問題が解決するところまで確認した
> >> 状況で、全部のパターンを追えたというわけではありません。つまり、
> >> 
> >> > それと、fork()して作られた子供のrubyはruby threadを作れない、あるいは
> >> > 作れても動作は異なるということでしょうか? 
> >> といったケースはテストも何もしていませんねぇ。
> > 
> > すいません、よくわかっていないので、本件の方針を確認させてもらえませんか?
> 私が理解している範囲で、想定できるケースは以下の3つではないかと思います。
> 
> 1. fork(2)した子プロセスがexec(3)する場合
> 2. プロセス自身がfork(2)せずにexec(3)する場合
> 3. fork(2)した子プロセスがexec(3)せずに動作を続ける場合
> 
> 今回は1.と2.について取り上げ、redmineに登録したpatch-1ではとにかく1.だ
> けを、patch2では2.のケースも考慮した修正を行ったつもりです。
> 
> 1.については、fork(2)した子プロセスがpthread_*()な関数の呼び出しを避け
> るようにしたつもりです。
> 
> 2.については、fork(2)した子プロセスがpthread_*()な関数の呼び出しを避け
> つつ、fork(2)せずにexec(3)する場合は稼働しているpthreadの後始末を行う
> ようにしたつもりです。
> 
> 3.についてはテストすら行っていません。(test caseがないとも言えます。)
> ただ、C言語等でpthreadを使用したプログラミングでも、fork(2)と混ぜるこ
> とは本質的な危険性を伴うため、どこまで3.のようなケースが必要なのか若干
> の疑問を感じるところもあります。
> 
> というわけで、3.はともかく1.や2.は修正しないとまずいだろうというのが
> 私の要望です。

三浦さんと同じく2の必要性に疑問が・・・
(根拠も同じです)



> なお、patch-1とpatch-2のいずれかを適用しないと、fork(2)すらしないケース
> でも、timer_threadが待ち続ける状況も発生することに後から気付きました。
> 
> >> (1) fork(2)した子プロセスは非同期シグナルに対して安全な関数だけを使用でき、
> >>     pthread_*()な関数も使用できません(非同期シグナルに対して安全でない)。
> > 
> > という所なんですが、そもそもmalloc()を呼ばないことを保証できないような
> > 構造にすでになっているので、規格的な観点で絶対safeといえる実装に変更する事は
> > 困難と予想しています。
> 次元が違いますが、GNU iconvを前提とした //translit を使ったプログラム
> と同様な状態にRuby自体がなっているとも考えられます。
> 
> 長期的には、pthreadに対して安全な構造にした方が良いと思いますが、短期
> 的には難しいでしょう。

僕、iconvの件は単に//translitをrubyの仕様から落とせばええやん。と思ってました。
これがないと困る人っているんですか?(聞く相手が違う気もします。すいません)

> 
> > NetBSDの仕様(何をしたら刺さるか)を確認し、そこだけを避けるように変更する。
> > という方針だと思ってよいのでしょうか?
> 「NetBSDの仕様」ではなく、あくまでもfork(2)/pthread(3)の仕様を守るよう
> にして欲しいというのが「要望」です。
> 
> とは言うものの、現実的なところとして、
> 
> o 明らかにpthread(3)関係の関数呼び出しはまずい。
> o 間接的にpthread関係の関数呼び出しもまずい。
> o 非同期シグナルに対して安全でない関数でも、pthreadのデータ構造等に
>   直接関与しなければ案外大丈夫かもしれない。

ええと、一般論の話をするならlibcレベルでもreentrantじゃないけどスレッドセーフな関数は
わりと一杯あって、それは要するに内部でpthread_mutexかそれに類似したロックを
取っているということで、誰かがそういうロックを取っている最中に
forkすると、以後libcのスレッドセーフな関数を呼ぶと刺さるという結果に
なる可能性があります。

NetBSDの話をしているなら、きっと神戸さんが正しいと思います


あ、↑にコミットを反対する意図はありません。一応明言しておこう



In This Thread