[#25897] Mail archive searching? — "Martin J. Dürst" <duerst@...>
Why does ruby-dev's official archive
[#25928] Ruby 1.8.6-p383 hangs in dln_load on Snow Leopard — Timothy Hunter <cyclists@...>
An RMagick user reports that Ruby 1.8.6 hangs when requiring RMagick.
On Oct 3, 2009, at 4:26 PM, Timothy Hunter wrote:
On Oct 3, 10:26m, Timothy Hunter <cycli...@nc.rr.com> wrote:
[#25936] [Bug:1.9] [rubygems] $LOAD_PATH includes bin directory — Nobuyoshi Nakada <nobu@...>
Hi,
On Sun, Oct 4, 2009 at 11:47 PM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#25943] Disabling tainting — Tony Arcieri <tony@...>
Would it make sense to have a flag passed to the interpreter on startup that
2009/10/6 Tony Arcieri <tony@medioh.com>:
On Tue, Oct 6, 2009 at 3:52 AM, Yugui <yugui@yugui.jp> wrote:
[#25964] mis filed bug reports — Roger Pack <rogerdpack2@...>
If i accidentally file a bug under 1.9 that belongs in 1.8, I assume I
[#25965] [Bug #2180] request: add *Method#source_location to 1.8.x — Roger Pack <redmine@...>
Bug #2180: request: add *Method#source_location to 1.8.x
[#25969] [Bug #2181] Segmentation fault for test/drb/* -- possible bug in Marshal/GC — Nikolai Lugovoi <redmine@...>
Bug #2181: Segmentation fault for test/drb/* -- possible bug in Marshal/GC
[#26012] Segfaults after multiple call of ruby_node_run — Christoph Kappel <unexist@...>
[#26028] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error — Marc-Andre Lafortune <redmine@...>
Bug #2189: Math.atanh(1) & Math.atanh(-1) should not raise an error
[#26070] [Bug #2201] Process.spawn fails in 1.9.1 — Roger Pack <redmine@...>
Bug #2201: Process.spawn fails in 1.9.1
[#26087] [Bug #2212] Using a Lambda with Inappropriate Arity for Hash#default_proc= — Run Paint Run Run <redmine@...>
Bug #2212: Using a Lambda with Inappropriate Arity for Hash#default_proc=
[#26126] The fate of my keyword documentation — "David A. Black" <dblack@...>
Hi --
[#26200] [Bug #2243] Random instance variables order — Maxim Chechel <redmine@...>
Bug #2243: Random instance variables order
[#26222] [Bug #2250] IO::for_fd() objects' finalization dangerously closes underlying fds — Mike Pomraning <redmine@...>
Bug #2250: IO::for_fd() objects' finalization dangerously closes underlying fds
[#26232] [Feature #2255] unicode parameters cannot be passed to ruby — Vit Ondruch <redmine@...>
Feature #2255: unicode parameters cannot be passed to ruby
[#26237] [Bug #2256] net\ftp.rb failing on implicit cast of Pathname to string — Sai Fujinaro <redmine@...>
Bug #2256: net\ftp.rb failing on implicit cast of Pathname to string
[#26262] [Feature #2260] better access with GC_DEBUG — Roger Pack <redmine@...>
Feature #2260: better access with GC_DEBUG
[#26299] Which commit fixed Set#hash (Hash#hash, I assume) between 1.9.1 and 1.9.2? — "Shot (Piotr Szotkowski)" <shot@...>
Hello, good people of ruby-core.
[#26303] IO.foreach (and friends) effect on $< and $. — Charles Oliver Nutter <headius@...>
I have a few questions about how the line-by-line IO operations are
[#26336] [Bug #2283] Ruby 1.9.1p243 spinning with 100% CPU; perhaps rb_str_slice_bang-related — Mark Aiken <redmine@...>
Bug #2283: Ruby 1.9.1p243 spinning with 100% CPU; perhaps rb_str_slice_bang-related
[#26361] [Feature #2294] [PATCH] ruby_bind_stack() to embed Ruby in coroutine — Suraj Kurapati <redmine@...>
Feature #2294: [PATCH] ruby_bind_stack() to embed Ruby in coroutine
Issue #2294 has been updated by Anonymous Anonymous.
Hi,
Hi,
Hi,
[#26388] suggestion: gems.ruby-lang.org — Yusuke ENDOH <mame@...>
Hi --
On Wed, Oct 28, 2009 at 3:20 AM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
On Wed, Oct 28, 2009 at 9:00 PM, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
[#26390] [Bug #2303] dl.so segfaults on mingw32 — Nikolai Weibull <redmine@...>
Bug #2303: dl.so segfaults on mingw32
[#26429] [Bug #2313] Incomplete encoding conversion? — Adam Salter <redmine@...>
Bug #2313: Incomplete encoding conversion?
[#26447] [Bug #2316] [BUG] cfp consistency error — Cezary Baginski <redmine@...>
Bug #2316: [BUG] cfp consistency error
[#26458] [Bug #2319] gethostbyname fails in windows — Roger Pack <redmine@...>
Bug #2319: gethostbyname fails in windows
[#26459] [Bug #2320] patch to trunk .document to include more readme's etc. — Roger Pack <redmine@...>
Bug #2320: patch to trunk .document to include more readme's etc.
[ruby-core:26211] Ruby 1.9.1 embedding and GC
Good day,
I'm trying to embed a Ruby 1.9.1 interpreter, and I'd like to disable to GC, and only run it manually (say, every 1000 requests).
The problem is, that somehow it's not disabled, and after an attempt to allocate memory the interpreter exits.
I tried to understand the code, but I'm a bit lost. What I'm doing wrong here?
The ruby version is:
ruby 1.9.1p281 (2009-08-09 revision 24476) [i386-darwin10.0.0]
My code:
-----
RUBY_INIT_STACK;
ruby_init();
ruby_init_loadpath();
ruby_script(service_file);
rb_define_module("Gem");
rb_gc_disable();
Init_prelude();
int error;
rb_protect((VALUE (*)(VALUE))rb_require, (VALUE)service_file, &error);
-----
The gdb backtrace (line 193 in ruby_handler.c is Array allocation):
(gdb) bt
#0 0x00007fff84fb5183 in exit ()
#1 0x0000000100233b0b in garbage_collect_with_gvl (objspace=0x10036d9c0) at gc.c:602
#2 0x0000000100233b71 in vm_xmalloc (objspace=0x10036d9c0, size=80) at gc.c:623
#3 0x0000000100204f3a in ary_new (klass=<value temporarily unavailable, due to optimizations>, len=10) at array.c:301
#4 0x000000010006d03b in ruby_init_request_data (req=0x1028ff800) at ruby_handler.c:193
...
(gdb) up
#1 0x0000000100233b0b in garbage_collect_with_gvl (objspace=0x10036d9c0) at gc.c:602
602 exit(EXIT_FAILURE);
(gdb) list
597 return (int)rb_thread_call_with_gvl(gc_with_gvl, (void *)objspace);
598}
599else {
600 /* no ruby thread */
601 fprintf(stderr, "[FATAL] failed to allocate memory\n");
602 exit(EXIT_FAILURE);
603}
604 }
605}
606
(gdb) up
#2 0x0000000100233b71 in vm_xmalloc (objspace=0x10036d9c0, size=80) at gc.c:623
623garbage_collect_with_gvl(objspace);
(gdb) list
618 size += sizeof(size_t);
619#endif
620
621 if ((ruby_gc_stress && !ruby_disable_gc_stress) ||
622(malloc_increase+size) > malloc_limit) {
623garbage_collect_with_gvl(objspace);
624 }
625 mem = malloc(size);
626 if (!mem) {
627if (garbage_collect_with_gvl(objspace)) {
(gdb)
Another question, which might be related, is that if I don't disable GC, then I see this error:
[BUG] object allocation during garbage collection phase
And I assumed, that if I control the allocation and GC, then I can avoid triggering this bug, but perhaps there's a better workaround or solution.
Thank you very much in advance,
--Roman