logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominik Psenner (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-443) Logger.CallAppenders
Date Tue, 21 Oct 2014 14:35:34 GMT

    [ https://issues.apache.org/jira/browse/LOG4NET-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14178457#comment-14178457
] 

Dominik Psenner commented on LOG4NET-443:
-----------------------------------------

Then this one might be hitting you here:

http://joeduffyblog.com/2007/01/29/monitorenter-thread-aborts-and-orphaned-locks/

Quite worrying .. That blog post tells us this: THOU SHALL NOT ABORT THREADS. :-) As far as
I can understand this you will have to work around this issue by untangling the threads.

> 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
>         Attachments: log4net.xml
>
>
> 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)

Mime
View raw message