[ 
https://issues.apache.org/jira/browse/QPID-2410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15153635#comment-15153635
 ] 

Maxim Rydkin edited comment on QPID-2410 at 2/23/16 3:11 AM:
-------------------------------------------------------------

So framing errors I'm seeing seem to be due to the fact that the SslIoBuff 
returns a buffer of size (base->byteCount - sizes.cbHeader - sizes.cbTrailer) 
which is too small to hold a full frame of data if the message gets split into 
multiple frames. Then the  TCPConnector::encode gets invoked in a loop forever, 
writing no data, because the frame doesn't fit into a buffer. 

If I hardcode the framing code to chop data into smaller chunks (max frame size 
- frame overhead - ssl header and trailer overhead) to leave enough room and 
then also force the broker to advertise the 16k frames as the max - I can get 
tests to pass with large sizes.

However it still doesn't work with max-frame-size of 8K or 4K  - broker 
receives the messages OK, but then the signatures are wrong when sent back to 
client (Broker seems to ignore the client's frame size and encrypts 16k 
buffers). 

and obviously anything over 16K is broken because Schannel is Schannel.


was (Author: maxrydkin):
So framing errors I'm seeing seem to be due to the fact that the SslIoBuff 
returns a buffer of size (base->byteCount - sizes.cbHeader - sizes.cbTrailer) 
which is too small to hold a full frame of data if the message gets split into 
multiple frames. Then the  TCPConnector::encode gets invoked in a loop forever, 
writing no data, because the frame doesn't fit into a buffer. 
It seems happier if I make them pluses so its big enough to hold header, data, 
and trailer   -  but then connection gets dropped anyway. Maybe because the new 
buffer exceeds agreed upon max-frame-size

> perftest hang in SSL on Windows with large buffers
> --------------------------------------------------
>
>                 Key: QPID-2410
>                 URL: https://issues.apache.org/jira/browse/QPID-2410
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client
>    Affects Versions: 0.7
>         Environment: Windows client, Linux broker
>            Reporter: Cliff Jansen
>            Assignee: Steve Huston
>
> The following command:
>   perftest --count 1 --size 102400 -P ssl --port 5671 --broker linuxhost 
> --username testuser --password secret --mechanism PLAIN
> hangs on a Windows client.  Reducing the message body size to 1024 bytes 
> makes the hang go away, as does turning off SSL.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to