Data Race in org.apache.mina.core.session.AbstractIoSession -----------------------------------------------------------
Key: FTPSERVER-245 URL: https://issues.apache.org/jira/browse/FTPSERVER-245 Project: FtpServer Issue Type: Bug Components: Core Affects Versions: 1.0.0-M4 Environment: [dan...@daniel-desk ~]$ uname -a Linux daniel-desk.dyndns.org 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:12 EDT 2008 i686 i686 i386 GNU/Linux [dan...@daniel-desk ~]$ java -version java version "1.6.0" Java(TM) SE Runtime Environment (build pxi3260sr2-20080818_01(SR2)) IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Linux x86-32 jvmxi3260-20080816_22093 (JIT enabled, AOT enabled) J9VM - 20080816_022093_lHdSMr JIT - r9_20080721_1330ifx2 GC - 20080724_AA) JCL - 20080808_02 Reporter: Daniel Luo We run ftpserver-1.0.0-M4 with our tool (http://www.alphaworks.ibm.com/tech/mtrat) and one user logins to the server, then a data race is reported. The data race happens in the field "readMessages" of class "org/apache/mina/transport/socket/nio/NioSocketSession". Thread "pool-3-thread-1" read this field while thread "pool-2-thread-1" write to it, which both threads don't share the same lock to protect the critical section. Data Race 4 : 1526 : org/apache/mina/transport/socket/nio/NioSocketSession : readMessages Thread "pool-3-thread-1" : Tid 15 : Rid 1540 : READ Lock Set : [ ] Vector Clock : 3 [org/apache/mina/core/session/AbstractIoSession : updateThroughput : 667] [org/apache/mina/core/session/IdleStatusChecker : updateThroughput : 265] [org/apache/mina/core/session/IdleStatusChecker : notifyIdleSession : 201] [org/apache/mina/core/session/IdleStatusChecker : notifyIdleness : 150] [org/apache/mina/core/polling/AbstractPollingIoProcessor : notifyIdleSessions : 604] [org/apache/mina/core/polling/AbstractPollingIoProcessor : access$700 : 58] [org/apache/mina/core/polling/AbstractPollingIoProcessor$Worker : run : 863] [org/apache/mina/util/NamePreservingRunnable : run : 51] Thread "pool-2-thread-1" : Tid 16 : Rid 1683 : WRITE Lock Set : [ ] Vector Clock : 2 [org/apache/mina/core/session/AbstractIoSession : increaseReadMessages : 728] [org/apache/mina/core/filterchain/DefaultIoFilterChain$TailFilter : messageReceived : 746] [org/apache/mina/core/filterchain/DefaultIoFilterChain : callNextMessageReceived : 414] [org/apache/mina/core/filterchain/DefaultIoFilterChain : access$1200 : 49] [org/apache/mina/core/filterchain/DefaultIoFilterChain$EntryImpl$1 : messageReceived : 832] [org/apache/ftpserver/listener/nio/FtpLoggingFilter : messageReceived : 83] [org/apache/mina/core/filterchain/DefaultIoFilterChain : callNextMessageReceived : 414] [org/apache/mina/core/filterchain/DefaultIoFilterChain : access$1200 : 49] [org/apache/mina/core/filterchain/DefaultIoFilterChain$EntryImpl$1 : messageReceived : 832] [org/apache/mina/core/filterchain/IoFilterEvent : fire : 60] [org/apache/mina/filter/logging/MdcInjectionFilter : filter : 137] [org/apache/mina/filter/util/CommonEventFilter : messageReceived : 70] [org/apache/mina/core/filterchain/DefaultIoFilterChain : callNextMessageReceived : 414] [org/apache/mina/core/filterchain/DefaultIoFilterChain : access$1200 : 49] [org/apache/mina/core/filterchain/DefaultIoFilterChain$EntryImpl$1 : messageReceived : 832] [org/apache/mina/filter/codec/ProtocolCodecFilter$ProtocolDecoderOutputImpl : flush : 379] [org/apache/mina/filter/codec/ProtocolCodecFilter : messageReceived : 173] [org/apache/mina/core/filterchain/DefaultIoFilterChain : callNextMessageReceived : 414] [org/apache/mina/core/filterchain/DefaultIoFilterChain : access$1200 : 49] [org/apache/mina/core/filterchain/DefaultIoFilterChain$EntryImpl$1 : messageReceived : 832] [org/apache/mina/core/filterchain/IoFilterEvent : fire : 60] [org/apache/mina/core/session/IoEvent : run : 64] [org/apache/mina/filter/executor/OrderedThreadPoolExecutor$Worker : runTask : 551] [org/apache/mina/filter/executor/OrderedThreadPoolExecutor$Worker : runTasks : 543] [org/apache/mina/filter/executor/OrderedThreadPoolExecutor$Worker : run : 487] -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.