On Wed, 14 May 2003 23:55:22 +0200, Jan Bernhardt wrote: > > Stacktrace case 1: > #8 0x43a6b16d in jump_tag_but_local_jump (state=6) at eval.c:1314 > #9 0x43a731ff in rb_call0 (klass=1138029288, recv=1138014008, id=9313, argc=0, argv=0xbfffec6c, body=0x43d4bbd4, nosuper=0) at eval.c:4542 > #10 0x43a73584 in rb_call (klass=1138029288, recv=1138014008, mid=9313, argc=1, argv=0xbfffec68, scope=1) at eval.c:4606 > #11 0x43a73857 in rb_funcall (recv=1138014008, mid=9313, n=1) at ruby.h:571 > #12 0x43a5dee5 in MessageEnd() () at messages.cpp:31 > #13 0x43772cfe in mm_MessageEnd () from ./cstrike/addons/metamod/dlls/metamod_i386.so > > Stacktrace case 2: > #18 0x43a730a9 in rb_call0 (klass=1138029288, recv=1138014008, id=9313, argc=0, argv=0xbffff1d8, body=0x43d4bbd4, nosuper=0) at eval.c:4513 > #19 0x43a73584 in rb_call (klass=1138029288, recv=1138014008, mid=9313, argc=1, argv=0xbffff1d4, scope=1) at eval.c:4606 > #20 0x43a73857 in rb_funcall (recv=1138014008, mid=9313, n=1) at ruby.h:571 > #21 0x43a5dee5 in MessageEnd() () at messages.cpp:31 > #22 0x43772cfe in mm_MessageEnd () from ./cstrike/addons/metamod/dlls/metamod_i386.so <snip> void MessageEnd(void) { rb_funcall(message_registry, rb_intern("dispatch_message"), 1, message); RETURN_META(MRES_IGNORED); } <snip> you don't wrap rb_funcall() within a rb_protect().. Im guessing this is part of the reason. see - how to use rb_protect() warning: c++ http://ruby-talk.org/71421 -- Simon Strandgaard