[jcifs] java.util.ConcurrentModificationException

"Kreyßel, Conny" Conny.Kreyssel at INTER-FORUM.DE
Mon Nov 22 14:22:46 GMT 2004


Hi guys,

I have a little Problem with jcifs. When we have heavy load on our NtlmHttpFilter we get sometimes a java.util.ConcurrentModificationException. I take a look in the source code of SmbTransport and I see you use a LinkedList to store the smb-sessions. Why you dont use synchronized Lists (List list = Collections.synchronizedList(new LinkedList(...))) like described in the docs of LinkedList?

Thank you.

Bye Conny


java.util.ConcurrentModificationException
        at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:548)
        at java.util.LinkedList$ListItr.next(LinkedList.java:484)
        at jcifs.smb.SmbTransport.getSmbSession(SmbTransport.java:235)
        at jcifs.smb.SmbSession.logon(SmbSession.java:155)
        at jcifs.smb.SmbSession.logon(SmbSession.java:150)
        at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:155)
        at de.interforum.webauth.filter.NTLMAuthFilter.doFilter(NTLMAuthFilter.java:73)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.josso.agent.SSOAgentValve.invoke(SSOAgentValve.java:269)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
        at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:536)


More information about the jcifs mailing list