would it be possible that you mail me (privately) a full debug log from
such a run. Not sure if there is too much confidential data in it...

Rainer

On Thu, 2008-12-18 at 16:35 +0100, William Tisäter wrote:
> Yes, I could reproduce my error, the same way as described earlier.
> 
> My /etc/rsyslog.conf:
> 
> $template DirByTagFileByDay,"/log/%programname%/%timegenerated:
> 1:10:date-rfc3339%.log"
> $template CritByDay,"/log/CRIT/%timegenerated:1:10:date-rfc3339%.log"
> 
> # Discard all but local0
> :syslogfacility-text, !isequal, "local0" ~
> 
> $umask 0000
> $FileCreateMode 0644
> $DirCreateMode 0755
> $CreateDirs off
> 
> # Discard strange tags
> :programname, !regex, "^[a-zA-Z_][a-zA-Z_]*$"           /log/badtags/
> badtags.log
> :programname, !regex, "^[a-zA-Z_][a-zA-Z_]*$"           ~
> 
> # Collect all crits in one log
> local0.crit                     ?CritByDay
> :msg, contains, "(CRIT)"        ?CritByDay
> 
> # All local0's buffered to their own dirs
> local0.*                        -?DirByTagFileByDay
> 
> 
> / William
> 
> On Dec 18, 2008, at 4:12 PM, Rainer Gerhards wrote:
> 
> > mmhhhh... I can not reproduce the issue with my state of the code.
> Can
> > you verify that it still occurs? A git snapshot is available here:
> >
> >
> http://git.adiscon.com/?p=rsyslog.git;a=snapshot;h=3c236053cf87a16dfd7449f729e477dffd6e2fae;sf=tgz
> >
> > Thanks,
> > Rainer
> >
> > On Thu, 2008-12-18 at 15:22 +0100, William Tisäter wrote:
> >> I've debugged some more, this only happens when you trigger the
> >> repeat-
> >> loop to the missing directory.
> >>
> >> E.g:
> >>
> >> # logger -t non_existent_dir -p local0.crit test
> >> # logger -t non_existent_dir -p local0.crit test
> >> # logger -t existing_dir -p local0.crit test
> >>
> >> Debug output from last command:
> >>
> >> Filter: check for property 'programname' (value 'existing_dir') NOT
> >> regex '^[a-zA-Z_][a-zA-Z_]*$': FALSE
> >> 1092925760: Called fprintlog, logging to builtin-file (CritByDay)
> >> 1092925760: Called fprintlog, logging to builtin-file (CritByDay)
> >> Filter: check for property 'msg' (value ' test') contains '(CRIT)':
> >> FALSE
> >> 1092925760: Called fprintlog, logging to builtin-file
> >> (DirByTagFileByDay)
> >> 1092925760: Called logerr, msg: Could not open dynamic file '/log/
> >> non_existent_dir/2008-12-18.log' - discarding message
> >> 1092925760: logmsg: syslog.err<43>, flags 5, from '', msg Could not
> >> open dynamic file '/log/non_existent_dir/2008-12-18.log' -
> discarding
> >> message: No such file or directory
> >> 1092925760: Message has legacy syslog format.
> >> 1092925760: EnqueueMsg signaled condition (0)
> >> 1092925760: Removed entry 2 for file '[OPEN FAILED]' from
> dynaCache.
> >> 1092925760: Lone worker is running...
> >> 1092925760: msg repeated 1 times, 10 sec of 30.
> >> Filter: check for property 'syslogfacility-text' (value 'syslog')
> NOT
> >> isequal 'local0': TRUE
> >> 1092925760: Called fprintlog, logging to
> builtin-discardsingleWorker:
> >> queue EMPTY, waiting for next message.
> >>
> >>
> >> William Tisäter
> >>
> >> Blocket.se - Sveriges största Köp & Sälj marknad
> >> http://www.blocket.se/
> >>
> >> On Dec 18, 2008, at 2:35 PM, William Tisäter wrote:
> >>
> >>> Hi,
> >>>
> >>> Lets see if I can get this right:
> >>>
> >>> My modification in prepareFile() will return with (pData->fd = -1)
> >>> if the log file can't be created.
> >>> In prepareDynFile() we run prepareFile() and return with -1 if
> >> pData-
> >>>> fd is set to -1.
> >>> In writeFile() we run prepareDynFile() and return RS_RET_ERR if
> >>> prepareDynFile() is not returned with 0.
> >>>
> >>> writeFile() is wrapped in doAction().
> >>>
> >>> doAction() is exectued in fprintlog() where RS_RET_ERR never will
> >> be
> >>> catched. I discard the log message and sets the error flag to tell
> >>> the "msg repeated"-check to not log this message ("msg repeated"
> is
> >>> executed before we try to open the file if the message content
> >> match
> >>> the previous message).
> >>>
> >>> I tried without this catch in the first attempt, but I could see
> >> the
> >>> message stuck in the loop, every action to rsyslog tried to open
> >> the
> >>> file. This and some traffic volume caused rsyslog to hang (and use
> >> a
> >>> lot of i/o).
> >>>
> >>>
> >>> William Tisäter
> >>>
> >>> Blocket.se - Sveriges största Köp & Sälj marknad
> >>> http://www.blocket.se/
> >>>
> >>> On Dec 18, 2008, at 12:01 PM, Rainer Gerhards wrote:
> >>>
> >>>> Hi William,
> >>>>
> >>>> thanks for the bug report and the patch. I have now looked into
> the
> >>>> issue and could reproduce the situation. The patch obviously
> >> resolves
> >>>> it.
> >>>>
> >>>> There is one thing, though: I do not fully understand why you
> have
> >>>> patched syslogd.c (RS_RET_ERR). I would appreciate if you could
> >>>> provide
> >>>> a bit more insight into the problem you intend to solve. So far,
> I
> >>>> can
> >>>> not see why this part of the patch is actually needed.
> >>>>
> >>>> I'll integrate the omfile part now. I will also see that I apply
> >>>> this to
> >>>> the other official branches.
> >>>>
> >>>> Thanks,
> >>>> Rainer
> >>>>
> >>>> On Tue, 2008-12-16 at 17:39 +0100, William Tisäter wrote:
> >>>>> Hi,
> >>>>>
> >>>>> I don't know if this is an intended feature or not, but when
> >>>>> CreateDirs is set to off, rsyslog can no longer create files
> (time
> >>>>> stamp file names). Lets say you have a template for writing
> >> files: /
> >>>>> log/<tag>/<date>.log, this will let anybody to create
> directories
> >>>>> in /
> >>>>> log when CreateDirs is on. This may cause a lot of directories
> >> and
> >>>>> can
> >>>>> be abused by regular users.
> >>>>>
> >>>>> I've patched 2.0.2 to separate file and directory creation here:
> >>>>> https://bugzilla.redhat.com/attachment.cgi?id=327100
> >>>>>
> >>>>> And steps to reproduce this can be found here:
> >>>>> https://bugzilla.redhat.com/show_bug.cgi?id=473419
> >>>>>
> >>>>> Comments anyone?
> >>>>>
> >>>>>
> >>>>> William Tisäter
> >>>>>
> >>>>> Blocket.se - Sveriges största Köp & Sälj marknad
> >>>>> http://www.blocket.se/
> >>>>> _______________________________________________
> >>>>> rsyslog mailing list
> >>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >>>>> http://www.rsyslog.com
> >>>>
> >>>> _______________________________________________
> >>>> rsyslog mailing list
> >>>> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >>>> http://www.rsyslog.com
> >>
> >>
> >> _______________________________________________
> >> rsyslog mailing list
> >> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >> http://www.rsyslog.com
> >>
> >>
> >
> > _______________________________________________
> > rsyslog mailing list
> > http://lists.adiscon.net/mailman/listinfo/rsyslog
> > http://www.rsyslog.com
> 
> 
> William Tisäter
> 
> Cell: +46 (0)76 3377182
> Mail: [email protected]
> 
> Blocket.se - Sveriges största Köp & Sälj marknad
> http://www.blocket.se/
> 
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com
> 
> 

_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to