Hi,

I think it's actually a bug that we are overflowing that buffer regardless
of its size. I've filed a jira for this (
https://issues.apache.org/jira/browse/PROTON-714) and committed what I
believe is a fix for this. Would it be possibly for you to check whether
this does in fact solve the problem for you?

--Rafael

On Thu, Oct 9, 2014 at 8:05 AM, Dr. Frank Heuschen <
frank.heusc...@oraise.com> wrote:

> Hi,
>
> in the meanwhile I was able to debug and analyse and found out that the
> server is splitting very large messages into chunks of 8192 Bytes. The
> underlyingInput Buffer is however of the size of inputBuffer defined in
> FrameParser, that is 4096. After modifying the respective line in
> FrameParserConstructor to "_inputBuffer = newWriteableBuffer(8*1024);" The
> large chunks can be properly SSL unwrapped.
>
> Is it safe for the rest of use cases to alter this value?
> Would the developer team consider to make this "chunk size" something
> configurable for the messenger implementation?
>
> Thanks and bests
> Frank
>
> -----Ursprüngliche Nachricht-----
> Von: Dr. Frank Heuschen [mailto:frank.heusc...@oraise.com]
> Gesendet: Mittwoch, 8. Oktober 2014 11:45
> An: users@qpid.apache.org
> Cc: Christian Wesp
> Betreff: proton-j 0.7 with SSL throws Exception at large messages
>
> Hi,
>
>
>
> I am developing an application that acts as an AMQP Client, using an SSL
> connection on a topic. The messages received on this topic are quite large
> and for each message I catch the following Exception:
>
>
>
> java.nio.BufferOverflowException
>
>         at java.nio.HeapByteBuffer.put(Unknown Source)
>
>         at
>
> org.apache.qpid.proton.engine.impl.ssl.SimpleSslTransportWrapper.unwrapInput
> (SimpleSslTransportWrapper.java:128)
>
>         at
>
> org.apache.qpid.proton.engine.impl.ssl.SimpleSslTransportWrapper.process(Sim
> pleSslTransportWrapper.java:344)
>
>         at
>
> org.apache.qpid.proton.engine.impl.ssl.SslImpl$UnsecureClientAwareTransportW
> rapper.process(SslImpl.java:132)
>
>         at
>
> org.apache.qpid.proton.engine.impl.TransportImpl.process(TransportImpl.java:
> 1265)
>
>         at
>
> org.apache.qpid.proton.driver.impl.ConnectorImpl.read(ConnectorImpl.java:136
> )
>
>         at
>
> org.apache.qpid.proton.driver.impl.ConnectorImpl.process(ConnectorImpl.java:
> 95)
>
>         at
>
> org.apache.qpid.proton.messenger.impl.MessengerImpl.processActive(MessengerI
> mpl.java:743)
>
>         at
>
> org.apache.qpid.proton.messenger.impl.MessengerImpl.waitUntil(MessengerImpl.
> java:895)
>
>         at
>
> org.apache.qpid.proton.messenger.impl.MessengerImpl.waitUntil(MessengerImpl.
> java:853)
>
>         at
>
> org.apache.qpid.proton.messenger.impl.MessengerImpl.recv(MessengerImpl.java:
> 451)
>
>         at
>
> org.apache.qpid.proton.messenger.impl.MessengerImpl.recv(MessengerImpl.java:
> 456)
>
>         at com.oraise.Receiver.run(Receiver.java:30)
>
>
>
> If I run the same application with an external SSL Proxy, the messages are
> interpreted by proton-j without problem. Is there a (configurable)
> threshold
> for message sizes in the SSL implementation? I understand that the Java7
> implementation of SSLEngine provides a int getApplicationBufferSize()
> method, but where is this value determined in the first place?
>
>
>
> Thanks and kind regards
>
> Frank Heuschen
>
>
>
> Dr. Frank Heuschen
> --
> oraise GmbH
> Walther-von-Cronberg-Platz 6
> 60594 Frankfurt am Main
> Tel.: +49 69 981 955-361
> Mob.: +49 172 6945821
> E-Mail:  <mailto:frank.heusc...@oraise.com> frank.heusc...@oraise.com
>
> Firmensitz: Haferwende 10 a, 28357 Bremen
> Registergericht: AG Bremen HRB 17491
> Geschäftsführer: Markus Hengstenberg
>
> oraise Beteiligungs- und Verwaltungs GmbH & Co. KG
> Firmensitz: Haferwende 10 a, 28357 Bremen
> Registergericht: AG Bremen HRA 24070
> Geschäftsführer: Markus Hengstenberg
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> For additional commands, e-mail: users-h...@qpid.apache.org
>
>

Reply via email to