FTP would periodically hang in MDC ---------------------------------- Key: FTPSERVER-403 URL: https://issues.apache.org/jira/browse/FTPSERVER-403 Project: FtpServer Issue Type: Bug Components: Core, Server Affects Versions: 1.0.5, 1.0.4, 1.0.3 Environment: Encountered it both on Linux and FreeBSD, both on Sun JVM 1.6 and OpenJDK 6. Reporter: ArtemGr
FTP works fine for the most time but once in a while (depended on how often the FTP is used) it would hang, consuming 100% CPU, in java.util.HashMap.removeEntryForKey (HashMap.java:586) java.util.HashMap.remove (HashMap.java:555) org.slf4j.helpers.BasicMDCAdapter.remove (BasicMDCAdapter.java:91) org.slf4j.MDC.remove (MDC.java:156) org.apache.mina.filter.logging.MdcInjectionFilter.filter (MdcInjectionFilter.java:141) org.apache.mina.filter.util.CommonEventFilter.messageSent (CommonEventFilter.java:75) org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageSent (DefaultIoFilterChain.java:462) org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300 (DefaultIoFilterChain.java:46) org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageSent (DefaultIoFilterChain.java:802) org.apache.mina.filter.codec.ProtocolCodecFilter.messageSent (ProtocolCodecFilter.java:287) org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageSent (DefaultIoFilterChain.java:462) org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300 (DefaultIoFilterChain.java:46) org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageSent (DefaultIoFilterChain.java:802) org.apache.mina.core.filterchain.IoFilterEvent.fire (IoFilterEvent.java:80) org.apache.mina.core.session.IoEvent.run (IoEvent.java:63) org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask (OrderedThreadPoolExecutor.java:780) org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks (OrderedThreadPoolExecutor.java:772) org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run (OrderedThreadPoolExecutor.java:714) The only MDC-related code that our application adds is the following in the UserManager.authenticate implementation: Map context = MDC.getCopyOfContextMap(); if (context != null) System.out.println ("FTP user logged in: " + context); return user; Seems like a synchronization issue to me. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira