: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.

Reply via email to