[ 
https://issues.apache.org/jira/browse/DIRMINA-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683866#action_12683866
 ] 

Niklas Gustavsson commented on DIRMINA-651:
-------------------------------------------

Some of these races are in the idle time checking, which is a core 
functionality in MINA of course. Those we have to fix. As for the stats that 
was added for throttling, I don't think we use them anywhere in FtpServer and 
thus we do not care if they are removed (our exposure to IoSession are only in 
our internal classes and we can therefore change them without having to release 
a non-backwards compatible release). But, I have to confirm this when I have 
some more time.

> Data Race in org.apache.mina.core.session.AbstractIoSession
> -----------------------------------------------------------
>
>                 Key: DIRMINA-651
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-651
>             Project: MINA
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.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
>         Attachments: 20081217_ftpserver_multiusers.log
>
>
> 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.

Reply via email to