[#23295] [proposal] new function for mathing path name — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
6 messages
2004/04/01
[#23296] Re: [proposal] new function for mathing path name
— matz@... (Yukihiro Matsumoto)
2004/04/01
まつもと ゆきひろです
[#23309] 100000000000000000000000 == 100000000000000000000000.0 — Tanaka Akira <akr@...17n.org>
ふと (またしても) 気がついたのですが、次のように
5 messages
2004/04/02
[#23310] Re: 100000000000000000000000 == 100000000000000000000000.0
— matz@... (Yukihiro Matsumoto)
2004/04/02
まつもと ゆきひろです
[#23311] Re: 100000000000000000000000 == 100000000000000000000000.0
— Tanaka Akira <akr@...17n.org>
2004/04/02
In article <1080884868.201381.30812.nullmailer@picachu.netlab.jp>,
[#23324] test_pack_U/test_huge_difference error — MIYAMUKO Katsuyuki <k-miyamuko@...>
みやむこです。
9 messages
2004/04/05
[#23353] Re: test_pack_U/test_huge_difference error
— "NAKAMURA, Hiroshi" <nakahiro@...>
2004/04/08
なひです。
[#23332] to_str再考 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
15 messages
2004/04/05
[#23392] Re: to_str再考
— nobu.nakada@...
2004/04/16
なかだです。
[#23396] Re: to_str再考
— Tanaka Akira <akr@...17n.org>
2004/04/16
In article <200404160100.i3G10FjJ003540@sharui.nakada.niregi.kanuma.tochigi.jp>,
[#23346] Solaris Errno::E000 — とみたまさひろ <tommy@...>
とみたです。
4 messages
2004/04/07
[#23380] [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
17 messages
2004/04/15
[#23400] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/16
山本です。落ちる場所がわかりました。
[#23402] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/16
山本です。
[#23403] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— nobu.nakada@...
2004/04/16
なかだです。
[#23405] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/16
山本です。
[#23407] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/16
山本です。
[#23412] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/20
山本です。原因を絞り込めました。
[#23413] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/20
山本です。
[#23414] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "U.Nakamura" <usa@...>
2004/04/20
こんにちは、なかむら(う)です。
[#23415] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/20
山本です。
[#23416] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/20
山本です。
[#23417] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/04/20
山本です。SEGVの原因がわかりました。
[#23418] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
— nobu.nakada@...
2004/04/20
なかだです。
[#23381] gdbm read only access — Tanaka Akira <akr@...17n.org>
ふと、GDBM を read only で access したくなったのですが、GDBM.open には
4 messages
2004/04/15
[#23385] Process::Status as boolean — nobu.nakada@...
なかだです。
7 messages
2004/04/15
[#23394] drb test failure due to multiple value class — nobu.nakada@...
なかだです。
3 messages
2004/04/16
[#23408] Ruby/Bsearch — MoonWolf <moonwolf@...>
MoonWolfです。
6 messages
2004/04/19
[#23432] Resolv.getaddress(IPv6) causes error — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
7 messages
2004/04/23
[#23433] Re: Resolv.getaddress(IPv6) causes error
— Tanaka Akira <akr@...17n.org>
2004/04/23
In article <20040423115903.F2C7.USA@garbagecollect.jp>,
[#23434] Re: Resolv.getaddress(IPv6) causes error
— "U.Nakamura" <usa@...>
2004/04/23
こんにちは、なかむら(う)です。
[#23443] [Oniguruma] Version 2.2.8 — <kkosako@...>
ftp.ruby-lang.orgとhttp://www.geocities.jp/kosako1/に、
6 messages
2004/04/27
[ruby-dev:23417] Re: [SEGV] make test-all (bccwin32 ruby1.9.0)
From:
"H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date:
2004-04-20 08:51:15 UTC
List:
ruby-dev #23417
山本です。SEGVの原因がわかりました。
/////////////////////////////
// 2 Mar 2004
E:\ruby-cvs\ruby-temp\ruby>miniruby -e "p system('miniruby -v')"
ruby 1.9.0 (2004-03-01) [i386-bccwin32]
true
/////////////////////////////
// 3 Mar 2004
E:\ruby-cvs\ruby-temp\ruby>miniruby -e "p system('miniruby -v')"
ruby 1.9.0 (2004-03-02) [i386-bccwin32]
-e:1: [BUG] Segmentation fault
ruby 1.9.0 (2004-03-02) [i386-bccwin32]
Abnormal program termination
////////////////////////////
// Change
U ruby/ChangeLog
U ruby/io.c
U ruby/process.c
U ruby/version.h
U ruby/lib/scanf.rb
U ruby/lib/drb/extservm.rb
U ruby/lib/rdoc/diagram.rb
U ruby/lib/rdoc/generators/chm_generator.rb
U ruby/lib/rdoc/ri/ri_display.rb
U ruby/test/ruby/test_iterator.rb
U ruby/test/scanf/data.txt
U ruby/test/scanf/test_scanf.rb
U ruby/test/scanf/test_scanfblocks.rb
U ruby/test/scanf/test_scanfio.rb
U ruby/win32/Makefile.sub
U ruby/win32/win32.c
U ruby/wince/Makefile.sub
この日に process.c が変更されているのですが、
prog = rb_check_argv(argc, argv);
if (!prog && argc == 1) {
--argc;
prog = *argv++;
}
/* 中略 */
if (prog) argv[0] = prog;
となっていて、rb_check_argv をした後に !prog && argc == 1 だと
argv が無効なポインタを指すので、argv[0] への代入でメモリを壊して
いるのだと思います。
下のようにすれば SEGV はしなくなります。(これが意図された挙動かどうかは
わかりません)
Index: process.c
===================================================================
RCS file: /ruby/ruby/process.c,v
retrieving revision 1.104
diff -u -w -b -p -r1.104 process.c
--- process.c 15 Apr 2004 15:02:00 -0000 1.104
+++ process.c 20 Apr 2004 08:48:30 -0000
@@ -1547,7 +1547,7 @@ rb_spawn(argc, argv)
earg.argv = argv;
earg.prog = prog ? RSTRING(prog)->ptr : 0;
status = rb_fork(&status, (int (*)_((void*)))rb_exec, &earg);
- if (prog) argv[0] = prog;
+ if (prog && argc) argv[0] = prog;
#elif defined HAVE_SPAWNV
if (!argc) {
status = proc_spawn(RSTRING(prog)->ptr);
@@ -1555,9 +1555,9 @@ rb_spawn(argc, argv)
else {
status = proc_spawn_n(argc, argv, prog);
}
- if (prog) argv[0] = prog;
+ if (prog && argc) argv[0] = prog;
#else
- if (prog) argv[0] = prog;
+ if (prog && argc) argv[0] = prog;
prog = rb_ary_join(rb_ary_new4(argc, argv), rb_str_new2(" "));
status = system(StringValuePtr(prog));
# if defined(__human68k__) || defined(__DJGPP__)