[#83328] tcltklib and not init'ing tk — aakhter@... (Aamer Akhter)

Hello,

13 messages 2003/10/01

[#83391] mixing in class methods — "Mark J. Reed" <markjreed@...>

Okay, probably a dumb question, but: is there any way to define

22 messages 2003/10/01
[#83392] Re: mixing in class methods — Ryan Pavlik <rpav@...> 2003/10/01

On Thu, 2 Oct 2003 06:02:32 +0900

[#83397] Re: mixing in class methods — Gavin Sinclair <gsinclair@...> 2003/10/01

On Thursday, October 2, 2003, 7:08:00 AM, Ryan wrote:

[#83399] Re: mixing in class methods — "Mark J. Reed" <markjreed@...> 2003/10/02

On Thu, Oct 02, 2003 at 07:37:25AM +0900, Gavin Sinclair wrote:

[#83404] Re: mixing in class methods — "Gavin Sinclair" <gsinclair@...> 2003/10/02

> On Thu, Oct 02, 2003 at 07:37:25AM +0900, Gavin Sinclair wrote:

[#83416] C or C++? — "Joe Cheng" <code@...>

I'd like to start writing Ruby extensions. Does it make a difference

32 messages 2003/10/02
[#83435] Re: C or C++? — "Aleksei Guzev" <aleksei.guzev@...> 2003/10/02

[#83448] xml in Ruby — paul vudmaska <paul_vudmaska@...> 2003/10/02

The biggest problem i have with Ruby is the sleepness

[#83455] Re: xml in Ruby — Chad Fowler <chad@...> 2003/10/02

On Thu, 2 Oct 2003, paul vudmaska wrote:

[#83464] Re: xml in Ruby or no xml it's just a question — paul vudmaska <paul_vudmaska@...> 2003/10/02

>>--------

[#83470] Re: xml in Ruby — paul vudmaska <paul_vudmaska@...>

>>>

15 messages 2003/10/02

[#83551] xml + ruby — paul vudmaska <paul_vudmaska@...>

>>---------

20 messages 2003/10/03
[#83562] Re: xml + ruby — Austin Ziegler <austin@...> 2003/10/03

On Fri, 3 Oct 2003 16:11:46 +0900, paul vudmaska wrote:

[#83554] hash of hashes — Paul Argentoff <argentoff@...>

Hi all.

18 messages 2003/10/03

[#83675] fox-tool - interactive gui builder for fxruby — henon <user@...>

hi fellows,

15 messages 2003/10/05

[#83730] Re: Enumerable#inject is surprising me... — "Weirich, James" <James.Weirich@...>

> Does it surprise you?

17 messages 2003/10/06
[#83732] Re: Enumerable#inject is surprising me... — nobu.nokada@... 2003/10/07

Hi,

[#83801] Extension Language for a Text Editor — Nikolai Weibull <ruby-talk@...>

OK. So I'm going to write a text editor for my masters' thesis. The

35 messages 2003/10/08
[#83803] Re: Extension Language for a Text Editor — Ryan Pavlik <rpav@...> 2003/10/08

On Thu, 9 Oct 2003 05:06:32 +0900

[#83806] Re: Extension Language for a Text Editor — Nikolai Weibull <ruby-talk@...> 2003/10/08

* Ryan Pavlik <rpav@mephle.com> [Oct, 08 2003 22:30]:

[#83812] Re: Extension Language for a Text Editor — Ryan Pavlik <rpav@...> 2003/10/08

On Thu, 9 Oct 2003 06:09:29 +0900

[#83955] Re: Extension Language for a Text Editor — Nikolai Weibull <ruby-talk@...> 2003/10/09

* Ryan Pavlik <rpav@mephle.com> [Oct, 09 2003 09:10]:

[#84169] General Ruby Programming questions — Simon Kitching <simon@...>

21 messages 2003/10/15
[#84170] Re: General Ruby Programming questions — Florian Gross <flgr@...> 2003/10/15

Simon Kitching wrote:

[#84172] Re: General Ruby Programming questions — Simon Kitching <simon@...> 2003/10/15

Hi Florian..

[#84331] Re: Email Harvesting — Greg Vaughn <gvaughn@...>

Ryan Dlugosz said:

17 messages 2003/10/21
[#84335] Re: Email Harvesting — Hugh Sasse Staff Elec Eng <hgs@...> 2003/10/21

On Wed, 22 Oct 2003, Greg Vaughn wrote:

[#84343] Re: Email Harvesting — Ruben Vandeginste <Ruben.Vandeginste@...> 2003/10/22

On Wed, 22 Oct 2003 08:35:32 +0900, Hugh Sasse Staff Elec Eng

[#84341] Ruby-oriented Linux distro? — Hal Fulton <hal9000@...>

There's been some talk of something like this in the past.

15 messages 2003/10/22
[#84348] Re: Ruby-oriented Linux distro? — Gavin Sinclair <gsinclair@...> 2003/10/22

On Wednesday, October 22, 2003, 6:01:16 PM, Hal wrote:

[#84351] Re: Ruby-oriented Linux distro? — Andrew Walrond <andrew@...> 2003/10/22

On Wednesday 22 Oct 2003 11:02 am, Gavin Sinclair wrote:

[#84420] Struggling with variable arguments to block — "Gavin Sinclair" <gsinclair@...>

Hi -talk,

18 messages 2003/10/24
[#84428] Re: Struggling with variable arguments to block — matz@... (Yukihiro Matsumoto) 2003/10/24

Hi,

[#84604] ruby-dev summary 21637-21729 — Takaaki Tateishi <ttate@...>

Hello,

21 messages 2003/10/30
[#84787] Re: ruby-dev summary 21637-21729 — Paul Brannan <pbrannan@...> 2003/11/06

On Fri, Oct 31, 2003 at 07:01:28AM +0900, Takaaki Tateishi wrote:

[#84789] Re: ruby-dev summary 21637-21729 — matz@... (Yukihiro Matsumoto) 2003/11/06

Hi,

[#84792] Re: ruby-dev summary 21637-21729 — Paul Brannan <pbrannan@...> 2003/11/06

On Thu, Nov 06, 2003 at 11:17:59PM +0900, Yukihiro Matsumoto wrote:

[#84794] Re: ruby-dev summary 21637-21729 — matz@... (Yukihiro Matsumoto) 2003/11/06

Hi,

GC Segfault [LONG]

From: "Hannes Wyss" <hwyss@...>
Date: 2003-10-08 16:49:39 UTC
List: ruby-talk #83791
Hello Rubyists!

let me apologize first: I have no means of condensing my problem to a few
lines of code. I'll explain:

I'm currently building and maintaining a Pharmaceutical Database
(http://www.oddb.org) that has meanwhile grown to 1.5GB in RAM.
Persistence is achieved using the excellent Madeleine Package. One
required Module within the application is Rwv2, a self-knitted Wrapper to
the wv2 (MS-Word viewer) library. (Available at the RAA or directly at
download.ywesee.com/ruby/rwv2)

The application only Segfaults if
 - The Full Database is Memory-Resident - && Rwv2 is loaded (but none of
   its Classes instantiated)
   oddb> ObjectSpace.each_object(Rwv2::Parser) {} -> 0
 - && Marshal.dump(@system)is called
 - && $ ruby --version
      ruby 1.8.0 (2003-08-10) [i386-linux]
   (no other version tested)


It seems that GC reaches the Stack-Limit (but then why don't I get "stack
level too deep" ?):
(gdb) bt -10
Previous frame inner to this frame (corrupt stack?) (gdb) bt -10
#25734 0x4005012b in rb_gc_mark () from /usr/lib/libruby1.8.so.1.8 
#25735 0x4004fe2b in rb_gc_mark_locations () from /usr/lib/libruby1.8.so.1.8
#25736 0x4008cda9 in st_foreach () from /usr/lib/libruby1.8.so.1.8 
#25737 0x4004fe5c in rb_mark_tbl () from /usr/lib/libruby1.8.so.1.8 
#25738 0x400500bf in rb_gc_mark () from /usr/lib/libruby1.8.so.1.8 
#25739 0x4004fdf2 in rb_source_filename () from /usr/lib/libruby1.8.so.1.8 
#25740 0x40046be9 in rb_set_safe_level () from /usr/lib/libruby1.8.so.1.8 
#25741 0x00001056 in ?? ()
#25742 0xbff856c8 in ?? ()
#25743 0x4004feb8 in rb_mark_hash () from /usr/lib/libruby1.8.so.1.8 (gdb)
bt 10
#0 0x4004fff9 in rb_gc_mark () from /usr/lib/libruby1.8.so.1.8 
#1 0x4004fe2b in rb_gc_mark_locations () from /usr/lib/libruby1.8.so.1.8 
#2 0x4008cda9 in st_foreach () from /usr/lib/libruby1.8.so.1.8 
#3 0x4004fe5c in rb_mark_tbl () from /usr/lib/libruby1.8.so.1.8 
#4 0x400500bf in rb_gc_mark () from /usr/lib/libruby1.8.so.1.8 
#5 0x40050112 in rb_gc_mark () from /usr/lib/libruby1.8.so.1.8 
#6 0x4004fe2b in rb_gc_mark_locations () from /usr/lib/libruby1.8.so.1.8 
#7 0x4008cda9 in st_foreach () from /usr/lib/libruby1.8.so.1.8 
#8 0x4004fe5c in rb_mark_tbl () from /usr/lib/libruby1.8.so.1.8 
#9 0x400500bf in rb_gc_mark () from /usr/lib/libruby1.8.so.1.8

If I understand Ruby-Extensions correctly, the only function called in
Rwv2 so far should be Init_rwv2()- so the only Objects to be marked should
be the Module and its Classes and Constants:

<<-EOS
#include "ruby.h"

<SNIPPAGE>

extern "C" {
                                                                                                                                               
VALUE mRwv2;
VALUE cRwv2Parser;

<MORE SNIPPAGE>

void Init_rwv2() {
                                                                                                                                               
  /* module Rwv2 */
  mRwv2 = rb_define_module("Rwv2");
  rb_define_module_function(mRwv2, "create_parser",
                           (VALUE (*)(...))rwv2_create_parser, 1);

<YET MORE SNIPPAGE>

  rb_define_const(mRwv2, "HEADER_EVEN", INT2FIX(0x01));
  rb_define_const(mRwv2, "HEADER_ODD", INT2FIX(0x02));
 
<ALWAYS SNIPPING SIMILAR STUFF, NOTHING NEW>
 
  /* class Rwv2::Parser */
  cRwv2Parser = rb_define_class_under(mRwv2, "Parser", rb_cObject);
  rb_define_method(cRwv2Parser, "is_ok?",
                  (VALUE (*)(...)) rwv2_parser_is_ok, 0);
  rb_define_method(cRwv2Parser, "parse",
                  (VALUE (*)(...)) rwv2_parser_parse, 0);
  rb_define_method(cRwv2Parser, "set_inline_replacement_handler",
                  (VALUE (*)(...))
                  rwv2_parser_set_inline_replacement_handler, 1);
 
<MUCH SNIPPAGE>


} // extern "C"

EOS
(full source at:
http://download.ywesee.com/ruby/rwv2/rwv2-0.5.0/ext/rwv2/rwv2.cpp)



I'm pretty sure the problem must lie in my wrapper code, as I'm not
exactly fluent in C++, but it definitely looks as if I'm stuck. What
should my next steps be? Can I get any of you Ruby-Gods more Information?

Thanks in advance!

Hannes


--
Hannes Wyss
Konzeption & Entwicklung
ywesee - intellectual capital connected - www.oddb.org

In This Thread

Prev Next