https://issues.apache.org/bugzilla/show_bug.cgi?id=52353
Bug #: 52353 Summary: Possibility of unsynchronized concurrent access to field "org.apache.catalina.tribes.group.ChannelInterceptorBa se.next" Product: Tomcat 7 Version: trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina AssignedTo: dev@tomcat.apache.org ReportedBy: reprogram...@gmail.com Classification: Unclassified Method "org.apache.catalina.tribes.group.ChannelInterceptorBase.getNext()" is reachable from method org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.run(), which implements the run method of a "Runnable" class. The following is a sequence of method calls from "MessageDispatchInterceptor.run()" to "ChannelInterceptorBase.getNext()": 1. org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.run() 2. org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendAsyncData(LinkObject) 3. org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(Member[], ChannelMessage, InterceptorPayload) 4. org.apache.catalina.tribes.group.ChannelInterceptorBase.getNext() Similarly, "org.apache.catalina.tribes.group.ChannelInterceptorBase.setNext(ChannelInterceptor)" may be called from "org.apache.catalina.tribes.demos.CoordinationDemo.cmdStart(...).new Thread() {...}.run()", which implements the "run" method of a "Thread". The following is a sequence of method calls that shows the possibility of invoking "ChannelInterceptorBase.setNext(ChannelInterceptor)" from a "Thread": 1. org.apache.catalina.tribes.demos.CoordinationDemo.cmdStart(...).new Thread() {...}.run() 2. org.apache.catalina.tribes.demos.CoordinationDemo.Status.start() 3. org.apache.catalina.tribes.demos.CoordinationDemo.Status.createChannel() 4. org.apache.catalina.tribes.group.GroupChannel.addInterceptor(ChannelInterceptor) 5. org.apache.catalina.tribes.group.ChannelInterceptorBase.setNext(ChannelInterceptor) Since field "org.apache.catalina.tribes.group.ChannelInterceptorBase.next" may get accessed concurrently, it should get properly synchronized. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- 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