Radius server crash due to 35# bug

Alan DeKok 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.

> Besides, 
> 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.

  Alan DeKok.



More information about the Freeradius-Devel mailing list