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

            Bug ID: 58380
           Summary: Data race on field
                    org.apache.catalina.session.StandardSession.maxInactiv
                    eInterval
           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
org.apache.catalina.session.StandardSession.maxInactiveInterval: {{{
    Concurrent read in thread T40 (locks held: {})
 ---->  at
org.apache.catalina.session.StandardSession.isValid(StandardSession.java:701)
        at
org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:570)
        at
org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:555)
        at
org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5537)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1377)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1349)
    T40 is created by T1
        at
org.apache.catalina.core.ContainerBase.threadStart(ContainerBase.java:1299)

    Concurrent write in thread T1 (locks held: {})
 ---->  at
org.apache.catalina.session.StandardSession.setMaxInactiveInterval(StandardSession.java:607)
        at
org.apache.catalina.authenticator.TestSSOnonLoginAndBasicAuthenticator.doImminentSessionTimeout(TestSSOnonLoginAndBasicAuthenticator.java:599)
        at
org.apache.catalina.authenticator.TestSSOnonLoginAndBasicAuthenticator.testBasicExpiredAcceptProtectedWithCookies(TestSSOnonLoginAndBasicAuthenticator.java:340)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread
}}}

Data race on field
org.apache.catalina.session.StandardSession.maxInactiveInterval: {{{
    Concurrent read in thread T40 (locks held: {})
 ---->  at
org.apache.catalina.session.StandardSession.isValid(StandardSession.java:703)
        at
org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:570)
        at
org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:555)
        at
org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5537)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1377)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381)
        at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1349)
    T40 is created by T1
        at
org.apache.catalina.core.ContainerBase.threadStart(ContainerBase.java:1299)

    Concurrent write in thread T1 (locks held: {})
 ---->  at
org.apache.catalina.session.StandardSession.setMaxInactiveInterval(StandardSession.java:607)
        at
org.apache.catalina.authenticator.TestSSOnonLoginAndBasicAuthenticator.doImminentSessionTimeout(TestSSOnonLoginAndBasicAuthenticator.java:599)
        at
org.apache.catalina.authenticator.TestSSOnonLoginAndBasicAuthenticator.testBasicExpiredAcceptProtectedWithCookies(TestSSOnonLoginAndBasicAuthenticator.java:340)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
        at org.junit.rules.RunRules.evaluate(RunRules.java:20)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread
}}}

-- 
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