[
https://issues.apache.org/jira/browse/LOG4NET-551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15897243#comment-15897243
]
Dan K edited comment on LOG4NET-551 at 3/6/17 1:31 PM:
-------------------------------------------------------
Hi Stefan, here is a little more background/detail/context with issue we are
currently seeing in v2.0.7:
1) During latest development cycle, we upgraded straight from version 1.2.11 to
v2.0.6, then the same week to v2.0.7 with intent to use the latest version for
upcoming release. As you are aware, there have many bugs fixed/improvements
made since 1.2.11. Then we could have addressed this sooner.
2) We didn't see this exception until the upgrade to v2.0.7. We wouldn't have
known about this error prior since it wasn't present in 1.2.11, which is
consistent with your last comment. I wasn't involved in the logging development
efforts during that time and not sure why this wasn't upgraded sooner.
3: Here is the consistent/only exception we see with log4net internal debugging
on using v2.0.7 for file logging:
log4net:ERROR Exception while logging
System.Threading.LockRecursionException: Recursive read lock acquisitions not
allowed in this mode.
at System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker
timeout)
at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker
timeout)
at log4net.Util.ReaderWriterLock.AcquireReaderLock()
at log4net.Repository.Hierarchy.Logger.CallAppenders(LoggingEvent
loggingEvent)
at log4net.Repository.Hierarchy.Logger.ForcedLog(Type
callerStackBoundaryDeclaringType, Level level, Object message, Exception
exception)
at log4net.Repository.Hierarchy.Logger.Log(Type
callerStackBoundaryDeclaringType, Level level, Object message, Exception
exception)
4. With all the evidence we have so far around this particular exception, we're
confident that the fix in v2.0.8 will help us get past this block and move
forward.
was (Author: [email protected]):
Hi Stefan, here is a little more background/detail/context with issue we are
currently seeing in v2.0.7:
1) During latest development cycle, we upgraded straight from version 1.2.11 to
v2.0.6, then the same week to v2.0.7 with intent to use the latest version for
upcoming release. As you are aware, there have many bugs fixed/improvements
made since 1.2.11. Then we could have addressed this sooner.
2) We didn't see this exception until the upgrade to v2.0.7. We wouldn't have
known about this error prior since it wasn't present in 1.2.11, which is
consistent with your last comment. I wasn't involved in the logging development
efforts during that time and not sure why this wasn't upgraded sooner.
3: Here is the consistent/only exception we see with log4net internal debugging
on using v2.0.7 for file logging:
log4net:ERROR Exception while logging
System.Threading.LockRecursionException: Recursive read lock acquisitions not
allowed in this mode.
at System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker
timeout)
at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker
timeout)
at log4net.Util.ReaderWriterLock.AcquireReaderLock()
at log4net.Repository.Hierarchy.Logger.CallAppenders(LoggingEvent
loggingEvent)
at log4net.Repository.Hierarchy.Logger.ForcedLog(Type
callerStackBoundaryDeclaringType, Level level, Object message, Exception
exception)
at log4net.Repository.Hierarchy.Logger.Log(Type
callerStackBoundaryDeclaringType, Level level, Object message, Exception
exception)
4. With all the evidence we have so far around this particular exception, we
strongly feel that the fix in v2.0.8 will help us get past this block and move
forward.
> LockRecursionException when using File Appenders
> ------------------------------------------------
>
> Key: LOG4NET-551
> URL: https://issues.apache.org/jira/browse/LOG4NET-551
> Project: Log4net
> Issue Type: Bug
> Affects Versions: 2.0.7
> Reporter: Matthew Lefoster
> Priority: Minor
> Fix For: 2.0.8
>
>
> I have been getting the following exception on the console:
> {quote}
> log4net:ERROR Exception while logging
> System.Threading.LockRecursionException: Recursive read lock acquisitions not
> allowed in this mode.
> at
> System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker
> timeout)
> at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker
> timeout)
> at System.Threading.ReaderWriterLockSlim.EnterReadLock()
> at log4net.Util.ReaderWriterLock.AcquireReaderLock()
> at log4net.Repository.Hierarchy.Logger.CallAppenders(LoggingEvent
> loggingEvent)
> at log4net.Repository.Hierarchy.Logger.ForcedLog(Type
> callerStackBoundaryDeclaringType, Level level, Object message, Exception
> exception)
> at log4net.Repository.Hierarchy.Logger.Log(Type
> callerStackBoundaryDeclaringType, Level level, Object message, Exception
> exception)
> {quote}
> I have a number of different appenders, but this only happens when I am using
> `log4net.Appender.FileAppender`.
> Using a debugger, I was able to narrow it down to this line (I replaced curly
> brackets with square brackets because otherwise JIRA interprets them as
> macros):
> {quote}
> Logger.DebugFormat("[1] Executing SQL: [0][2][0]With parameters: [3]",
> Environment.NewLine, methodName, sql, new
> ToStringWrapper(parameters));
> {quote}
> My first thought was that ToStringWrapper() was throwing an exception or
> generating another logging call. But If I put breakpoints at the log call and
> at the first line of ToStringWrapper.ToString, the exception will show up in
> the console between those two points.
> Oddly enough, if I "step into" the logging call instead of just "continuing"
> and letting the breakpoints handle it, no exception happens.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)