[#18440] racc segv revisited — "Akinori MUSHA" <knu@...>

 次のバグの件なんですが、現時点では原因究明を含めて未解決という

24 messages 2002/10/02
[#18617] Re: racc segv revisited — "Akinori MUSHA" <knu@...> 2002/11/02

At Wed, 2 Oct 2002 23:19:59 +0900,

[ruby-dev:18438] Re: [ruby-cvs] ruby/ext/tcltklib: * eval.c (ruby_run): should set toplevel visibility again here.

From: nobu.nakada@...
Date: 2002-10-02 10:14:42 UTC
List: ruby-dev #18438
なかだです。

At Wed, 2 Oct 2002 18:38:42 +0900,
Nobuyoshi-Nakada wrote:
> > |このtcltklib.cに関するlogがないんですが、
> > |1.6にはrb_proc_newはありません。
> > |
> > |tcltklib.o(.text+0x1a29):tcltklib.c: undefined reference to `rb_proc_new'
> > 
> > むう、修正しておきます。
> 
> rb_f_lambda()を使うようになってますが、これでできるんでしたっけ。
> たしかPUSH_ITER(ITER_CUR)してなくてできないので、rb_proc_new()
> が必要だったような気がするのですが。

これを試そうとしてうっかりTclTkIp.new._invokeなんてやったらSEGV
しました。


Index: ext/tcltklib/tcltklib.c
===================================================================
RCS file: /cvs/ruby/src/ruby/ext/tcltklib/tcltklib.c,v
retrieving revision 1.6.2.4
diff -u -2 -p -r1.6.2.4 tcltklib.c
--- ext/tcltklib/tcltklib.c	1 Oct 2002 08:15:26 -0000	1.6.2.4
+++ ext/tcltklib/tcltklib.c	2 Oct 2002 09:48:09 -0000
@@ -756,4 +756,7 @@ ip_invoke(argc, argv, obj)
     Tcl_QueuePosition position;
 
+    if (argc < 1) {
+	rb_raise(rb_eArgError, "command name missing");
+    }
     if (eventloop_thread == 0 || current == eventloop_thread) {
       DUMP2("invoke from current eventloop %lx", current);


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread