Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.8
-
None
-
None
Description
We are using log4net in a multithreaded application. When running the application from Visual Studio with debugging, in rare occasions a NullReferenceException occurs in FileAppender.LockingModelBase in the CloseStream method:
System.NullReferenceException: Object reference not set to an instance of an object.
at log4net.Appender.FileAppender.LockingModelBase.CloseStream(Stream stream)
at log4net.Appender.FileAppender.MinimalLock.ReleaseLock()
at log4net.Appender.FileAppender.LockingStream.ReleaseLock()
at log4net.Appender.FileAppender.CloseWriter()
at log4net.Appender.TextWriterAppender.Reset()
at log4net.Appender.FileAppender.Reset()
at log4net.Appender.TextWriterAppender.OnClose()
at log4net.Appender.FileAppender.OnClose()
at log4net.Appender.AppenderSkeleton.Close()
at log4net.Appender.AppenderSkeleton.Finalize()
at log4net.Appender.RollingFileAppender.Finalize()
Debugging with log4net source code revealed it's the stream parameter of the CloseStream method that is null. Without knowing the root cause why the value is already null here (shouldn't be the case), would it be possible to add a null check here?