talloc & threads in rlm_eap

Alan DeKok aland at deployingradius.com
Mon Jun 23 22:41:56 CEST 2014

Phil Mayers wrote:
> 2. Subsequent freeing in the same thread:
> /tmp/threadlog-26294-26326:freeing 0x7f0308000b90
> /tmp/threadlog-26294-26326-libfreeradius-radius.so(+0x267c3)[0x7f03329517c3]
> /tmp/threadlog-26294-26326-libtalloc.so.2[0x36ad4025a4]
> /tmp/threadlog-26294-26326-libfreeradius-radius.so(pairfree+0x63)[0x7f0332951ad4]
> /tmp/threadlog-26294-26326-src/main/process.c:1369

  Hmm... OK.

> /opt/fr3/sbin/radiusd[0x435799]
> /opt/fr3/sbin/radiusd[0x433531]

  That's unhelpful.

> Given that "pairfree(&request->packet->vps)" in step #2 should null out
> the pointer, I can only assume what we're seeing here is a request being
> freed in the main thread at the same time as being freed in a child
> thread? Something inside the timeout machinery?

  Maybe.  The main thread should NOT free anything associated with the
REQUEST if the child thread is still running.  There are a number of
checks for that...

  Alan DeKok.

More information about the Freeradius-Devel mailing list