Bug 58385

Summary: Data race on field org.apache.catalina.connector.Request.comet
Product: Tomcat 8 Reporter: Yilong Li <yilong.li>
Component: CatalinaAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 8.0.x-trunk   
Target Milestone: ----   
Hardware: PC   
OS: Linux   

Description Yilong Li 2015-09-12 16:14:27 UTC
Reported by RV-Predict (a dynamic race detector) when running the test suite:
Data race on field org.apache.catalina.connector.Request.comet: {{{
    Concurrent read in thread T21 (locks held: {Monitor@2ea9e917})
 ---->  at org.apache.catalina.connector.Request.isComet(Request.java:2537)
        at org.apache.catalina.connector.CometEventImpl.close(CometEventImpl.java:97)
        at org.apache.catalina.comet.TestCometProcessor$SimpleCometServlet.event(TestCometProcessor.java:523)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilterEvent(ApplicationFilterChain.java:470)
        at org.apache.catalina.core.ApplicationFilterChain.doFilterEvent(ApplicationFilterChain.java:363)
        at org.apache.catalina.core.StandardWrapperValve.event(StandardWrapperValve.java:408)
        at org.apache.catalina.core.StandardContextValve.event(StandardContextValve.java:129)
        at org.apache.catalina.valves.ValveBase.event(ValveBase.java:202)
        at org.apache.catalina.valves.ValveBase.event(ValveBase.java:202)
        at org.apache.catalina.core.StandardHostValve.event(StandardHostValve.java:221)
        at org.apache.catalina.valves.ValveBase.event(ValveBase.java:202)
        at org.apache.catalina.core.StandardEngineValve.event(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.event(CoyoteAdapter.java:203)
        at org.apache.coyote.http11.Http11NioProcessor.event(Http11NioProcessor.java:106)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:666)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1526)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1482)
        - locked Monitor@2ea9e917 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1481)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    T21 is created by T16
        at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T20 (locks held: {})
 ---->  at org.apache.catalina.connector.Request.setComet(Request.java:2545)
        at org.apache.catalina.connector.Request.cometClose(Request.java:2584)
        at org.apache.catalina.connector.CometEventImpl.close(CometEventImpl.java:98)
        at org.apache.catalina.comet.TestCometProcessor$AsyncCometCloseThread.run(TestCometProcessor.java:665)
    T20 is created by T19
        at org.apache.catalina.comet.TestCometProcessor$AsyncCometCloseValve.invoke(TestCometProcessor.java:648)
}}}
Comment 1 Mark Thomas 2015-09-15 13:55:40 UTC
Fixed in trunk and 8.0.x for 8.0.27 onwards.