From: Eric Hodel Date: 2005-11-17T07:46:35+09:00 Subject: Re: DRb Crashing On Nov 16, 2005, at 9:36 AM, Hugh Sasse wrote: > On Thu, 17 Nov 2005, James Edward Gray II wrote: > >> $ ruby client.rb >> (druby://localhost:61676) /usr/local/lib/ruby/1.8/rinda/ >> tuplespace.rb:446:in >> `move': undefined method `push' for :push:Symbol (NoMethodError) > > which means the parameter port is set to :push > >> from (druby://localhost:61676) >> /usr/local/lib/ruby/1.8/monitor.rb:229:in `synchronize' >> from (druby://localhost:61676) >> /usr/local/lib/ruby/1.8/rinda/tuplespace.rb:443:in `move' >> from (druby://localhost:61676) >> /usr/local/lib/ruby/1.8/drb/drb.rb:1552:in `perform_without_block' >> from (druby://localhost:61676) > > something to do with @obj and @argv. These are delivered by > __send__. > >> /usr/local/lib/ruby/1.8/drb/drb.rb:1512:in `perform' >> from (druby://localhost:61676) >> /usr/local/lib/ruby/1.8/drb/drb.rb:1586:in `main_loop' >> from (druby://localhost:61676) > > seems to come from cliemt.recvfrom. >> /usr/local/lib/ruby/1.8/drb/drb.rb:1582:in `main_loop' > [...] >> /usr/local/lib/ruby/1.8/drb/drb.rb:1624:in `start_service' >> from (druby://localhost:61676) server.rb:7 >> from /usr/local/lib/ruby/1.8/rinda/rinda.rb:229:in `take' >> from client.rb:11 > > All comments are from looking at the CVS, but the line numbers > agree, AFAICS. >> $ cat client.rb > [...] >> __END__ > > Looks fine to me. > > I'm stumped. This is likely not a problem that can be fixed with more Ruby code. I ran the two files on DRb for over 4 hours continuously on a FreeBSD machine, which tells me that it is Mac-specific. Mixing FreeBSD and Mac would always crash within 5 minutes at worst. My best guess is that Marshal is not operating correctly or ObjectSpace#_id2ref is looking up bad objects. -- Eric Hodel - drbrain@segment7.net - http://segment7.net FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04