Calin Pavel created LOG4NET-443:
-----------------------------------
Summary: Logger.CallAppenders
Key: LOG4NET-443
URL: https://issues.apache.org/jira/browse/LOG4NET-443
Project: Log4net
Issue Type: Bug
Affects Versions: 1.2.13
Environment: Windows service implemented with .NET 4.5 using Log4Net
1.2.13 on Windows 2008 R2
Reporter: Calin Pavel
Priority: Critical
I do have an .NET application (Windows Service) that collects data from a lot
of sources (DBs, log files, machines event logs, ...) and uses Log4Net to log
details of the actions / execution. As expected, I'm using a high number of
threads to collect data, threads that are writing logs in some files
(RollingFileAppenderer).
Lately it happens that the entire application is BLOCKED because all threads
were trying to acquire a read lock, like in the stack trace:
000000001ac3d998 00000000774715fa [HelperMethodFrame: 000000001ac3d998]
System.Threading.Thread.SleepInternal(Int32)
000000001ac3da90 000007fef747b5e9 System.Threading.Thread.Sleep(Int32)
000000001ac3dac0 000007fef5fb9631
System.Threading.ReaderWriterLockSlim.EnterMyLockSpin()
000000001ac3db90 000007fef5cd297e
System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker)
000000001ac3dbf0 000007fef5cd28fa
System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker)
000000001ac3dc40 000007fe98fb4efd
log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.Core.LoggingEvent)
000000001ac3dcc0 000007fe98fb4907
log4net.Repository.Hierarchy.Logger.Log(System.Type, log4net.Core.Level,
System.Object, System.Exception)
000000001ac3dd30 000007fe98fb47f9 log4net.Core.LogImpl.Info(System.Object)
It's important to mention that my threads have a timeout, and if they do not
finish the job in the given interval they are ABORTED.
Searching for a solution, I found a possible explanation of application hanging
here:
http://chabster.blogspot.ro/2013/07/a-story-of-orphaned-readerwriterlockslim.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)