[
https://issues.apache.org/jira/browse/DIRMINA-651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680414#action_12680414
]
Daniel Luo commented on DIRMINA-651:
------------------------------------
Julien,
Yes, I agree with you that adding lock will impact the performance. There is
often a trade-off between correctness and performance. If you don't consider
the statistics correctness, it is all right to keep things unchanged, but at
least adding some comments on this piece of code will help to avoid to
review the same issue in the future :)
Regards,
Daniel
2009/3/10 Julien Vermillard (JIRA) <[email protected]>
> 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
> 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.