https://bz.apache.org/bugzilla/show_bug.cgi?id=58383

            Bug ID: 58383
           Summary: Data race inside non-thread-safe HashMap
                    org.apache.catalina.tribes.transport.SenderState.membe
                    rStates
           Product: Tomcat 8
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: yilong...@runtimeverification.com

Reported by RV-Predict (a dynamic race detector) when running the test suite:
Data race on field java.util.HashMap.$state: {{{
    Concurrent read in thread T48 (locks held: {})
 ---->  at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:45)
        at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:41)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:244)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T48 is created by T38
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T57 (locks held: {Monitor@552f7995})
 ---->  at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:51)
        - locked Monitor@552f7995 at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:47)
        at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:41)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:244)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T57 is created by T40
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}} 

Data race on field java.util.HashMap.$state: {{{
    Concurrent read in thread T189 (locks held: {})
 ---->  at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:45)
        at
org.apache.catalina.tribes.transport.SenderState.getSenderState(SenderState.java:41)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:244)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T189 is created by T185
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T188 (locks held: {Monitor@552f7995})
 ---->  at
org.apache.catalina.tribes.transport.SenderState.removeSenderState(SenderState.java:60)
        - locked Monitor@552f7995 at
org.apache.catalina.tribes.transport.SenderState.removeSenderState(SenderState.java:59)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberDisappeared(ChannelCoordinator.java:250)
        at
org.apache.catalina.tribes.membership.McastService.memberDisappeared(McastService.java:471)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$4.run(McastServiceImpl.java:467)
    T188 is created by T168
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}}

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to