[#42338] [Ruby 1.9-Bug#3907][Open] WIN32OLE_TYPELIB Can't load while envvar in the pathname . — Akio Tajima <redmine@...>
Bug #3907: WIN32OLE_TYPELIB Can't load while envvar in the pathname .
[#42345] [Ruby 1.9-Feature#3917][Open] [proposal] called_from() which is much faster than caller() — makoto kuwata <redmine@...>
Feature #3917: [proposal] called_from() which is much faster than caller()
ささだです。
桑田です。日本語が文字化けしてたようで申し訳ないです。
桑田さん
[#42369] [BUG: trunk] Lazy sweep and ObjectSpace.each_object — SASADA Koichi <ko1@...>
ささだです。
まつもと ゆきひろです
ささだです。
nariです。
ささだです。
[#42375] [Ruby 1.9-Feature#3946][Open] Array#packのqQ指定子に機種依存サイズフラグ!を追加 — Yui NARUSE <redmine@...>
Feature #3946: Array#packのqQ指定子に機種依存サイズフラグ!を追加
2010年10月14日15:36 Yui NARUSE <redmine@ruby-lang.org>:
(2010/10/14 21:07), Tanaka Akira wrote:
2010年10月14日21:29 NARUSE, Yui <naruse@airemix.jp>:
2010年10月18日13:26 Tanaka Akira <akr@fsij.org>:
2010年10月18日14:04 NARUSE, Yui <naruse@airemix.jp>:
チケット #3946 が更新されました。 (by Usaku NAKAMURA)
2010年11月25日10:57 Usaku NAKAMURA <redmine@ruby-lang.org>:
こんにちは、なかむら(う)です。
2012年2月9日16:47 U.Nakamura <usa@garbagecollect.jp>:
[#42376] [Ruby 1.9-Feature#3947][Open] Array#packのにエンディアン指定修飾子</>を追加 — Yui NARUSE <redmine@...>
Feature #3947: Array#packのにエンディアン指定修飾子</>を追加
チケット #3947 が更新されました。 (by Yui NARUSE)
2010年10月14日21:36 Yui NARUSE <redmine@ruby-lang.org>:
2010年10月15日8:01 Tanaka Akira <akr@fsij.org>:
[#42403] [Ruby 1.9-Bug#3956][Open] format() の %a 指定子で幅指定が正しく機能しない — tadayoshi funaba <redmine@...>
Bug #3956: format() の %a 指定子で幅指定が正しく機能しない
2010年10月17日23:21 tadayoshi funaba <redmine@ruby-lang.org>:
> 2010年10月17日23:21 tadayoshi funaba <redmine@ruby-lang.org>:
> > 2010年10月17日23:21 tadayoshi funaba <redmine@ruby-lang.org>:
[#42420] [Ruby 1.9-Feature#3961][Open] printfと精度指定と負の値と — Yui NARUSE <redmine@...>
Feature #3961: printfと精度指定と負の値と
[#42464] [Ruby 1.9-Bug#3990][Assigned] tests of rexml/rss reports many errors and failures without iconv — Usaku NAKAMURA <redmine@...>
Bug #3990: tests of rexml/rss reports many errors and failures without iconv
チケット #3990 が更新されました。 (by Kouhei Sutou)
成瀬です。
須藤です。
(2010/11/02 21:50), Kouhei Sutou wrote:
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
(2010/11/06 12:10), Kouhei Sutou wrote:
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
成瀬です。
須藤です。
> iconv.soがない環境でtest-allを実行すると、rexmlとrssのテストで
[#42469] Re: [ruby-cvs:36800] Ruby:r29603 (trunk): * object.c (Init_Object), constant.h, variable.c — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
遠藤です。
[#42477] [Ruby 1.9-Feature#3995][Open] Hash#update with Enumerable — Nobuyoshi Nakada <redmine@...>
Feature #3995: Hash#update with Enumerable
[#42480] memory profiler for test-all — SASADA Koichi <ko1@...>
ささだです。
ささだです。
[ruby-dev:42492] Re: memory profiler for test-all
なかだです。
At Fri, 29 Oct 2010 03:05:07 +0900,
SASADA Koichi wrote in [ruby-dev:42481]:
> > fiddle の箇所で SEGV します。ただ、fiddle だけで実行すると SEGV しな
> > い。きちんと調べないと無理っぽいです。ObjectSpace.each_objects 相当をし
> > ているので、誰かが変なオブジェクトを生成している、ってことだと思います。
>
> これは、この仕組みがうまく機能していなかっただけで、改訂版ではきっちり
> test-all TESTS=fiddle で SEGV しました。
Fiddle::Closure#allocateがcifを初期化していないからのようです。
どこかでinitializeされないままのインスタンスがあるんでしょう。
これでSEGVします。
10000.times{ObjectSpace.memsize_of(Fiddle::Closure.allocate)}
allocate()に MEMZERO(closure->cif, ffi_cif, 1) を入れるだけでも
落ちなくなりますが、そもそもcifをポインタにする必要もないように
見えます。
diff --git a/ext/fiddle/closure.c b/ext/fiddle/closure.c
index 5e9ede7..157b97c 100644
--- a/ext/fiddle/closure.c
+++ b/ext/fiddle/closure.c
@@ -5,7 +5,7 @@ VALUE cFiddleClosure;
typedef struct {
void * code;
ffi_closure *pcl;
- ffi_cif * cif;
+ ffi_cif cif;
int argc;
ffi_type **argv;
} fiddle_closure;
@@ -23,7 +23,6 @@ dealloc(void * ptr)
#else
munmap(cls->pcl, sizeof(cls->pcl));
#endif
- xfree(cls->cif);
if (cls->argv) xfree(cls->argv);
xfree(cls);
}
@@ -37,7 +36,7 @@ closure_memsize(const void * ptr)
if (ptr) {
size += sizeof(*cls);
#if !defined(FFI_NO_RAW_API) || !FFI_NO_RAW_API
- size += ffi_raw_size(cls->cif);
+ size += ffi_raw_size(&cls->cif);
#endif
size += sizeof(*cls->argv);
size += sizeof(ffi_closure);
@@ -148,7 +147,6 @@ allocate(VALUE klass)
closure->pcl = mmap(NULL, sizeof(ffi_closure), PROT_READ | PROT_WRITE,
MAP_ANON | MAP_PRIVATE, -1, 0);
#endif
- closure->cif = xmalloc(sizeof(ffi_cif));
return i;
}
@@ -185,7 +183,7 @@ initialize(int rbargc, VALUE argv[], VALUE self)
rb_iv_set(self, "@ctype", ret);
rb_iv_set(self, "@args", args);
- cif = cl->cif;
+ cif = &cl->cif;
pcl = cl->pcl;
result = ffi_prep_cif(cif, NUM2INT(abi), argc,
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦