Using

$ ruby184p1 -v
ruby 1.8.4 (2005-10-29) [powerpc-darwin8.3.0]

or

$ ruby182-orig -v
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

or

$ ruby -v
ruby 1.8.3 (2005-09-21) [powerpc-darwin8.2.0]

Using the scripts in [ruby-talk:165935] I receive strange errors that  
crash the client process that all look like this:

(druby://localhost:61676) /usr/local/lib/ruby/1.8/rinda/tuplespace.rb: 
446:in `move': undefined method `push' for :compact!:Symbol  
(NoMethodError)
         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) /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) /usr/local/lib/ruby/1.8/drb/ 
drb.rb:1582:in `main_loop'
         from (druby://localhost:61676) /usr/local/lib/ruby/1.8/drb/ 
drb.rb:1578:in `main_loop'
         from (druby://localhost:61676) /usr/local/lib/ruby/1.8/drb/ 
drb.rb:1427:in `run'
         from (druby://localhost:61676) /usr/local/lib/ruby/1.8/drb/ 
drb.rb:1424:in `run'
         from (druby://localhost:61676) /usr/local/lib/ruby/1.8/drb/ 
drb.rb:1344:in `initialize'
         from (druby://localhost:61676) /usr/local/lib/ruby/1.8/drb/ 
drb.rb:1624:in `start_service'
         from (druby://localhost:61676) ts.rb:7
         from /usr/local/lib/ruby/1.8/rinda/rinda.rb:229:in `take'
         from cl.rb:11

The symbol name is always different.

Using the same scripts on a FreeBSD machine I can't reproduce the error.

$ ruby -v
ruby 1.8.2 (2004-12-25) [i386-freebsd5]

or:

$ ruby -v
ruby 1.8.3 (2005-09-21) [i386-freebsd5]

I also tried in mixed mode:

Running the server TupleSpace script on the FreeBSD machine and  
running the client script on the Mac I get the same errors on the  
client.

Running the server TupleSpace on the Mac and running the client on a  
FreeBSD machine I get slightly different errors on the client and it  
takes much, much longer to encounter them:

(druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb:1471:in  
`check_insecure_method': private method `move' called for  
#<Rinda::TupleSpace:0x353124>:Rinda::TupleSpace (NoMethodError)
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1535:in `check_insecure_method'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1540:in `setup_message'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1491:in `perform'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1586:in `main_loop'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1582:in `main_loop'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1578:in `main_loop'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1427:in `run'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1424:in `run'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1344:in `initialize'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1624:in `start_service'
         from (druby://kaa:61676) ts.rb:9
         from /usr/local/lib/ruby/1.8/rinda/rinda.rb:153:in `take'
         from cl.rb:11

and

(druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb:568:in `load':  
premature header (DRb::DRbConnError)
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
629:in `recv_reply'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
918:in `recv_reply'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1192:in `send_message'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1083:in `method_missing'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1167:in `open'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1082:in `method_missing'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1100:in `with_friend'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1081:in `method_missing'
          ... 11 levels...
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1624:in `start_service'
         from (druby://kaa:61676) ts.rb:9
         from /usr/local/lib/ruby/1.8/rinda/rinda.rb:153:in `take'
         from cl.rb:11

and

(druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb:1471:in  
`check_insecure_method': private method `write' called for  
#<Rinda::TupleSpace:0x353124>:Rinda::TupleSpace (NoMethodError)
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1535:in `check_insecure_method'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1540:in `setup_message'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1491:in `perform'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1586:in `main_loop'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1582:in `main_loop'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1578:in `main_loop'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1427:in `run'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1424:in `run'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1344:in `initialize'
         from (druby://kaa:61676) /usr/local/lib/ruby/1.8/drb/drb.rb: 
1624:in `start_service'
         from (druby://kaa:61676) ts.rb:9
         from /usr/local/lib/ruby/1.8/rinda/rinda.rb:148:in `write'
         from cl.rb:12

-- 
Eric Hodel - drbrain / segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04