[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822891#comment-17822891 ] Eissam Yassin commented on DIRMINA-1176: Hi [~johnnyv] The consumer is waiting for incoming messages. Regards, Eissam > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > com.bmc.ctms.common.Ipc2EventAdapter.handleIpcGtwMsg(Ipc2EventAdapter.java:206) >
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822127#comment-17822127 ] Jonathan Valliere commented on DIRMINA-1176: How sure are you that the consumer of these messages isn’t the problem? > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > com.bmc.ctms.common.Ipc2EventAdapter.handleIpcGtwMsg(Ipc2EventAdapter.java:206) >
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822115#comment-17822115 ] Eissam Yassin commented on DIRMINA-1176: Hi [~johnnyv] Thanks for your response. Our code checks the number of wait messages returned by IoSession.getScheduledWriteMessages(). We stop writing messages when the return number exceeds a threshold (4000). We saw in our customers environment that this number increased to about 5000 and we stopped writing. The number remains steady about 5000 for long time (hour) until we restarted the application. Regards, Eissam > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDis
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17821233#comment-17821233 ] Jonathan Valliere commented on DIRMINA-1176: @[~eissam_yassin] this is not a bug, this is caused by your application not performing any flow control on the messages that it is sending to the peer. Think of it like water flowing through pipes, if you have an 8cm diameter pipe and I have a 2cm diameter pipe the water is only going to go as fast as the 2cm pipe will allow. > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.Ev
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17821229#comment-17821229 ] Jonathan Valliere commented on DIRMINA-1176: [~elecharny] the hard limit was to prevent memory leaks which would normally be handled by the max enqueued messages on the IoSession. The idea here is that we want to perform flow control at the SSL and not waste CPU cycles encrypting messages which will simply be queued for write because the writer speed is exceeding the reader. > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.inf
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17791525#comment-17791525 ] Emmanuel Lécharny commented on DIRMINA-1176: Hi [~eissam_yassin], even if it 'worked' in 2.0.7, teh logic was exactly the same, ie nothing get sent to the peer while the application handler give back the hand. That means you still need to check the _messageSent_ *before* sending some new data, either in 2.0.x or in 2.2.x. Anyway, if you were to stay in 2.0.X, you still should switch to 2.0.25. > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17790908#comment-17790908 ] Eissam Yassin commented on DIRMINA-1176: Hi [~elecharny] We used Mina 2.0.7, we did not face this problem in this version. We faced it when we moved to Mina 2.2.1. Now it is clear. Many Thanks, Eissam Yassin > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > co
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17790828#comment-17790828 ] Emmanuel Lécharny commented on DIRMINA-1176: Hi [~eissam_yassin], so checking the code again,; I think the pb is that you try to write as much data as you can in the IoHandler. But the thing is that the messages can't be written if you don't quit the IoHandler, because you hold the thread. The way to go is to write the messages, and quit, waiting for the {{messageSent}} event to send some more message. There is a limit of messages you can send in one go, and this limit is 64. So you probably should revisit your application logic to give hand once the message have been written in the IoHandler, and wait for the {{messageSent}} event to write more. > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEv
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17788468#comment-17788468 ] Eissam Yassin commented on DIRMINA-1176: Hi [~elecharny] Any update about this issue? Many Thanks, Eissam Yassin > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > com.bmc.ctms.common.Ipc2EventAdapter.handleIpcGtwMsg(Ipc2EventAdapter.java:206) > at
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17786876#comment-17786876 ] Eissam Yassin commented on DIRMINA-1176: Hi [~elecharny] Thanks for your response. Waiting for your investigation results. Eissam > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > com.bmc.ctms.common.Ipc2EventAdapter.handleIpcGtwMsg(Ipc2EventAdapter.java:206) >
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17779985#comment-17779985 ] Emmanuel Lécharny commented on DIRMINA-1176: This is curious. When a message is received by the SslFilter, it is processed immediately, and should be written in the socket. I'll investigate. > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > com.bmc.ctms.common.Ip
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17779892#comment-17779892 ] Eissam Yassin commented on DIRMINA-1176: Hi [~elecharny] Yes, the remote peer reading the messages fast enough. >From our research we saw that there are delays in Mina between buffering the >messages and sending them to the remote peer. The time between the write of the message calling the write method and the message was reported as sent to the remote peer by the write future object increased gradually from 5 milli second to more than 4 seconds until we got the buffer overflow exception. In that time the remote peer was idle. Regards, Eissam > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByU
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17779583#comment-17779583 ] Emmanuel Lécharny commented on DIRMINA-1176: Hi Eissam, can you check that the remote peer is readin the messages fast enough? > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.handleSubscriberEntryEvent(EventDispatcher.java:687) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publishByUniqeID(EventDispatcher.java:673) > at > com.bmc.ctms.infra.EventDispatcher$EventEntry.publish(EventDispatcher.java:694) > at > com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:194) > at com.bmc.ctms.infra.EventDispatcher.publish(EventDispatcher.java:154) > at > com.bmc.ctms.common.Ipc2EventAdapter.handleIpcGtwMsg(Ipc2EventAdapter.java:206) >
[jira] [Commented] (DIRMINA-1176) Buffer overflow exception when writing messages over SSL
[ https://issues.apache.org/jira/browse/DIRMINA-1176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17779582#comment-17779582 ] Emmanuel Lécharny commented on DIRMINA-1176: Hi [~johnnyv], the BufferOverflow occurs because the number of enqueued message exceed the 64 mimit (MAX_QUEUED_MESSAGES): {code:java} /* package protected */ class SSLHandlerG0 extends SslHandler { ... /** * {@inheritDoc} */ @Overridesynchronized public void write(NextFilter next, WriteRequest request) throws SSLException, WriteRejectedException { ... if (mEncodeQueue.size() == MAX_QUEUED_MESSAGES) { throw new BufferOverflowException(); } ...{code} Do you remind what was the rational for the addition of this hard limit? This was this commit: https://github.com/apache/mina/commit/94a43f8e035c83b09ce72721418c3f20f8e4f084 > Buffer overflow exception when writing messages over SSL > - > > Key: DIRMINA-1176 > URL: https://issues.apache.org/jira/browse/DIRMINA-1176 > Project: MINA > Issue Type: Bug > Components: Filter >Affects Versions: 2.2.1, 2.2.3 >Reporter: Eissam Yassin >Priority: Critical > > Hello, > When many messages written over SSL we get BufferOverflowException exception: > > {noformat} > 0831_07:00:31.831, "Io Exception in Em<->Gw connection named 'GW'", [INFO], > T@113, T:ctm.COMM_EM.113, , , COMM_EM, > EmDsectProtocolIoHandlare::exceptionCaught, "java.nio.BufferOverflowException > at > org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:339) > at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > com.bmc.ctms.infra.comm.RawCommunicationLogger.filterWrite(RawCommunicationLogger.java:102) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite(ProtocolCodecFilter.java:332) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.filter.executor.ExecutorFilter.filterWrite(ExecutorFilter.java:595) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:1146) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite(IoFilterAdapter.java:138) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:753) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:746) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:575) > at > org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:520) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:513) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.write(EmGwProtocolManager.java:473) > at > com.bmc.ctms.ctminfra.protocols.emdsect.EmGwProtocolManager.writeWithoutExceptions(EmGwProtocolManager.java:448) > at > com.bmc.ctms.common.services.Service.handleResponse(Service.java:245) > at > com.bmc.ctms.ctmce.Download$SlaveService.handleResponse(Download.java:251) > at > com.bmc.ctms.common.services.Service$3.handleEvent(Service.java:358)