From: Eric Hodel Date: 2005-11-16T08:44:20+09:00 Subject: Strange error messages using DRb/TupleSpace 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 (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 (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