:facepalm: That's it, thanks Rainer - merry Xmas, and I'll hopefully have a prototype ready before our festive hangovers have worn off.
-- B On Fri, 23 Dec 2016 at 16:20 Rainer Gerhards <[email protected]> wrote: > 2016-12-23 16:14 GMT+01:00 Bob Gregory <[email protected]>: > > > Hey all, > > > > I'm working on the riemann module, and I've hit a problem. > > > > I'm trying to use MsgGetProp to fetch data from the incoming message, in > > the same way as ommongodb, but I'm getting a segfault during the obj_type > > check. > > > > > > BEGINdoAction_NoStrings > > CODESTARTdoAction > > uchar* propVal; > > msgPropDescr_t propinfo; > > > > short unsigned fieldfree; > > rs_size_t fieldlen; > > > > pthread_mutex_lock(&mutDoAct); > > > > propinfo.id = PROP_HOSTNAME; > > > > dbgprintf("ho ho. reproduce\n"); > > // explodes here. > > propVal = MsgGetProp(pMsgData, NULL, &propinfo, &fieldlen, &fieldfree, > > NULL); > > > > dbgprintf("got it\n"); > > finalize_it: > > pthread_mutex_unlock(&mutDoAct); > > ENDdoAction > > > > > > Narrowing it down further: > > > > [Thread debugging using libthread_db enabled] > > Using host libthread_db library "/lib64/libthread_db.so.1". > > Core was generated by `rsyslogd -dn -f test-conf/rsyslog-segfault.conf'. > > Program terminated with signal 11, Segmentation fault. > > #0 0x000000000043b263 in GetString (pThis=0x69d3ac <Debug>, > > ppsz=0x7fdf7ef3b898, plen=0x7fdf7ef3b894) at prop.c:108 > > 108 ISOBJ_TYPE_assert(pThis, prop); > > > > > > (gdb) backtrace > > #0 0x000000000043b263 in GetString (pThis=0x69d3ac <Debug>, > > ppsz=0x7fdf7ef3b898, plen=0x7fdf7ef3b894) at prop.c:108 > > #1 0x000000000041a454 in getHOSTNAME (pM=0x7fdf7ef3b9f0) at msg.c:2489 > > #2 0x000000000041c7b8 in MsgGetProp (pMsg=pMsg@entry=0x7fdf7ef3b9f0, > > pTpe=pTpe@entry=0x0, pProp=pProp@entry=0x7fdf7ef3b9b0, > > pPropLen=pPropLen@entry=0x7fdf7ef3b9ac, > > pbMustBeFreed=pbMustBeFreed@entry=0x7fdf7ef3b9aa, > > ttNow=ttNow@entry=0x0) > > at msg.c:3408 > > #3 0x00007fdf828c97f9 in doAction (pMsgData=0x7fdf7ef3b9f0, > > pWrkrData=0x7fdf70002080) at omriemann.c:179 > > #4 0x0000000000440c54 in actionCallDoAction (pWti=0x8644d0, > > iparams=<optimized out>, pThis=0x861d30) at ../action.c:1131 > > > > > > Any idea how I can start debugging this? It seems like the prop_t that's > > setup by resolvedns is not properly initialized? > > > > I am almost out for holiday break. I tried to check the code and also think > this has something to do with the hostname property. However, I wonder why > this occurs. Does the same problem occur if you write a file? I ask because > the property is obviously the same. This should be one of the best-tested > areas of rsyslog, so I am really puzzled... > > oh wait, I see you do not dereference pMsgData. That's an array, and you > need to access the proper message pointers. This is what ommongodb does: > > doc = getDefaultBSON(*(smsg_t**)pMsgData); > > Rainer > _______________________________________________ > 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.

