From: Nathaniel Talbott Date: 2003-08-07T02:28:29+09:00 Subject: OpenSSL/drb problem Well, I have DRb and OpenSSL working together! I'm running in to a bit of trouble , though, and would appreciate any help ya'll can offer. When I run my client/server app with small messages, it works great. When I run it with large messages, though, things aren't so happy... When the app is run, I can connect and log in to the server without trouble (all over SSL). However, once I'm logged in and request a large chunk of data from the server, the client application hangs waiting for the reply to finish. Now, two things can happen at this point: 1) If I terminate the server, the client comes up and displays the correct information. It appears that the client is waiting for the socket to be closed, and terminating the server causes this to happen. 2) If I terminate the client, I get the following error on the server (and it dies): D, [2003-08-06T12:09:25.185562 #26009] DEBUG -- SE Server: #urls called /usr/lib/ruby/site_ruby/1.8/dbi/dbi.rb:318: warning: method redefined; discarding old fraction Exception `OpenSSL::SSL::SSLError' at /usr/lib/ruby/1.8/openssl/buffering.rb:33 - SSL_read:: Exception `OpenSSL::SSL::SSLError' at /usr/lib/ruby/1.8/openssl/buffering.rb:139 - SSL_write:: Exception `OpenSSL::SSL::SSLError' at /usr/lib/ruby/1.8/openssl/buffering.rb:139 - SSL_write:: bad write retry /usr/lib/ruby/1.8/openssl/buffering.rb:139:in `syswrite': SSL_write:: bad write retry (OpenSSL::SSL::SSLError) from /usr/lib/ruby/1.8/openssl/buffering.rb:139:in `do_write' from /usr/lib/ruby/1.8/openssl/buffering.rb:181:in `flush' from /usr/lib/ruby/1.8/openssl/buffering.rb:186:in `close' from /usr/lib/ruby/site_ruby/1.8/drb/ssl.rb:167:in `close' from /usr/lib/ruby/site_ruby/1.8/drb/drb.rb:725:in `main_loop' from /usr/lib/ruby/site_ruby/1.8/drb/drb.rb:711:in `loop' from /usr/lib/ruby/site_ruby/1.8/drb/drb.rb:729:in `main_loop' from /usr/lib/ruby/site_ruby/1.8/drb/drb.rb:707:in `start' ... 9 levels... from ./se/server/baserunner.rb:72:in `start' from ./se/server/baserunner.rb:59:in `send' from ./se/server/baserunner.rb:59:in `run' from se/server.rb:58 It appears that buffering is interacting badly with a large message size. I'll continue investigating, but if anyone can help me out, that would be great! Thanks, Nathaniel <:((><