Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-1862

[QE] 7.1.0 Server hanging on HP-UX when reload is initiated quickly after server was sending large amount of data

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Blocker
    • 3.0.0.Alpha12
    • 2.2.0.Final
    • Server
    • None

    Description

      Originally reported for EAP 7.0.3.CP.CR2, still this issue is valid also for WildFly 10.1.0.Final

      Upgrade to XNIO 3.4.0.Final causes regression resulting in server hanging during reload on HP-UX in situation when servlet was sending more than 4 GB of data and suddenly reload operation is called. The reload operation doesn't finish.

      The deployment sending the data is according to log stopped, still there is visible running thread in awaitWritable [1].

      Note: If I use older version of XNIO => replacing XNIO 3.4.0.Final with XNIO 3.3.6.Final, it works just fine.

      Attaching eap.jstack (thread dump when arquillian tries to stop the server after reload operation timed out) and duringReload.jstack (thread dump when reload is called and it is waited for server to be reloaded)

      [1]

      "default task-1" #786 prio=5 os_prio=-179 tid=0x00c18000 nid=796 lwp_id=8999064 runnable [0x27cc0000]
         java.lang.Thread.State: RUNNABLE
      	at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
      	at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:223)
      	at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:84)
      	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
      	- locked <0x6c393e50> (a sun.nio.ch.Util$2)
      	- locked <0x6c393e40> (a java.util.Collections$UnmodifiableSet)
      	- locked <0x6c393d40> (a sun.nio.ch.DevPollSelectorImpl)
      	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
      	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
      	at org.xnio.nio.SelectorUtils.await(SelectorUtils.java:46)
      	at org.xnio.nio.NioSocketConduit.awaitWritable(NioSocketConduit.java:233)
      	at org.xnio.conduits.AbstractSinkConduit.awaitWritable(AbstractSinkConduit.java:66)
      	at org.xnio.conduits.AbstractSinkConduit.awaitWritable(AbstractSinkConduit.java:66)
      	at io.undertow.conduits.ChunkedStreamSinkConduit.awaitWritable(ChunkedStreamSinkConduit.java:361)
      	at org.xnio.conduits.ConduitStreamSinkChannel.awaitWritable(ConduitStreamSinkChannel.java:134)
      	at io.undertow.channels.DetachableStreamSinkChannel.awaitWritable(DetachableStreamSinkChannel.java:87)
      	at io.undertow.server.HttpServerExchange$WriteDispatchChannel.awaitWritable(HttpServerExchange.java:1951)
      	at org.xnio.channels.Channels.writeBlocking(Channels.java:154)
      	at io.undertow.servlet.spec.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:184)
      	at io.undertow.servlet.spec.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:128)
      	at org.jboss.qa.management.web.resources.DataSenderServlet.doGet(DataSenderServlet.java:33)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
      	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
      	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
      	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
      	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
      	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
      	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
      	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
      	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
      	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
      	at io.undertow.server.handlers.MetricsHandler.handleRequest(MetricsHandler.java:62)
      	at io.undertow.servlet.core.MetricsChainHandler.handleRequest(MetricsChainHandler.java:59)
      	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)
      	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)
      	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
      	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175)
      	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:207)
      	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:802)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        1. connector-metrics.war
          4 kB
        2. duringReload.jstack
          24 kB
        3. eap.jstack
          21 kB

        Issue Links

          Activity

            People

              dlloyd@redhat.com David Lloyd
              rhatlapa@redhat.com Radim Hatlapatka (Inactive)
              Radim Hatlapatka Radim Hatlapatka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: