Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-3165

The resteasy-netty4 JaxrsAsyncTest fails on Windows CI frequently

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • None

      The test {org.jboss.resteasy.test.JaxrsAsyncTest}} in the server-adaptors/resteasy-netty4 module fails quite frequently on Windows CI. It appears as if at some point a connection is forcibly closed causing subsequent failures. The attached test output shows the error as:

      15:05:53,785 DEBUG [org.jboss.resteasy.resteasy_jaxrs.i18n] (Time-limited test) RESTEASY002340: Client receive processing failure.: jakarta.ws.rs.ProcessingException: org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException: jakarta.xml.bind.UnmarshalException
       - with linked exception:
      [java.net.SocketException: Socket closed]
          at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:254)
          at org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:90)
          at org.jboss.resteasy.specimpl.AbstractBuiltResponse.readEntity(AbstractBuiltResponse.java:262)
          at org.jboss.resteasy.test.JaxrsAsyncTest.testResumeObject(JaxrsAsyncTest.java:168)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
          at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
          at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
          at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
          at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:288)
          at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:282)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException: jakarta.xml.bind.UnmarshalException
       - with linked exception:
      [java.net.SocketException: Socket closed]
          at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.readFrom(AbstractJAXBProvider.java:136)
          at org.jboss.resteasy.core.interception.jaxrs.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:101)
          at org.jboss.resteasy.core.interception.jaxrs.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:80)
          at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:217)
          ... 15 more
      Caused by: jakarta.xml.bind.UnmarshalException
       - with linked exception:
      [java.net.SocketException: Socket closed]
          at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:221)
          at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:189)
          at jakarta.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:123)
          at jakarta.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:106)
          at org.jboss.resteasy.plugins.providers.jaxb.hacks.DelegatingUnmarshaller.unmarshal(DelegatingUnmarshaller.java:91)
          at org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller.unmarshal(SecureUnmarshaller.java:233)
          at org.jboss.resteasy.plugins.providers.jaxb.SecureUnmarshaller.unmarshal(SecureUnmarshaller.java:211)
          at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.processWithSecureProcessing(AbstractJAXBProvider.java:287)
          at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.readFrom(AbstractJAXBProvider.java:118)
          ... 18 more
      Caused by: java.net.SocketException: Socket closed
          at java.base/java.net.SocketInputStream.socketRead0(Native Method)
          at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
          at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
          at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
          at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
          at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
          at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
          at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:261)
          at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:222)
          at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:183)
          at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)
          at java.base/java.io.FilterInputStream.read(FilterInputStream.java:133)
          at org.jboss.resteasy.specimpl.AbstractBuiltResponse$InputStreamWrapper.read(AbstractBuiltResponse.java:596)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager$RewindableInputStream.read(XMLEntityManager.java:3062)
          at java.xml/com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:303)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1699)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipSpaces(XMLEntityScanner.java:1433)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(XMLDocumentScannerImpl.java:1374)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
          at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
          at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
          at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
          at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
          at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
          at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
          at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:218)
          ... 26 more
      

      Further up there is this stack trace:

      15:05:38,036 INFO  [org.jboss.resteasy.plugins.server.netty.i18n] (nioEventLoopGroup-11-1) RESTEASY018512: Exception caught by handler: java.io.IOException: An existing connection was forcibly closed by the remote host
      	at java.base/sun.nio.ch.SocketDispatcher.read0(Native Method)
      	at java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
      	at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276)
      	at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:233)
      	at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223)
      	at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:356)
      	at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:258)
      	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
      	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
      	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
      	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      

      That exception is not thrown on successful runs.

              Unassigned Unassigned
              jperkins-rhn James Perkins
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: