Mantis - Resin
Viewing Issue Advanced Details
3382 minor always 03-10-09 14:07 03-11-09 12:30
ferg  
ferg  
high  
closed  
fixed  
none    
none 3.1.9  
0003382: windows logs opened in read-only
(rep by Kai Virkki)


I just migrated from Resin 3.0.15 pro to 3.1.8 pro and have a problem
with log rollovers on Windows. I have defined the logs like this into
web-app-default:

 <stderr-log path="${resin.home}/../log/app.log" rollover-size="1kb"/>
 <stdout-log path="${resin.home}/../log/app.log" rollover-size="1kb"/>

Actually I use rollover-period with a longer time in production, the
above config just makes it faster to get to the error.

I'm running Resin as a Windows service with local system account. Now,
when the rollover happens, I see that the old log file gets renamed
and a new log file created, but the new file gets created as read-only
and writing to it fails with the following stack trace:

[2009-03-10 22:44:59] Can't create log directory /C:/Progs/app/log/app.log
java.io.IOException: 'C:\Progs\app\log\app.log' permission denied
    at com.caucho.vfs.JniFilePathImpl.nativeOpenWrite(Native Method)
    at com.caucho.vfs.JniFilePathImpl.openAppendImpl(JniFilePathImpl.java:422)
    at com.caucho.vfs.Path.openAppend(Path.java:1119)
    at com.caucho.log.AbstractRolloverLog.openLog(AbstractRolloverLog.java:504)
       ...

Does anyone have any idea why Resin creates the new log file as read-only?


Notes
(0003870)
kvirkki   
03-11-09 05:28   
I did some more investigation and it seems that if I remove the Pro
license, the rollovers start to work! So, this has definitely
something to do with the Pro-stuff. The behavior is also not
consistent in pro, because it sometimes manages to create the new log
file correctly, but mostly fails this and creates it as read-only.
Pretty spooky stuff...
(0003873)
ferg   
03-11-09 12:30   
missing mode argument to open() for win32 truncate (log rotation)