<div dir="ltr">Unfortunately not, but my scenario itself was fairly simple.  I was just creating a FormData instance in JavaScript that had a few values including a file and then sending it via AJAX POST to the server as multipart/form-data.</div><br><div class="gmail_quote"><div dir="ltr">On Sun, Feb 26, 2017 at 3:33 PM Stuart Douglas &lt;<a href="mailto:sdouglas@redhat.com">sdouglas@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This does sound like a h2 issue. Do you have a reliable way or<br class="gmail_msg">
reproducing it that I can debug?<br class="gmail_msg">
<br class="gmail_msg">
Stuart<br class="gmail_msg">
<br class="gmail_msg">
On Sun, Feb 26, 2017 at 5:12 AM, Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt; wrote:<br class="gmail_msg">
&gt; It just occurred to me this might be related to me using HTTP2.  I was also<br class="gmail_msg">
&gt; experiencing both client and server errors loading resources (audio and<br class="gmail_msg">
&gt; video).  I just turned off HTTP2 and now I&#39;m not experiencing any errors at<br class="gmail_msg">
&gt; all.  I haven&#39;t tried switching back to asynchronous parsing of<br class="gmail_msg">
&gt; multipart/form-data yet though.<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; On Sat, Feb 25, 2017 at 11:06 AM Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt; wrote:<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Thanks for the response Bill, but that&#39;s almost verbatim what I was<br class="gmail_msg">
&gt;&gt; already doing and it was sometimes not working and getting stuck.<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; On Sat, Feb 25, 2017 at 10:13 AM Bill O&#39;Neil &lt;<a href="mailto:bill@dartalley.com" class="gmail_msg" target="_blank">bill@dartalley.com</a>&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; Have you looked into the EagerFormParsingHandler?<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; On Sat, Feb 25, 2017 at 11:01 AM, Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; Well, it appears I fixed the problem.  After switching to the following<br class="gmail_msg">
&gt;&gt;&gt;&gt; code everything is working fine now:<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; if (exchange.isInIoThread()) {<br class="gmail_msg">
&gt;&gt;&gt;&gt;   exchange.dispatch(this);<br class="gmail_msg">
&gt;&gt;&gt;&gt; } else {<br class="gmail_msg">
&gt;&gt;&gt;&gt;   exchange.startBlocking();<br class="gmail_msg">
&gt;&gt;&gt;&gt;   formParserBuilder.build().createParser(exchange).parseBlocking();<br class="gmail_msg">
&gt;&gt;&gt;&gt;   ...<br class="gmail_msg">
&gt;&gt;&gt;&gt; }<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; It&#39;s unfortunately that the non-blocking approach seems to be<br class="gmail_msg">
&gt;&gt;&gt;&gt; unreliable.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; On Fri, Feb 24, 2017 at 7:18 PM Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; I gave it several minutes to run and finally just forcibly reloaded the<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; page and it spun for a few seconds like it normally does, but I waited and<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; eventually it threw this exception:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR] Feb 24, 2017 7:15:45 PM org.xnio.ChannelListeners<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; invokeChannelListener<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR] ERROR: XNIO001007: A channel event listener threw an<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; exception<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR] java.lang.IllegalStateException<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer(AbstractFramedStreamSinkChannel.java:574)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; io.undertow.server.protocol.framed.AbstractFramedChannel.flushSenders(AbstractFramedChannel.java:629)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener.handleEvent(AbstractFramedChannel.java:951)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener.handleEvent(AbstractFramedChannel.java:948)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.writeReady(SslConduit.java:1225)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; io.undertow.protocols.ssl.SslConduit$3.run(SslConduit.java:275)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:580)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; appJVM[ERROR]   at org.xnio.nio.WorkerThread.run(WorkerThread.java:464)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; I don&#39;t know if it&#39;s relevant to the problem or not, but at this point<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; I&#39;m just grasping for any straw.<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt; On Fri, Feb 24, 2017 at 5:18 PM Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt; 4.) I have three threads &quot;runnable&quot;:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt; &quot;XNIO-1 Accept@6446&quot; prio=5 tid=0x21 nid=NA runnable<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;   java.lang.Thread.State: RUNNABLE<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollArrayWrapper.epollWait(EPollArrayWrapper.java:-1)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;merged&gt;(a sun.nio.ch.EPollSelectorImpl)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;merged&gt;(a java.util.Collections$UnmodifiableSet)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;merged&gt;(a sun.nio.ch.Util$3)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at org.xnio.nio.WorkerThread.run(WorkerThread.java:509)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt; &quot;XNIO-1 I/O-7@6448&quot; prio=5 tid=0x1f nid=NA runnable<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;   java.lang.Thread.State: RUNNABLE<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollArrayWrapper.epollWait(EPollArrayWrapper.java:-1)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;merged&gt;(a sun.nio.ch.EPollSelectorImpl)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;merged&gt;(a java.util.Collections$UnmodifiableSet)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;merged&gt;(a sun.nio.ch.Util$3)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at org.xnio.nio.WorkerThread.run(WorkerThread.java:509)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt; &quot;XNIO-1 I/O-3@6452&quot; prio=5 tid=0x1b nid=NA runnable<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;   java.lang.Thread.State: RUNNABLE<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollArrayWrapper.epollWait(EPollArrayWrapper.java:-1)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;0x1953&gt; (a sun.nio.ch.EPollSelectorImpl)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;0x1954&gt; (a java.util.Collections$UnmodifiableSet)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  - locked &lt;0x1955&gt; (a sun.nio.ch.Util$3)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;  at org.xnio.nio.WorkerThread.run(WorkerThread.java:509)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt; On Fri, Feb 24, 2017 at 5:15 PM Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 1.) I was running 1.4.10.Final, but I upgraded to 1.4.11.Final hoping<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; it was a bug that was fixed, but it didn&#39;t make any difference.<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 2.) Yes<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 3.) No, of the 8 virtual CPUs none of them are maxed out.<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; 4.) I&#39;ll have to get back to you...<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Fri, Feb 24, 2017 at 5:10 PM Stuart Douglas &lt;<a href="mailto:sdouglas@redhat.com" class="gmail_msg" target="_blank">sdouglas@redhat.com</a>&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; - What version of Undertow?<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; - Is SSL in use?<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; - Does the server enter some kind of spin loop (i.e. 100% CPU<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; usage)?<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; - What does the stack trace look like when this happens?<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Stuart<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Sat, Feb 25, 2017 at 9:14 AM, Hicks, Matt &lt;<a href="mailto:matt@matthicks.com" class="gmail_msg" target="_blank">matt@matthicks.com</a>&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; I&#39;m uploading files as &quot;multipart/form-data&quot; and using the<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; FormParser as<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; follows:<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; FormParserFactory.builder().build().createParser(exchange).parse(nextHandler)<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; Sometimes this works fine, but very often my client shows progress<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; up to a<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; certain percentage complete (monitoring the AJAX request) and then<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; just<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; stops and never kicks to `nextHandler`, leaves the connection just<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; sitting<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; there forever, and the server seems to stop accepting any future<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; connections.<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; Any idea what might be causing this?<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; _______________________________________________<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; undertow-dev mailing list<br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; <a href="mailto:undertow-dev@lists.jboss.org" class="gmail_msg" target="_blank">undertow-dev@lists.jboss.org</a><br class="gmail_msg">
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.jboss.org/mailman/listinfo/undertow-dev</a><br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; _______________________________________________<br class="gmail_msg">
&gt;&gt;&gt;&gt; undertow-dev mailing list<br class="gmail_msg">
&gt;&gt;&gt;&gt; <a href="mailto:undertow-dev@lists.jboss.org" class="gmail_msg" target="_blank">undertow-dev@lists.jboss.org</a><br class="gmail_msg">
&gt;&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.jboss.org/mailman/listinfo/undertow-dev</a><br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;<br class="gmail_msg">
</blockquote></div>