[ 
https://issues.apache.org/jira/browse/LOG4NET-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dominik Psenner resolved LOG4NET-381.
-------------------------------------

    Resolution: Invalid

Please turn on log4net's internal logging and you will most probably see that 
log4net is unable to open some files because different worker processes of IIS 
try to open the same file without being properly synchronized between each 
other.

Please note also that log4net 1.2.9 was a beta release and you should update to 
1.2.11 if you can.

Please note further that the following article may turn out to be very useful 
for you: http://hectorcorrea.com/blog/log4net-thread-safe-but-not-process-safe

Feel free to reopen the issue if you still think that this issue is not caused 
by log4net being badly configured.
                
> IIS worker process hangs while writing to logs
> ----------------------------------------------
>
>                 Key: LOG4NET-381
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-381
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.9
>         Environment: Windows 2008 R2, IIS 7
>            Reporter: Indra Bhanu
>            Priority: Critical
>
> Observed multiple application pools for website and upon analyzing w3wp 
> process dumps of hang worker processors, we found the hang was due to log4net 
> process and below is your detailed observations.
> active requests in all the dumps are saying log4net logging
>  
> .  0  Id: 478.2c0c Suspend: -1 Teb: 000007ff`fffaa000 Unfrozen
> Child-SP          RetAddr           Call Site
> 00000000`01f5cd08 000007fe`fd0881cd ntdll!ZwQueryFullAttributesFile+0xa
> 00000000`01f5cd10 000007fe`f91ae377 KERNELBASE!GetFileAttributesExW+0x9d
> 00000000`01f5cde0 000007fe`f7d3d038 
> mscorwks!DoNDirectCall__PatchGetThreadCall+0x7b
> 00000000`01f5ce80 000007fe`f7d3cd1c 
> mscorlib_ni!DomainNeutralILStubClass.IL_STUB(System.String, Int32, 
> WIN32_FILE_ATTRIBUTE_DATA ByRef)+0x138
> 00000000`01f5d000 000007fe`f7cc6318 
> mscorlib_ni!System.IO.File.FillAttributeInfo(System.String, 
> WIN32_FILE_ATTRIBUTE_DATA ByRef, Boolean, Boolean)+0x27c
> 00000000`01f5d130 000007fe`f7cc9d04 
> mscorlib_ni!System.IO.File.InternalExists(System.String)+0x48
> 00000000`01f5d190 000007ff`002c33cc 
> mscorlib_ni!System.IO.File.Exists(System.String)+0xf4
> 00000000`01f5d210 000007ff`002c31f6 
> log4net!log4net.Appender.RollingFileAppender.OpenFile(System.String, 
> Boolean)+0x7c
> 00000000`01f5d290 000007ff`002c30d8 
> log4net!log4net.Appender.FileAppender.SafeOpenFile(System.String, 
> Boolean)+0x36
> 00000000`01f5d300 000007ff`002c1b4c 
> log4net!log4net.Appender.FileAppender.ActivateOptions()+0x148
> 00000000`01f5d370 000007ff`002b946b 
> log4net!log4net.Appender.RollingFileAppender.ActivateOptions()+0x29c
> 00000000`01f5d400 000007ff`002b8ec2 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)+0x4cb
> 00000000`01f5d4c0 000007ff`002b92df 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)+0x212
> 00000000`01f5d540 000007ff`002b8ec2 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)+0x33f
> 00000000`01f5d600 000007ff`002b8345 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)+0x212
> 00000000`01f5d680 000007ff`002c548b 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,
>  log4net.Repository.Hierarchy.Logger, Boolean)+0x125
> 00000000`01f5d710 000007ff`002b7d78 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)+0x18b
> 00000000`01f5d790 000007ff`002b78f5 
> log4net!log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)+0x3b8
> 00000000`01f5d820 000007ff`002b785a 
> log4net!log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement)+0x35
> 00000000`01f5d860 000007ff`002b7668 
> log4net!log4net.Config.XmlConfigurator.ConfigureFromXml(log4net.Repository.ILoggerRepository,
>  System.Xml.XmlElement)+0x16a
> 00000000`01f5d8b0 000007ff`002b72ff 
> log4net!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,
>  System.IO.Stream)+0x1f8
> 00000000`01f5d920 000007ff`002b708c 
> log4net!log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,
>  System.IO.FileInfo)+0x19f
> 00000000`01f5d9a0 000007ff`002b6c31 
> log4net!log4net.Config.XmlConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,
>  System.IO.FileInfo)+0xfc
> 00000000`01f5da00 000007ff`002b5fb5 
> Core!Ent.Logging.LogManager.ConfigureAndWatch(System.IO.FileInfo)+0x31
> 00000000`01f5da60 000007fe`f91aeb52 
> App_global_asax!ASP.global_asax.Application_Start(System.Object, 
> System.EventArgs)+0xb55
> managed callstack says below
>  
> 0:000> !clrstack
> OS Thread Id: 0x2c0c (0)
> Child-SP         RetAddr          Call Site
> 0000000001f5ce80 000007fef7d3cd1c 
> DomainNeutralILStubClass.IL_STUB(System.String, Int32, 
> WIN32_FILE_ATTRIBUTE_DATA ByRef)
> 0000000001f5d000 000007fef7cc6318 
> System.IO.File.FillAttributeInfo(System.String, WIN32_FILE_ATTRIBUTE_DATA 
> ByRef, Boolean, Boolean)
> 0000000001f5d130 000007fef7cc9d04 System.IO.File.InternalExists(System.String)
> 0000000001f5d190 000007ff002c33cc System.IO.File.Exists(System.String)
> 0000000001f5d210 000007ff002c31f6 
> log4net.Appender.RollingFileAppender.OpenFile(System.String, Boolean)
> 0000000001f5d290 000007ff002c30d8 
> log4net.Appender.FileAppender.SafeOpenFile(System.String, Boolean)
> 0000000001f5d300 000007ff002c1b4c 
> log4net.Appender.FileAppender.ActivateOptions()
> 0000000001f5d370 000007ff002b946b 
> log4net.Appender.RollingFileAppender.ActivateOptions()
> 0000000001f5d400 000007ff002b8ec2 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)
> 0000000001f5d4c0 000007ff002b92df 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)
> 0000000001f5d540 000007ff002b8ec2 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)
> 0000000001f5d600 000007ff002b8345 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)
> 0000000001f5d680 000007ff002c548b 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,
>  log4net.Repository.Hierarchy.Logger, Boolean)
> 0000000001f5d710 000007ff002b7d78 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)
> 0000000001f5d790 000007ff002b78f5 
> log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)
> 0000000001f5d820 000007ff002b785a 
> log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement)
> 0000000001f5d860 000007ff002b7668 
> log4net.Config.XmlConfigurator.ConfigureFromXml(log4net.Repository.ILoggerRepository,
>  System.Xml.XmlElement)
> 0000000001f5d8b0 000007ff002b72ff 
> log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,
>  System.IO.Stream)
> 0000000001f5d920 000007ff002b708c 
> log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,
>  System.IO.FileInfo)
> 0000000001f5d9a0 000007ff002b6c31 
> log4net.Config.XmlConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,
>  System.IO.FileInfo)
> 0000000001f5da00 000007ff002b5fb5 
> Ent.Logging.LogManager.ConfigureAndWatch(System.IO.FileInfo)
> 0000000001f5da60 000007fef91aeb52 
> ASP.global_asax.Application_Start(System.Object, System.EventArgs)
> 0000000001f5e3a0 000007fef7d3afa6 
> System.Reflection.RuntimeMethodInfo.Invoke(System.Object, 
> System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], 
> System.Globalization.CultureInfo, Boolean)
> 0000000001f5e540 000007fef16d55b3 
> System.Reflection.RuntimeMethodInfo.Invoke(System.Object, 
> System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], 
> System.Globalization.CultureInfo)
> 0000000001f5e590 000007fef16e432d 
> System.Web.HttpApplication.ProcessSpecialRequest(System.Web.HttpContext, 
> System.Reflection.MethodInfo, Int32, System.Object, System.EventArgs, 
> System.Web.SessionState.HttpSessionState)
> 0000000001f5e640 000007fef16d4a5d 
> System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(System.Web.HttpContext,
>  System.Web.HttpApplication)
> 0000000001f5e6f0 000007fef16d5230 
> System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr, 
> System.Web.HttpContext, System.Reflection.MethodInfo[])
> 0000000001f5e7a0 000007fef16e47ce 
> System.Web.HttpApplication.InitSpecial(System.Web.HttpApplicationState, 
> System.Reflection.MethodInfo[], IntPtr, System.Web.HttpContext)
> 0000000001f5e860 000007fef17dd51e 
> System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr, 
> System.Web.HttpContext)
> 0000000001f5e900 000007fef91aeb52 
> System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to