* Sent full debug log to Rainer * On Dec 18, 2008, at 4:44 PM, Rainer Gerhards wrote:
> 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 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

