On Thu, Jun 20, 2013 at 11:53 AM, David Lang <[email protected]> wrote:

> The messages you are showing below appear to all be related with parsing
> the message. This is the step after the receiving of the message, which is
> where the frame delimiter comes into play.
>
> Is this something that happens erratically, or is this something that you
> can reproduce at will?
>

Yes, there is one particular sender that's causing these issues and I can
reproduce at will. It is an Arcsight collector that's sending logs in
"syslog" format (supposedly). I have confirmed that the messages aren't
actually in BSD Syslog format but then worse is that it is sending this
garbage. But I want to build my syslog infrastructure to not assume that
apps will send it good/clean streams of syslog so it may not process/parse
the messages but it shouldn't crash when bad data is sent.


>
> what are you using for the frame delimiter?
>

I did not set anything explicitly so rsyslog was set to default frame
delimiter.

I have upgraded to 7.4.1 but not before I had the errant sender shutdown. I
will re-point that sender to a test rsyslog instance and try to reproduce
the crash. Might be a few days though because the guy who controls that
Arcsight collector is OOO.

Thanks :)



>
> David Lang
>
>
>
>
> On Thu, 20 Jun 2013, Xuri Nagarin wrote:
>
>  Reading through older threads I realize that if an application uses a
>> non-standard frame delimiter then Rsyslog will have issues parsing the
>> message but I am running 7.4.0 and bad delimiters are causing rsyslog to
>> crash.
>>
>> rsyslogd -v
>> rsyslogd 7.4.0, compiled with:
>> FEATURE_REGEXP: Yes
>> FEATURE_LARGEFILE: No
>> GSSAPI Kerberos 5 support: Yes
>> FEATURE_DEBUG (debug build, slow code): No
>> 32bit Atomic operations supported: Yes
>> 64bit Atomic operations supported: Yes
>> Runtime Instrumentation (slow code): No
>> uuid support: Yes
>>
>>
>> I don't think a crash is the expected behaviour if the input is bad.
>> Right?
>>
>> Here's the snippet from debug log just before crash. Oddly, I don't see a
>> coredump or error causing the crash.
>>
>> 2367.362924601:7f4981e46700: parse using parser list 0x7f4987d93ed0 (the
>> default list).
>> 2367.362927457:7f4981e46700: Parser 'rsyslog.rfc5424' returned -2160
>> 2367.362930309:7f4981e46700: Message will now be parsed by the legacy
>> syslog parser (one size fits all... ;)).
>> 2367.362932512:7f4981e46700: Parser 'rsyslog.rfc3164' returned 0
>> 2367.362934756:7f4981e46700: msg parser: flags 30, from '192.168.1.100',
>> msg '06/20/13,10:47:32,DNS Update Suc'
>> 2367.362936776:7f4981e46700: parse using parser list 0x7f4987d93ed0 (the
>> default list).
>> 2367.362938676:7f4981e46700: Parser 'rsyslog.rfc5424' returned -2160
>> 2367.362940448:7f4981e46700: Message will now be parsed by the legacy
>> syslog parser (one size fits all... ;)).
>> 2367.362943712:7f4981e46700: Parser 'rsyslog.rfc3164' returned 0
>> 2367.362945989:7f4981e46700: msg parser: flags 30, from '192.1.35.77', msg
>> 'cessful,192.1.236.14,**mydesktop.internal
>> .acme.com,,^M'
>> 2367.362948017:7f4981e46700: parse using parser list 0x7f4987d93ed0 (the
>> default list).
>> 2367.362950143:7f4981e46700: Parser 'rsyslog.rfc5424' returned -2160
>> 2367.362957428:7f4981e46700: Message will now be parsed by the legacy
>> syslog parser (one size fits all... ;)).
>> 2367.362960059:7f4981e46700: Parser 'rsyslog.rfc3164' returned 0
>> 2367.362962370:7f4981e46700: processBatch: batch of 32 elements must be
>> processed
>> 2367.362969230:7f4981e46700: processBatch: batch of 31 elements must be
>> processed
>> 2367.362971685:7f4981e46700: scriptExec: batch of 31 elements, active
>> (nil), active[0]:1
>> 2367.362973524:7f4981e46700:     SET $!vendor =
>> 2367.362979077:7f4981e46700:       function 'field' (id:9, params:3)
>> 2367.362987082:7f4981e46700:         var '$msg'
>> 2367.362995144:7f4981e46700:         124
>> 2367.363002241:7f4981e46700:         2
>> 2367.363010228:7f4981e46700:     END SET
>> 2367.363015200:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363018158:7f4981e46700: rainerscript: executing function id 9
>> 2367.363020318:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363022988:7f4981e46700: rainerscript: var '$msg':
>> '58:55,Renew,192.168.24.114,,**A46706750769,#015'
>> 2367.363025227:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363028220:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363030789:7f4981e46700: field() field requested 2, field found 1
>> 2367.363034649:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363036629:7f4981e46700: rainerscript: executing function id 9
>> 2367.363038628:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363042128:7f4981e46700: rainerscript: var '$msg': '58:56,DNS Update
>> R'
>> 2367.363044246:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363046355:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363048399:7f4981e46700: field() field requested 2, field found 1
>> 2367.363052521:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363054698:7f4981e46700: rainerscript: executing function id 9
>> 2367.363056733:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363059297:7f4981e46700: rainerscript: var '$msg': ''
>> 2367.363061436:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363064501:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363066812:7f4981e46700: field() field requested 2, field found 1
>> 2367.363070008:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363071969:7f4981e46700: rainerscript: executing function id 9
>> 2367.363073964:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363076230:7f4981e46700: rainerscript: var '$msg': ''
>> 2367.363079524:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363081625:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363083776:7f4981e46700: field() field requested 2, field found 1
>> 2367.363086818:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363088738:7f4981e46700: rainerscript: executing function id 9
>> 2367.363091847:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363094538:7f4981e46700: rainerscript: var '$msg':
>> '58:56,Renew,192.168.1.5,xxx00**152B2xxxxx.internal.acme.com<http://xxx00152B2xxxxx.internal.acme.com>
>> ,00152B2xxxxx,#015'
>> 2367.363096786:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363098757:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363100873:7f4981e46700: field() field requested 2, field found 1
>> 2367.363105195:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363107179:7f4981e46700: rainerscript: executing function id 9
>> 2367.363109144:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363111404:7f4981e46700: rainerscript: var '$msg': '58:56,DNS Update
>> Suc'
>> 2367.363114652:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363116788:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363118820:7f4981e46700: field() field requested 2, field found 1
>> 2367.363121742:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363124771:7f4981e46700: rainerscript: executing function id 9
>> 2367.363126849:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363129227:7f4981e46700: rainerscript: var '$msg': ''
>> 2367.363131414:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363133378:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363141411:7f4981e46700: field() field requested 2, field found 1
>> 2367.363144986:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363147022:7f4981e46700: rainerscript: executing function id 9
>> 2367.363148985:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363152448:7f4981e46700: rainerscript: var '$msg': '47:28,DNS Update
>> R'
>> 2367.363154621:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363156703:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363158679:7f4981e46700: field() field requested 2, field found 1
>> 2367.363161735:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363164816:7f4981e46700: rainerscript: executing function id 9
>> 2367.363166929:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>> 2367.363169277:7f4981e46700: rainerscript: var '$msg': ''
>> 2367.363171380:7f4981e46700: eval expr 0x7f4987da4810, type 'N[78]'
>> 2367.363173383:7f4981e46700: eval expr 0x7f4987da4cc0, type 'N[78]'
>> 2367.363176540:7f4981e46700: field() field requested 2, field found 1
>> 2367.363179769:7f4981e46700: eval expr 0x7f4987da4770, type 'F[70]'
>> 2367.363181745:7f4981e46700: rainerscript: executing function id 9
>> 2367.363183836:7f4981e46700: eval expr 0x7f4987da4870, type 'V[86]'
>>
>>
>> TIA
>> ______________________________**_________________
>> rsyslog mailing list
>> http://lists.adiscon.net/**mailman/listinfo/rsyslog<http://lists.adiscon.net/mailman/listinfo/rsyslog>
>> http://www.rsyslog.com/**professional-services/<http://www.rsyslog.com/professional-services/>
>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>> DON'T LIKE THAT.
>>
>>  ______________________________**_________________
> rsyslog mailing list
> http://lists.adiscon.net/**mailman/listinfo/rsyslog<http://lists.adiscon.net/mailman/listinfo/rsyslog>
> http://www.rsyslog.com/**professional-services/<http://www.rsyslog.com/professional-services/>
> What's up with rsyslog? Follow https://twitter.com/rgerhards
> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
> DON'T LIKE THAT.
>
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to