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

Blake Raymond edited comment on LOG4NET-485 at 5/11/16 6:56 PM:
----------------------------------------------------------------

We have two processes sharing a log file using RollingFileAppender running 
under different users. One is a Windows service running as Local System and the 
other is IIS running as Network Service, with default permissions for those 
users on Windows Server 2012. We are finding that if the Local System process 
is the one to create the named mutex for rolling, the Network Service process 
is unable to open it and receives an access denied error during ActivateOptions 
for the RollingFileAppender. The reverse order works - if the Network Service 
process creates the mutex, the Local System process is able to open it.

{noformat}
System.UnauthorizedAccessException: Access to the path 
'C__ProgramData_*********************.log' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
   at 
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
 code, CleanupCode backoutCode, Object userData)
   at System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean 
initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
   at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, 
Boolean& createdNew, MutexSecurity mutexSecurity)
   at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, 
Boolean& createdNew)
   at log4net.Appender.RollingFileAppender.ActivateOptions()
{noformat}
<call stack truncated>






was (Author: blake.raymond):
We have two processes sharing a log file using RollingFileAppender running 
under different users. One is a Windows service running as SYSTEM and the other 
is IIS running as NETWORK SERVICE, with default permissions for those users on 
Windows Server 2012. We are finding that if the SYSTEM process is the one to 
create the named mutex for rolling, the NETWORK SERVICE process is unable to 
open it and receives an access denied error during ActivateOptions for the 
RollingFileAppender. The reverse order works - if the NETWORK SERVICE process 
creates the mutex, the SYSTEM process is able to open it.

{noformat}
System.UnauthorizedAccessException: Access to the path 
'C__ProgramData_*********************.log' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.Threading.Mutex.MutexTryCodeHelper.MutexTryCode(Object userData)
   at 
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode
 code, CleanupCode backoutCode, Object userData)
   at System.Threading.Mutex.CreateMutexWithGuaranteedCleanup(Boolean 
initiallyOwned, String name, Boolean& createdNew, SECURITY_ATTRIBUTES secAttrs)
   at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, 
Boolean& createdNew, MutexSecurity mutexSecurity)
   at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, 
Boolean& createdNew)
   at log4net.Appender.RollingFileAppender.ActivateOptions()
{noformat}
<call stack truncated>





> RollingFileAppender cannot be used by multiple process
> ------------------------------------------------------
>
>                 Key: LOG4NET-485
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-485
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.13, 1.2.14, 1.3.0
>            Reporter: NN
>            Assignee: Dominik Psenner
>             Fix For: 1.2.14
>
>
> RollingFileAppender doesn't acquire lock when rolling takes place.
> As a consequence running multiple instances of the same program rewrites the 
> same log file instead of making a roll for everyone.
> There is FileAppender.InterProcessLock but it only protects writes and not 
> rolls.



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

Reply via email to