jax-ws
  1. jax-ws
  2. JAX_WS-953

Improper invocation of AsyncContext.complete() results into intermittent exceptions logged in server logs

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.3
    • Fix Version/s: 2.2.5
    • Component/s: None
    • Labels:
      None
    • Issuezilla Id:
      12,666,484

      Description

      Stacktrace:
      [#|2011-06-06T16:59:54.282-0500|FINE|oracle-glassfish3.1|com.sun.xml.ws.trans
      por
      t.http.servlet.WSAsyncListener|_ThreadID=11;_ThreadName=Thread-1;ClassName=co
      m.s
      un.xml.ws.transport.http.servlet.WSAsyncListener$1;MethodName=onTimeout;|WSAs
      ync
      Listener timed out|#]

      [#|2011-06-06T16:59:54.284-0500|FINE|oracle-glassfish3.1|com.sun.xml.ws.trans
      por
      t.http.servlet.WSAsyncListener|_ThreadID=11;_ThreadName=Thread-1;ClassName=co
      m.s
      un.xml.ws.transport.http.servlet.WSAsyncListener$1;MethodName=onComplete;|WSA
      syn
      cListener completed|#]

      [#|2011-06-06T17:00:54.745-0500|SEVERE|oracle-glassfish3.1|com.sun.xml.ws.ser
      vle
      t.http|_ThreadID=23;_ThreadName=Thread-1;|caught throwable
      java.lang.IllegalStateException: Not Suspended
      at com.sun.grizzly.tcp.Response.resume(Response.java:768)
      at
      org.apache.catalina.connector.Request.asyncComplete(Request.java:3982)
      at
      org.apache.catalina.connector.AsyncContextImpl.complete(AsyncContextImpl.java
      :252)
      at
      com.sun.xml.ws.transport.http.servlet.ServletAdapter$1.onCompletion(ServletAd
      apter.java:202)
      at
      com.sun.xml.ws.transport.http.HttpAdapter$1.onCompletion(HttpAdapter.java:507
      )
      at
      com.sun.xml.ws.server.WSEndpointImpl$1.onCompletion(WSEndpointImpl.java:268)
      at com.sun.xml.ws.api.pipe.Fiber.completionCheck(Fiber.java:517)
      at com.sun.xml.ws.api.pipe.Fiber.run(Fiber.java:435)
      at com.sun.xml.ws.api.pipe.Fiber.runAsync(Fiber.java:268)
      at
      com.sun.xml.ws.server.WSEndpointImpl.processAsync(WSEndpointImpl.java:291)
      at
      com.sun.xml.ws.server.WSEndpointImpl.process(WSEndpointImpl.java:297)
      at
      com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:496)
      at
      com.sun.xml.ws.transport.http.servlet.ServletAdapter.invokeAsync(ServletAdapt
      er.java:200)
      at
      com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelega
      te.java:159)
      at
      com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDeleg
      ate.java:194)
      at
      com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:80)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at
      org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
      at
      org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.jav
      a:281)
      at
      org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.jav
      a:175)
      at
      org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)

      at
      org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
      at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
      at
      com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLocki
      ngStandardPipeline.java:91)
      at
      org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)

      at
      org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)

      at
      org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
      at
      com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.j
      ava:170)
      at
      com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
      at
      com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
      at
      com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
      at
      com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java
      :225)
      at
      com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolCha
      in.java:137)
      at
      com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
      at
      com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
      at
      com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
      at
      com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java
      :54)
      at
      com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

      at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
      at
      com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java
      :532)
      at
      com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:51
      3)
      at java.lang.Thread.run(Thread.java:662)

        Activity

        Hide
        ramapulavarthi added a comment -

        Put a fix(reviewed by Alexey) in jaxws225 branch.
        Project: jax-ws
        Repository: sources
        Revision: 12373
        Author: ramapulavarthi
        Date: 2011-06-17 18:13:40 UTC
        Link:

        Log Message:
        ------------
        JAX_WS-953:Synchronize before calling AyncContext.complete() to check if the Request has already timedout.

        Show
        ramapulavarthi added a comment - Put a fix(reviewed by Alexey) in jaxws225 branch. Project: jax-ws Repository: sources Revision: 12373 Author: ramapulavarthi Date: 2011-06-17 18:13:40 UTC Link: Log Message: ------------ JAX_WS-953 :Synchronize before calling AyncContext.complete() to check if the Request has already timedout.
        Hide
        Martin Grebac added a comment -

        updating based on comments

        Show
        Martin Grebac added a comment - updating based on comments

          People

          • Assignee:
            Martin Grebac
            Reporter:
            ramapulavarthi
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: