Have you pulled a diff between 13 and 14 to try to narrow it down? It’s always possible that there is a concurrency problem with compression filter which is now exposed through other changes... like what we have with SSL.
On Tue, Mar 19, 2019 at 8:33 AM Greg Thomas <greg.d.tho...@gmail.com> wrote: > Openfire - an XMPP server, > https://www.igniterealtime.org/projects/openfire/index.jsp - makes heavy > use of Apache MINA for it's I/O. > > One of the things it uses is the CompressionFilter - if clients enable the > Compression XMPP option. > > We've recently updated to a newer version of MINA, and with no other code > changes found that enabling compression (in XMPP clients) fails. I've > narrowed it down to changes between MINA 2.0.13 (where it works) and 2.0.14 > through to 2.1.0 (where it doesn't) - with Openfire throwing the following > stack trace: > > java.nio.InvalidMarkException: null > at java.nio.Buffer.reset(Buffer.java:306) ~[?:1.8.0_162] > at > > org.apache.mina.core.buffer.AbstractIoBuffer.reset(AbstractIoBuffer.java:424) > ~[mina-core-2.0.14.jar:?] > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.writeBuffer(AbstractPollingIoProcessor.java:940) > ~[mina-core-2.0.14.jar:?] > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.flushNow(AbstractPollingIoProcessor.java:840) > ~[mina-core-2.0.14.jar:?] > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.flush(AbstractPollingIoProcessor.java:767) > ~[mina-core-2.0.14.jar:?] > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$700(AbstractPollingIoProcessor.java:68) > ~[mina-core-2.0.14.jar:?] > at > > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1125) > ~[mina-core-2.0.14.jar:?] > at > > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) > ~[mina-core-2.0.14.jar:?] > at > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > ~[?:1.8.0_162] > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > ~[?:1.8.0_162] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162] > > Narrowing down even further the commit at > > https://gitbox.apache.org/repos/asf?p=mina.git;a=commit;h=44b58469f84ce991074cdc187b1c1f23b94cf445 > seems > to be the culprit. > > At this point, I'm drawing a blank. > > It's possible Openfire is using the CompressionFilter wrongly, which was > being masked until the above commit. > > It's possible the above commit doesn't do what was intended, but I don't > pretend to understand what it is/should be doing. > > It's possible I've got the wrong end of the stick, and it's something else > between MINA 2.0.13 and 2.0.14 that changed that is causing the problem. > > But at this point, I don't know where to start, so would appreciate any > pointers! > > Thanks, > > Greg >