In article <97FD15FA-923E-4E03-887C-8B6C9CFCA2CF / segment7.net>,
Eric Hodel  <drbrain / segment7.net> wrote:
>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.

I've seen similar results: runs for hours on Linux, very flakey on OSX.  It's 
kind of hard to believe that Marshal is broke on OSX, though.  I'm thinking 
it's something related to networking code.

Phil