I will look into this, strangely I couldn't reproduce the sigsegv on my test machine with the newstyle config.
Best regards, Andre > -----Original Message----- > From: [email protected] [mailto:rsyslog- > [email protected]] On Behalf Of David Lang > Sent: Wednesday, July 24, 2013 1:17 AM > To: rsyslog-users > Subject: Re: [rsyslog] Segfault when using omsnmp > > This crys to me that the new style config parser is broken, and it's probably > trying to force setting some of these things that don't make sense with > SNMPv2. > > Andre would have to check into it, but that's where I would start looking. > > David Lang > > On Tue, 23 Jul 2013, Bryn Hughes wrote: > > > The "new style" config actually rejects the entire statement if those > > parts aren't entered, despite the documentation saying that they are > > optional, and the docs saying that some of them do not apply to SNMP > > v2 (which I am using). If I leave them out then I don't get a > > segfault, but rsyslogd doesn't actually send any SNMP traps since it > > rejects the configuration as missing required attributes. > > > > Adding all of those statements with their relative "legacy" config > > options works just fine here (though of course the 'traptype' and > > 'specifictype' fields have no effect on the output with SNMP v2). > > > > This works fine: > > > > # Load the Textfile input module and set polling interval to 10 seconds > > module(load="imfile" PollingInterval="10") > > > > # Load the SNMP module > > $ModLoad omsnmp > > > > # Default SNMP configuration > > $actionsnmptransport udp > > $actionsnmptarget 192.168.1.100 > > $actionsnmptargetport 162 > > $actionsnmpversion 1 > > $actionsnmpcommunity testtest > > $actionsnmptrapoid 1.3.6.1.4.1.19406.1.2.1 > > $actionsnmpsyslogmessageoid 1.3.6.1.4.1.19406.1.1.2.1 > > $actionsnmpenterpriseoid 1.3.6.1.4.1.3.1.1 > > $actionsnmptraptype 2 > > $actionsnmpspecifictype 0 > > > > # Test File > > input(type="imfile" File="/var/log/testlog" > > Tag="testapp1" > > StateFile="testlog") > > > > if $programname == 'testapp1' then { > > if $msg contains 'error' then { > > :omsnmp: > > } > > } > > > > > > As far as I can tell there is a bug in the parser for the new-style > > config, given that it works fine with the legacy stuff. > > > > I'm happy to continue helping troubleshoot the issue though my > > immediate needs are satisfied using the legacy style configuration. > > Strangely this problem seemed to be common even to rsyslog-6.6.0 so it > > may well have been lingering for quite a long time. I suppose there > > are not really that many people using SNMP alerts from rsyslog. > > > > I have filed a bug on the tracker so this can get looked at in the future: > > > > http://bugzilla.adiscon.com/show_bug.cgi?id=468 > > > > Bryn > > > > > > On 13-07-23 02:12 PM, David Lang wrote: > >> hmm, looking at the two configs, I see several things specified in > >> the new style config that aren't in the old config > >> > >> trapoid="1.3.6.1.4.1.19406.1.2.1" > >> messageoid="1.3.6.1.4.1.19406.1.1.2.1" > >> enterpriseoid="1.3.6.1.4.1.3.1.1" > >> traptype="6" > >> specifictype="0" > >> > >> you may want to try leaving these out of the new config or adding the > >> equivalent to the old config. > >> > >> David Lang > >> > >> On Tue, 23 Jul 2013, Bryn Hughes wrote: > >> > >>> Date: Tue, 23 Jul 2013 13:54:05 -0700 > >>> From: Bryn Hughes <[email protected]> > >>> Reply-To: rsyslog-users <[email protected]> > >>> To: [email protected] > >>> Subject: Re: [rsyslog] Segfault when using omsnmp > >>> > >>> OK, I'm making progress!! > >>> > >>> With this config things work: > >>> > >>> # Load the Textfile input module and set polling interval to 10 > >>> seconds > >>> module(load="imfile" PollingInterval="10") > >>> > >>> # Load the SNMP module > >>> $ModLoad omsnmp > >>> > >>> # Default SNMP configuration > >>> $actionsnmptransport udp > >>> $actionsnmptarget 192.168.1.100 > >>> $actionsnmptargetport 162 > >>> $actionsnmpversion 1 > >>> $actionsnmpcommunity sitatest > >>> > >>> # Test File > >>> input(type="imfile" File="/var/log/testlog" > >>> Tag="testapp1" > >>> StateFile="testlog") > >>> > >>> if $programname == 'testapp1' then :omsnmp: > >>> > >>> > >>> > >>> > >>> ....but if I do this instead: > >>> > >>> # Load the Textfile input module and set polling interval to 10 > >>> seconds > >>> module(load="imfile" PollingInterval="10") > >>> > >>> # Load the SNMP module > >>> $ModLoad omsnmp > >>> > >>> > >>> # Test File > >>> input(type="imfile" File="/var/log/testlog" > >>> Tag="testapp1" > >>> StateFile="testlog") > >>> > >>> if $programname == 'testapp1' then { > >>> action(type="omsnmp" > >>> transport="udp" > >>> server="192.168.1.100" > >>> port="162" > >>> version="1" > >>> community="sitatest" > >>> trapoid="1.3.6.1.4.1.19406.1.2.1" > >>> messageoid="1.3.6.1.4.1.19406.1.1.2.1" > >>> enterpriseoid="1.3.6.1.4.1.3.1.1" > >>> traptype="6" > >>> specifictype="0") > >>> ) > >>> } > >>> > >>> ...I get a segfault. > >>> > >>> So the issue is related to the particular format used for the > >>> configuration. If I specify it as action(type="omsnmp") I get a > >>> segfault, if I specify it as :omsnmp: then everything works perfectly. > >>> > >>> I guess this is a bug?? > >>> > >>> Bryn > >>> > >>> On 13-07-23 01:06 PM, Bryn Hughes wrote: > >>>> I also tried building everything from the SRPMs - still get the > >>>> same segfault so it is nothing to do with the prebuilt binaries. > >>>> > >>>> gdb says: > >>>> > >>>> Program terminated with signal 11, Segmentation fault. #0 > >>>> 0x00002b5befada02b in _int_free () from /lib64/libc.so.6 > >>>> > >>>> > >>>> Bryn > >>>> > >>>> On 13-07-23 09:48 AM, Bryn Hughes wrote: > >>>>> Hi Andre, > >>>>> > >>>>> I just retried on another RHEL5 machine. The first one was a > >>>>> local test VM on Virtualbox on my local laptop, this new test is > >>>>> on one of our corporate RHEL images so not even involving the same > >>>>> install media / storage / virtualization or anything... Issue > >>>>> still occurs so I don't believe it is related to the net-snmp > >>>>> libraries unfortunately (unless there is a bug in rsyslogd in how > >>>>> it talks to the libraries) > >>>>> > >>>>> I started it with valgrind, this is what it came back with: > >>>>> > >>>>> ==10125== Memcheck, a memory error detector ==10125== > Copyright > >>>>> (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. > >>>>> ==10125== Using Valgrind-3.5.0 and LibVEX; rerun with -h for > >>>>> copyright info ==10125== Command: /sbin/rsyslogd -i > >>>>> /var/run/rsyslogd.pid ==10125== ==10125== Invalid free() / delete > >>>>> / delete[] > >>>>> ==10125== at 0x4A05D21: free (vg_replace_malloc.c:325) > >>>>> ==10125== by 0x13E8D4: OMSRdestruct (in /sbin/rsyslogd) > >>>>> ==10125== by 0x15657D: addAction (in /sbin/rsyslogd) > >>>>> ==10125== by 0x156922: actionNewInst (in /sbin/rsyslogd) > >>>>> ==10125== by 0x12A889: cnfstmtNewAct (in /sbin/rsyslogd) > >>>>> ==10125== by 0x12606B: yyparse (in /sbin/rsyslogd) > >>>>> ==10125== by 0x135E5C: load (in /sbin/rsyslogd) > >>>>> ==10125== by 0x11A8D3: realMain (in /sbin/rsyslogd) > >>>>> ==10125== by 0x5A8C9C3: (below main) (in /lib64/libc-2.5.so) > >>>>> ==10125== Address 0x6838cc0 is not stack'd, malloc'd or > >>>>> (recently) free'd ==10125== ==10125== Warning: noted but > unhandled > >>>>> ioctl 0x5422 with no size/direction hints > >>>>> ==10125== This could cause spurious value errors to appear. > >>>>> ==10125== See README_MISSING_SYSCALL_OR_IOCTL for guidance > on > >>>>> writing > >>>>> a proper wrapper. > >>>>> ==10125== > >>>>> ==10125== HEAP SUMMARY: > >>>>> ==10125== in use at exit: 95,290 bytes in 1,495 blocks > >>>>> ==10125== total heap usage: 2,119 allocs, 625 frees, 159,459 bytes > >>>>> allocated > >>>>> ==10125== > >>>>> ==10125== LEAK SUMMARY: > >>>>> ==10125== definitely lost: 0 bytes in 0 blocks > >>>>> ==10125== indirectly lost: 0 bytes in 0 blocks > >>>>> ==10125== possibly lost: 7,604 bytes in 47 blocks > >>>>> ==10125== still reachable: 87,686 bytes in 1,448 blocks > >>>>> ==10125== suppressed: 0 bytes in 0 blocks > >>>>> ==10125== Rerun with --leak-check=full to see details of leaked > >>>>> memory ==10125== ==10125== For counts of detected and > suppressed > >>>>> errors, rerun with: -v ==10125== ERROR SUMMARY: 1 errors from 1 > >>>>> contexts (suppressed: 27 from 7) > >>>>> > >>>>> > >>>>> On 13-07-23 07:16 AM, Andre Lorbach wrote: > >>>>>> Hi Bryn, > >>>>>> > >>>>>> would it be possible for your to run rsyslog with valgrind? > >>>>>> This would be very helpful. > >>>>>> > >>>>>> I just have run a short test with your config snipset on my > >>>>>> testmachine, and it works well and is sending snmp traps. > >>>>>> So my guess is that there is something wrong with the net snmp > >>>>>> libraries, or something is missing. > >>>>>> > >>>>>> Best regards, > >>>>>> Andre Lorbach > >>>>>> > >>>>>>> -----Original Message----- > >>>>>>> From: [email protected] [mailto:rsyslog- > >>>>>>> [email protected]] On Behalf Of Bryn Hughes > >>>>>>> Sent: Tuesday, July 23, 2013 1:40 AM > >>>>>>> To: rsyslog-users > >>>>>>> Subject: Re: [rsyslog] Segfault when using omsnmp > >>>>>>> > >>>>>>> Thanks David, > >>>>>>> > >>>>>>> I've posted the full debug output here: > >>>>>>> > >>>>>>> http://pastebin.com/nDzmiUxV > >>>>>>> > >>>>>>> There is nothing that immediately jumps out at me - no "missing > >>>>>>> library version blah" or anything like that... I confirmed that > >>>>>>> the system has > >>>>>> net- > >>>>>>> snmp-libs installed, plus tried both the version off of the > >>>>>>> original > >>>>>> RHEL CD plus > >>>>>>> the "current" one (which is 5.3.2.2-20.el5)... I'm not sure if > >>>>>>> there are > >>>>>> any > >>>>>>> other libs I should be looking for. > >>>>>>> > >>>>>>> The last portion of the debug output: > >>>>>>> > >>>>>>> 0782.367445000:2b39f255e290: action 1 queue: parameter dump: > >>>>>>> 0782.367610000:2b39f255e290: action 1 queue: queue.filename > '[NONE]' > >>>>>>> 0782.367843000:2b39f255e290: action 1 queue: queue.size: 1000 > >>>>>>> 0782.368110000:2b39f255e290: action 1 queue: > queue.dequeuebatchsize: > >>>>>>> 128 > >>>>>>> 0782.368329000:2b39f255e290: action 1 queue: > queue.maxdiskspace: > >>>>>>> 1048576 > >>>>>>> 0782.368476000:2b39f255e290: action 1 queue: > queue.highwatermark: > >>>>>>> 800 > >>>>>>> 0782.368828000:2b39f255e290: action 1 queue: > queue.lowwatermark: > >>>>>>> 200 > >>>>>>> 0782.369020000:2b39f255e290: action 1 queue: > >>>>>>> queue.fulldelaymark: -1 > >>>>>>> 0782.369334000:2b39f255e290: action 1 queue: > >>>>>>> queue.lightdelaymark: -1 > >>>>>>> 0782.369512000:2b39f255e290: action 1 queue: queue.discardmark: > >>>>>>> 980 > >>>>>>> 0782.369686000:2b39f255e290: action 1 queue: > >>>>>>> queue.discardseverity: 8 > >>>>>>> 0782.369896000:2b39f255e290: action 1 queue: > >>>>>>> queue.checkpointinterval: 0 > >>>>>>> 0782.370074000:2b39f255e290: action 1 queue: > >>>>>>> queue.syncqueuefiles: 0 > >>>>>>> 0782.370266000:2b39f255e290: action 1 queue: queue.type: 3 > >>>>>>> [Direct] > >>>>>>> 0782.370384000:2b39f255e290: action 1 queue: > >>>>>>> queue.workerthreads: 1 > >>>>>>> 0782.370556000:2b39f255e290: action 1 queue: > >>>>>>> queue.timeoutshutdown: 0 > >>>>>>> 0782.370736000:2b39f255e290: action 1 queue: > >>>>>>> queue.timeoutactioncompletion: 1000 > >>>>>>> 0782.370910000:2b39f255e290: action 1 queue: > queue.timeoutenqueue: > >>>>>>> 2000 > >>>>>>> 0782.371112000:2b39f255e290: action 1 queue: > >>>>>>> queue.timeoutworkerthreadshutdown: 60000 > >>>>>>> 0782.371348000:2b39f255e290: action 1 queue: > >>>>>>> queue.workerthreadminimummessages: 100 > >>>>>>> 0782.371474000:2b39f255e290: action 1 queue: queue.maxfilesize: > >>>>>>> 1048576 > >>>>>>> 0782.371724000:2b39f255e290: action 1 queue: > >>>>>>> queue.saveonshutdown: 1 > >>>>>>> 0782.371876000:2b39f255e290: action 1 queue: > >>>>>>> queue.dequeueslowdown: 0 > >>>>>>> 0782.372128000:2b39f255e290: action 1 queue: > >>>>>>> queue.dequeuetimebegin: 0 > >>>>>>> 0782.372263000:2b39f255e290: action 1 queue: > >>>>>>> queuedequeuetimend.: 25 > >>>>>>> 0782.372377000:2b39f255e290: Action 0x2b39f34d50c0: queue > >>>>>>> 0x2b39f34d5710 created Segmentation fault > >>>>>>> > >>>>>>> Bryn > >>>>>>> > >>>>>>> On 13-07-22 04:16 PM, David Lang wrote: > >>>>>>>> If you try to start rsyslog with the -dn options, does it tell > >>>>>>>> you anything interesting when it segfaults? > >>>>>>>> > >>>>>>>> My guess is that you are missing the snmp library that it's > >>>>>>>> trying to access, but I think the debug output would make it > >>>>>>>> very clear. > >>>>>>>> > >>>>>>>> David Lang > >>>>>>>> > >>>>>>>> On Mon, 22 Jul 2013, Bryn Hughes wrote: > >>>>>>>> > >>>>>>>>> Hi there, > >>>>>>>>> > >>>>>>>>> We need to be able to send SNMP traps based on certain log > >>>>>>>>> messages. > >>>>>>>>> rsyslog looks to be able to do exactly what I need, however it > >>>>>>>>> is segfaulting on me if I try and start it with an SNMP > >>>>>>>>> configuration. > >>>>>>>>> > >>>>>>>>> Here is my brutally simple SNMP config: > >>>>>>>>> > >>>>>>>>> # Load the SNMP module > >>>>>>>>> $ModLoad omsnmp > >>>>>>>>> > >>>>>>>>> if $msg contains 'error' then { action(type="omsnmp" > >>>>>>>>> transport="udp" > >>>>>>>>> server="192.168.1.1" > >>>>>>>>> port="162" > >>>>>>>>> version="1" > >>>>>>>>> community="testtest" > >>>>>>>>> trapoid="1.3.6.1.4.1.19406.1.2.1" > >>>>>>>>> messageoid="1.3.6.1.4.1.19406.1.1.2.1" > >>>>>>>>> enterpriseoid="1.3.6.1.4.1.3.1.1" > >>>>>>>>> traptype="6" > >>>>>>>>> specifictype="0") > >>>>>>>>> } > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On an entirely different note, the docs aren't really accurate for > >>>>>>>>> this as most of those config statements are identified as > >>>>>>>>> "optional" > >>>>>>>>> in the documentation, yet the software will ignore the entire > >>>>>>>>> action > >>>>>>>>> if they aren't present. If it passes the config validator though > >>>>>>>>> then I get a segfault on startup... > >>>>>>>>> > >>>>>>>>> Starting system logger: /bin/bash: line 1: 15332 Segmentation > >>>>>>>>> fault > >>>>>>>>> /sbin/rsyslogd -i /var/run/rsyslogd.pid > >>>>>>>>> [FAILED] > >>>>>>>>> > >>>>>>>>> I have tested with 7.2.7, 7.4.2 and 7.4.3 - all versions had > >>>>>>>>> the same > >>>>>>>>> behavior on my RHEL5 x86_64 test system. > >>>>>>>>> > >>>>>>>>> Assistance greatly appreciated!! > >>>>>>>>> > >>>>>>>>> Bryn > >>>>>>>>> _______________________________________________ > > > > _______________________________________________ > > 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. > > > _______________________________________________ > 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. _______________________________________________ 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.

