SSL communication stalls
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4305
Reported by erik eriksson, opera software ee@opera.com
See attached test case.
Run in two different terminals on the same computer. Start as
- pike bug.pike server
- pike bug.pike client
Expected behaviour: a lot of communication back and forth between the two processes: ping?, pong!, etc
Observed behaviour: 7.6.86: communication stalled after first message sent 7.7: communication stalled after first message sent 7.6.66: works as expected 7.6.51: works as expected 7.6.76: works as expected
some hints:
-
reason for problem seems to be that the read callback is deregistred from the underlying file object.
-
a workaround for the problem seems to be to pass 1 as 3rd argument to macro RUN_MAYBE_BLOCKING in method direct_write in SSL.pmod/sslfile.pike instead of SSL_INTERNAL_READING, preventing the callback to be unregistred (possible side effects of workaround unknown).