https://bz.apache.org/bugzilla/show_bug.cgi?id=58371
Bug ID: 58371
Summary: Data race on field
org.apache.tomcat.util.buf.MessageBytes.hasStrValue
Product: Tomcat 8
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Util
Assignee: [email protected]
Reporter: [email protected]
Reported by RV-Predict (a dynamic race detector) when running the test suite:
Data race on field org.apache.tomcat.util.buf.MessageBytes.hasStrValue: {{{
Concurrent read in thread T18 (locks held: {Monitor@56dc46b6})
----> at
org.apache.tomcat.util.buf.MessageBytes.toString(MessageBytes.java:156)
at
org.apache.catalina.connector.Request.getRequestURI(Request.java:2178)
at
org.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:202)
- locked Monitor@56dc46b6 at
org.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:192)
at
org.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:187)
at
org.apache.catalina.core.TestAsyncContextImpl$DispatchingServlet$1.run(TestAsyncContextImpl.java:710)
T18 is created by T17
at
org.apache.catalina.core.TestAsyncContextImpl$DispatchingServlet.doGet(TestAsyncContextImpl.java:715)
Concurrent write in thread T17 (locks held: {Monitor@74cf9f3a})
----> at
org.apache.tomcat.util.buf.MessageBytes.toString(MessageBytes.java:167)
at org.apache.coyote.RequestInfo.updateCounters(RequestInfo.java:167)
at org.apache.coyote.Request.updateCounters(Request.java:566)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1153)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:277)
- locked Monitor@74cf9f3a at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:259)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
T17 is created by T15
at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}}
Consider declaring hasStrValue as volatile to avoid instructions reordering?
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]