From: Michael Witrant Date: 2002-01-07T22:57:28+09:00 Subject: Segfault with druby and fork Hello, While playing with DRb, I experienced some segfaults. I tried to remove anything not related to the bug from the scripts. You can find them below. There are two parts: * a Hash shared trough DRb * a script that forks, assigns an DRbUndumped object in the Hash, waits for the fork to exit, and calls a method on this object (that doesn't exist anymore, since the fork exited). I expected the second script to raise an exception because the object doesn't respond or the remote server doesn't exist. Actually, the two processes (the fork'ed one and its parent) share the same DRb server. This might not be a valid DRb usage. Anyway, Ruby always says "[BUG]" when I run these scripts, so I report it in case it helps. I tried it with the following versions: ruby 1.6.2 (2000-12-18) [i386-cygwin] ruby 1.6.4 (2001-06-04) [i686-linux] ruby 1.6.6 (2001-12-26) [i686-linux] ruby 1.7.2 (2002-01-05) [i686-linux] and dRuby 1.3.4. Mike. ---------------------------------------- global_hash.rb require 'drb' URI = 'druby://localhost:12000' global_hash = Hash.new class <, value=0xbffff0e8) at st.c:253 #1 0x8050d59 in search_method (klass=1075390032, id=3001, origin=0xbffff124) at eval.c:252 #2 0x8050d99 in rb_get_method_body (klassp=0xbffff174, idp=0xbffff164, noexp=0xbffff168) at eval.c:270 #3 0x805a0f4 in rb_call (klass=1075390032, recv=1075390072, mid=3001, argc=0, argv=0x0, scope=0) at eval.c:4521 #4 0x80554ac in rb_eval (self=1075534992, n=0x401a8aa4) at eval.c:2512 #5 0x8051d68 in eval_node (self=1075534992, node=0x401a8aa4) at eval.c:1059#6 0x80520ff in ruby_run () at eval.c:1189 #7 0x80509f6 in main (argc=2, argv=0xbffff804, envp=0xbffff810) at main.c:50