[#44014] Re: [ruby-core:37707] [Ruby 1.9 - Bug #3781] FIBER_USE_NATIVE が有効だと落ちるスクリプトがある — Narihiro Nakamura <authornari@...>
nariです。
> 本当はgc_mark()の際に毎回stack_check()するのがいいと思うのですが、
nariです。
> GC::Profiler.enable
nariです。
[#44027] [RubyKaigi] Next version of Ruby 1.8 and 1.9 — "Yuki Sonoda (Yugui)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
遠藤です。
ささだです.
[#44034] [Ruby 1.9 - Bug #4971][Open] Module#class_variables — Shugo Maeda <redmine@...>
[#44048] [Ruby 1.9 - Bug #4223] GC.stress = true で謎の ArgumentError — Motohiro KOSAKI <kosaki.motohiro@...>
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82
[#44122] [Ruby 1.9 - Bug #5036][Open] time_modify/struct_modifyの例外メッセージがサブクラスの情報を反映しない — Kazuki Tsujimoto <kazuki@...>
[#44130] w.r.o/bugreport.html のリダイレクト先について — "Shota Fukumori (sora_h)" <sorah@...>
sora_hです.
[#44156] [Ruby 1.9 - Feature #5053][Open] ruby コマンドと libruby の食い違いチェック — Makoto Kishimoto <redmine@...>
[#44157] Re: [ruby-changes:20532] akr:r32579 (trunk): * io.c (rb_update_max_fd): new function. — KOSAKI Motohiro <kosaki.motohiro@...>
akrさん、
[#44189] [Ruby 1.9 - Bug #5075][Assigned] invalid *fdp in Mac OS X and FreeBSD over recvmsg with SCM_RIGHTS — Yui NARUSE <naruse@...>
2011/7/22 Yui NARUSE <naruse@airemix.jp>:
In message <CANjopZGqKbM4O6vMkOHrZcD1YLLOJ86-hDHsK3C+px9kdrW4Eg@mail.gmail.com>
[#44201] [Ruby 1.9 - Bug #5081][Open] LionでTestSyslog が一件 failure — Motohiro KOSAKI <kosaki.motohiro@...>
[#44210] 1.9.3 (以降) の BigDecimal について — Tadayoshi Funaba <tadf@...>
BigDecimal() で整数、浮動小数点数、有理数などを受けとれるようになって、
変換には明示的なものとそうでないものがありますが、
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82 =20
> 後者の暗黙的変換については、相手の BigDecimal に合わせて精度を決定できます。
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82 =20
だから、現時点で精度を必須にするのはあまり意味がないんじゃないですかね。
=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82 =20
[#44223] [Ruby 1.9 - Bug #5094][Assigned] Supported platforms of Ruby 1.9.3 — Yui NARUSE <naruse@...>
> == 成瀬の提案
卜部です
遠藤です。
(07/26/2011 12:38 PM), Yusuke ENDOH wrote:
遠藤です。
卜部で、前回のメールに書き忘れたことがあったとすれば、べつに192のク
遠藤です。
2011年7月26日22:39 Yusuke ENDOH <mame@tsg.ne.jp>:
[#44251] [Ruby 1.9 - Bug #372][Assigned] Rinda has a race condition — Motohiro KOSAKI <kosaki.motohiro@...>
[#44253] [Ruby 1.9 - Bug #5104][Open] test_rinda.rb の GC保護もれ — Tomoyuki Chikanaga <nagachika00@...>
[#44254] [Ruby 1.8 - Bug #5105][Open] CGI::Session#session_id の生成方法について — Masahiro Tomita <tommy@...>
とみたです。
(2011/07/27 19:47), とみたまさひろ wrote:
とみたです。
とみたです。
2011年7月29日20:04 とみたまさひろ <tommy@tmtm.org>:
(2011/07/29 23:55), Tanaka Akira wrote:
2011年8月13日17:31 NARUSE, Yui <naruse@airemix.jp>:
>> ふと思ったのですが、 openssl を使うときでも、/dev/urandom があるならば、
(2011/08/13 20:35), KOSAKI Motohiro wrote:
2011年8月13日23:12 NARUSE, Yui <naruse@airemix.jp>:
[ruby-dev:44209] [Ruby 1.9 - Bug #5075] invalid *fdp in Mac OS X and FreeBSD over recvmsg with SCM_RIGHTS
Issue #5075 has been updated by Tomoyuki Chikanaga.
わたしが確認したのは Snow Leopard でした。MSG_PEEK をつけた recvmsg() で不正な fd が取り出されるのを確認しました。
----------------------------------------
Bug #5075: invalid *fdp in Mac OS X and FreeBSD over recvmsg with SCM_RIGHTS
http://redmine.ruby-lang.org/issues/5075
Author: Yui NARUSE
Status: Assigned
Priority: Normal
Assignee: Akira Tanaka
Category: ext
Target version: 1.9.3
ruby -v: -
Mac OS X と FreeBSD にて、存在しない fd を close してしまう問題について、
現在 r32598 で応急処置が施されていますが、根本的な原因について、
sys/kern/uipc_socket.c を見るに、
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/uipc_socket.c?rev=1.340.2.6.2.1;content-type=text%2Fplain;only_with_tag=RELENG_8_2_0_RELEASE
* Process one or more MT_CONTROL mbufs present before any data mbufs
* in the first mbuf chain on the socket buffer. If MSG_PEEK, we
* just copy the data; if !MSG_PEEK, we call into the protocol to
* perform externalization (or freeing if controlp == NULL).
とあるので、recvmsg に MSG_PEEK を与えた場合は invalid なものが返ってくると思うのですが。
ちなみに、以下のような printf パッチをあてて走らせると、discard_cmsg() に来たものは全て invalid になっています。
diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c
index 61e0576..ad44fb4 100644
--- a/ext/socket/ancdata.c
+++ b/ext/socket/ancdata.c
@@ -1379,6 +1379,7 @@ rb_recvmsg(int fd, struct msghdr *msg, int flags)
static void
discard_cmsg(struct cmsghdr *cmh, char *msg_end)
{
+ fprintf(stderr, "discard_cmsg-begin\n");
if (cmh->cmsg_level == SOL_SOCKET && cmh->cmsg_type == SCM_RIGHTS) {
int *fdp = (int *)CMSG_DATA(cmh);
int *end = (int *)((char *)cmh + cmh->cmsg_len);
@@ -1391,12 +1392,18 @@ discard_cmsg(struct cmsghdr *cmh, char *msg_end)
*/
struct stat buf;
if (fstat(*fdp, &buf) == 0) {
+ fprintf(stderr, "fdp: %d is valid (%p %p %p)\n", *fdp,fdp,end,msg_end);
rb_update_max_fd(*fdp);
close(*fdp);
}
+ else {
+ fprintf(stderr, "fdp: %d is invalid (%p %p %p)\n", *fdp,fdp,end,msg_end);
+ rb_backtrace();
+ }
fdp++;
}
}
+ fprintf(stderr, "discard_cmsg-end\n");
}
#endif
@@ -1432,6 +1439,7 @@ make_io_for_unix_rights(VALUE ctl, struct cmsghdr *cmh, char *msg_end)
(char *)fdp + sizeof(int) <= msg_end) {
int fd = *fdp;
struct stat stbuf;
+ fprintf(stderr,"makeiounixr: %d (%p %p %p)\n", *fdp,fdp,end,msg_end);
VALUE io;
if (fstat(fd, &stbuf) == -1)
rb_raise(rb_eSocket, "invalid fd in SCM_RIGHTS");
--
http://redmine.ruby-lang.org