StevenXi created LOG4NET-510:
--------------------------------

             Summary: FileAppender.InterProcessLock.AcquireLock blocks 
everything
                 Key: LOG4NET-510
                 URL: https://issues.apache.org/jira/browse/LOG4NET-510
             Project: Log4net
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 1.2.13
         Environment: Windows 2012
            Reporter: StevenXi
            Priority: Critical


There's a chance InterProcessLock.AcquireLock hangs, and lots of 
Appender.AppenderSkeleton.DoAppend threads queued.

It happens to our service every 2 days, all happen after mid-night. So after a 
new log file created, few new line in the file added. But not always happens.

As there're hundreds of Appender.AppenderSkeleton.DoAppend threads queued, it 
blocks everywhere in the service that uses log4net.

log4net is supposed to be 'failure-free' or at least fails quietly, not block 
the whole application.

config uses
<lockingModel type="log4net.Appender.FileAppender+InterProcessLock" />

Debug threads window looks like below: (there're more, but not pasted all here)

Not Flagged             1784    22      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged     >       2904    14      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.FileAppender.InterProcessLock.AcquireLock  Normal
Not Flagged             2164    7       Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             848     9       Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1524    27      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1676    28      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2908    32      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2496    36      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2776    39      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             3036    33      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1200    13      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             684     43      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2804    45      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2156    47      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             864     41      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2224    50      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             3044    53      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2000    56      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2536    58      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1448    61      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1828    55      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1604    64      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             252     66      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2896    71      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2428    73      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2888    76      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             632     69      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             3048    34      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2732    25      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1992    5       Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2232    72      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2100    65      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             532     67      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             1596    60      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             260     51      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2720    46      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2444    49      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
Not Flagged             2040    19      Worker Thread   Worker Thread   
log4net.dll!log4net.Appender.AppenderSkeleton.DoAppend  Normal
...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to