On 13/03/2013 20:43, Mladen Turk wrote:
> On 03/13/2013 09:29 PM, Mladen Turk wrote:
>> On 03/13/2013 07:07 PM, Mark Thomas wrote:
>>> DEbug logs from v4 of your debug dll
>>>
>>>
>>> [3296] ssl_socket_send 4 bytes from 000000001772C0F0 with timeout -1
>>> [3296] SSL_write returned -1, apr_get_netos_error=730035 SSL_get_error=3
>>> [3296] ssl_socket_send 4 bytes from 0000000016C2CFB0 with timeout -1
>>> [3296] SSL_write returned -1, apr_get_netos_error=0 SSL_get_error=1
>>> [3296] SSL_ERROR_SSL error in queue=336195711
>>> [3296] bad write retry
>>>
>>
>> I see here that buffer change occurs.
>> Those two calls should have the same buffer because those both
>> calls should send the same data (since the first call reported EAGAIN)
>>
> 
> I mean check for Socket.setsbb somewhere after the socket is
> returned from poller. Either the new buffer has been set or
> the buffer address is different because of Socket.sendbb's offset param
> (in this case it would be -11530560 so some wrong calculation)
> 
> Inside Socket.setsbb we get the ByteBuffer's direct address and later
> reuse it inside Socket.sendbb(long socket, int offset, int len) call
> by using 'socket->jsbuff + offset' and that offseted address is
> displayed in
> the upper debug trace (and if they are not the same OpenSSL will return
> SSL_ERROR_SSL)

I'm using Socket.send() with the same buffer.

I'm looking at switching to sendb instead.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to