Hi mina developers,

This is Daniel from Multi-Thread Run-time Analysis Tool for Java team.
Link: http://www.alphaworks.ibm.com/tech/mtrat

We run ftpserver-1.0.0-M4 with our tool and one user login 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. We got some similar data races reported by our tool and we can post
it if necessary.

Should any expert of the project help to verify this data race? Thanks!


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]

Regards,
Daniel

Reply via email to