This is a strange one - then again It's about 11:20PM so everything is
looking strange.

I'm finding that method calls on a dRuby object (running on a Windows
machine - calling from a Linux machine in this case) will work just fine
unless they're inside a new thread.

Here's the server code (running on the WindowsNT box):

######server code #############
require 'drb'

class TestServer
   def warpver
      "warp 8.8.8"
   end
   def osver
      `uname -r`
   end
   def pwd
      Dir.pwd
   end
   def runit(command)
      eval(command)
   end

   def eval_it(command)
      puts "in TestServer::eval_it(#{command})"
   end
end

puts "starting server"
aServerObj = TestServer.new
DRb.start_service('druby://localhost:9000', aServerObj)
DRb.thread.join           
####end of server code #####################

Here's the client code (running on a Linux box):

#########client#################
require 'drb'
machine = "calvinnt"
command = "this is the command"
DRb.start_service()
drbObj  = DRbObject.new(nil, "druby://#{machine}:9000")
#thread = Thread.start do
   drbObj.eval_it(command)
#end #thread   
###########end of client code ############

All pretty simple (I've cut out all the extra stuff ).  It works fine 
unless I uncomment the Thread code in the client, like:

require 'drb'
machine = "calvinnt"
command = "this is the command"
DRb.start_service()
drbObj  = DRbObject.new(nil, "druby://#{machine}:9000")
thread = Thread.start do
   drbObj.eval_it(command)
end #thread   

If I run the threaded client, and this is what seems really strange, druby 
reports a bunch of exceptions on the SERVER side - something about bad 
headers.  Why would the server side even 'care' that the call came from a 
different thread on the client?

The other data point here is that it seems to work OK if both client and 
server are running on Linux boxes.  Note: I've installed Ruby 1.6.2 on 
both my Linux boxen and my Windows boxen in the last two days - they seem 
to all have the same drb version (if they didn't it would complain even if 
I left the threading stuff out - drb versions have to match and I believe 
they are all at 1.3 now.

Strange question (and please remember it's late): is it possible that if 
you run the method call in a seperate thread on the client side that drb 
trys to start another thread on the server side (no, that's too bizarre, 
please tell me that's too bizarre)

Phil