Radius server crash due to 35# bug
aland at deployingradius.com
Tue Apr 13 17:00:35 CEST 2010
Liu Linyong wrote:
> Maybe the test environments are different, so I can always reproduce the problem in an hour or so in my test ;)
OS, libraries, CPU are all different...
> Yesterday, I removed the codes associated to 'hash' when receiving a request from NAS. That is:
> In main/event.c received_request(), will not find node from hash table, nor inserte into.
> BUT just add to FIFOs by thread_pool_addrequest().
> Then test it for 12 hours, it work fine!!
Well... yes. If you don't use the relevant code, it won't have problems.
> There may be something wrong with the 'hash' codes, I guess ;)
Nope. You simply bypassed the problem by deleting it. It's like
fixing a flat tire by throwing away the rubber tire, and running your
car on the steel rims. The wheels aren't flat, but it's not a good way
to run the car.
> Hmm... it's hard for me to understand the fr_hash_table_fixup(), then I think this 'black box' may have something wrong, haha...
It's been tested in isolation (simple test app) with valgrind &&
static memory checkers. It seems to be OK.
> in src/main/event.c Ln1199, should "#ifdef WTH_COA " to be "#ifdef WITH_COA "? V2-1-8 also has this code.
That will be fixed in 2.1.9, thanks.
More information about the Freeradius-Devel