[#26664] refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

22 messages 2005/08/01
[#26665] Re: refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/01

山本です。

[#26668] Re: refactoring tcltklib.c (deleted ip check) — Hidetoshi NAGAI <nagai@...> 2005/08/01

永井@知能.九工大です.

[#26678] Re: refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/01

山本です。

[#26684] Re: refactoring tcltklib.c (deleted ip check) — Hidetoshi NAGAI <nagai@...> 2005/08/01

永井@知能.九工大です.

[#26686] Re: refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/01

山本です。

[#26817] test/socket/test_tcp.rb freeze on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

12 messages 2005/08/18

[#26829] cannot check EOF of pipe on windows — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

19 messages 2005/08/19
[#26830] Re: cannot check EOF of pipe on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/19

山本です。

[#26831] Re: cannot check EOF of pipe on windows — "U.Nakamura" <usa@...> 2005/08/19

こんにちは、なかむら(う)です。

[#26832] Re: cannot check EOF of pipe on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/19

山本です。

[#26836] Re: cannot check EOF of pipe on windows — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/08/19

なかだです。

[#26872] irb -I/ruby -Iと$LOAD_PATH — akira yamada / やまだあきら <akira@...>

Debianユーザからruby -Iとirb -Iで

17 messages 2005/08/24
[#26873] Re: irb -I/ruby -Iと$LOAD_PATH — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/08/24

なかだです。

[#26875] Re: irb -I/ruby -Iと$LOAD_PATH — akira yamada / やまだあきら <akira@...> 2005/08/24

nobuyoshi nakada wrote:

[#26885] Re: irb -I/ruby -Iと$LOAD_PATH — keiju@... (石塚圭樹) 2005/08/26

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

[#26897] fail on make install — KIMURA Koichi <kimura.koichi@...>

木村です。

28 messages 2005/08/29
[#26898] Re: fail on make install — "U.Nakamura" <usa@...> 2005/08/29

こんにちは、なかむら(う)です。

[#26903] Re: fail on make install — KIMURA Koichi <kbk@...> 2005/08/29

木村です。

[#26922] Re: fail on make install — KIMURA Koichi <kimura.koichi@...> 2005/08/30

木村です。

[#26926] Re: fail on make install — KIMURA Koichi <kimura.koichi@...> 2005/08/31

木村です。

[#26927] Re: fail on make install — "U.Nakamura" <usa@...> 2005/08/31

こんにちは、なかむら(う)です。

[#26928] Re: fail on make install — KIMURA Koichi <kimura.koichi@...> 2005/08/31

木村です。

[#26929] Re: fail on make install — "U.Nakamura" <usa@...> 2005/08/31

こんにちは、なかむら(う)です。

[#26930] Re: fail on make install — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/08/31

なかだです。

[#26931] Re: fail on make install — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/08/31

山本です。

[#26933] Re: fail on make install — nobu@... 2005/08/31

なかだです。

[#26938] Re: fail on make install — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/09/01

なかだです。

[#26939] Re: fail on make install — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/09/01

山本です。

[#26900] multiplying empty string — nobuyoshi nakada <nobuyoshi.nakada@...>

19 messages 2005/08/29
[#26904] Re: multiplying empty string — Yukihiro Matsumoto <matz@...> 2005/08/29

まつもと ゆきひろです

[#26907] Re: multiplying empty string — Tanaka Akira <akr@...17n.org> 2005/08/29

In article <1125327516.070646.12845.nullmailer@x31.priv.netlab.jp>,

[#26909] Re: multiplying empty string — Yukihiro Matsumoto <matz@...> 2005/08/29

まつもと ゆきひろです

[ruby-dev:26765] ip_finalize でデバッグモードを解除しないと落ちる問題について

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2005-08-08 12:19:01 UTC
List: ruby-dev #26765
山本です。

tcltklib.c の ip_finalize でデバッグモードを解除しないと
落ちるというのは、ファイナライザが呼ばれる時点で rb_stderr が解放
されてしまっているのではないでしょうか。TYPE(rb_stderr) == 0 と
なっているため、後続の関数の TYPE(rb_stderr) == T_FILE が成り立たず、
無限ループになってしまってました。(結果、スタックオーバーフローで落ちる)

というか、ファイナライザで ruby コードが走ってもいいんでしょうか?
コールバック経由で ruby コードが呼ばれているようだったのですが。

////////////////////////////////////////////////
// とりあえず落ちなくなるパッチ

Index: io.c
===================================================================
RCS file: /src/ruby/io.c,v
retrieving revision 1.375
diff -u -w -b -p -r1.375 io.c
--- io.c	27 Jul 2005 07:27:18 -0000	1.375
+++ io.c	8 Aug 2005 11:57:53 -0000
@@ -3934,8 +3934,13 @@ rb_write_error2(mesg, len)
     const char *mesg;
     long len;
 {
+    if (TYPE(rb_stderr)) {
     rb_io_write(rb_stderr, rb_str_new(mesg, len));
 }
+    else {
+	fprintf(mesg, len, 1, stderr);
+    }
+}
 
 void
 rb_write_error(mesg)
Index: ext/tk/tcltklib.c
===================================================================
RCS file: /src/ruby/ext/tk/tcltklib.c,v
retrieving revision 1.36
diff -u -w -b -p -r1.36 tcltklib.c
--- ext/tk/tcltklib.c	6 Aug 2005 16:27:12 -0000	1.36
+++ ext/tk/tcltklib.c	8 Aug 2005 11:56:26 -0000
@@ -4278,14 +4278,14 @@ ip_finalize(ip)
     delete_slaves(ip);
 
     /* delete root widget */
-#if 0
+#if 1
     DUMP1("check `destroy'");
     if (Tcl_GetCommandInfo(ip, "destroy", &info)) {
         DUMP1("call `destroy'");
         Tcl_GlobalEval(ip, "destroy .");
     }
 #endif
-#if 1
+#if 0
     DUMP1("destroy root widget");
     if (tk_stubs_init_p() && Tk_MainWindow(ip) != (Tk_Window)NULL) {
         DUMP1("call Tk_DestroyWindow");

//////////////////////////
// 結果

E:\ruby-cvs\win32>ruby ..\ruby\runruby.rb --ext=".ext" -- -d -C ..\ruby\ext\tk\s
ample binstr_usage.rb

(snip)

E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001.w00002
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001.w00003
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001.w00004
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.w00001
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: receiver:TkCore
tcltklib: arg:c00000
tcltklib: arg:.
tcltklib: call ip_ruby_cmd_core
E:/ruby-cvs/win32/.ext/tk.rb:1118: warning: instance variable @tk_cmd_tbl not in
itialized
tcltklib: finish ip_ruby_cmd_core
tcltklib: check `finalize-hook-proc'
tcltklib: call finalize hook proc 'INTERP_FINALIZE_HOOK'
tcltklib: check `foreach' & `after'
tcltklib: cancel after callbacks
tcltklib: finish ip_finalize
tcltklib: complete freeing Tcl Interp

In This Thread

Prev Next