Alan DeKok wrote:
Chris Moules wrote:
OK, I have re-done the debugging. This time I have left gdb running in case you want more output.
Thanks... if you could also show:
(gdb) p/x request->proxy
That would confirm my suspicions.
OK, here you go: (gdb) p/x *request $1 = {magic = 0xdeadbeef, packet = 0x0, proxy = 0xeebff0, reply = 0x0, proxy_reply = 0x0, config_items = 0x0, username = 0x0, password = 0x0, root = 0x0, data = 0x0, client = 0x0, child_pid = 0x0, timestamp = 0x49ae6bd4, number = 0x4, listener = 0x0, proxy_listener = 0xee5700, simul_max = 0x0, simul_count = 0x0, simul_mpp = 0x0, options = 0x0, module = 0x42f4ed, component = 0x42f4ed, received = {tv_sec = 0x0, tv_usec = 0x0}, when = { tv_sec = 0x49ae6bd8, tv_usec = 0x1060e}, delay = 0x0, master_state = 0x0, child_state = 0x3, priority = 0x0, ev = 0xeec6b0, next_when = {tv_sec = 0x0, tv_usec = 0x0}, next_callback = 0x0, in_request_hash = 0x0, in_proxy_hash = 0x1, home_server = 0xddcc50, home_pool = 0x0, proxy_when = {tv_sec = 0x0, tv_usec = 0x0}, num_proxied_requests = 0x0, num_proxied_responses = 0x1, server = 0x0, parent = 0x0, radlog = 0x414cb0, coa = 0x0, num_coa_requests = 0x0} (gdb) p/x request->proxy $2 = 0xeebff0
i.e. When it determines that the home server is down, it starts pinging it with internally generated packets. Those packets don't have some fields that are required for "normal" packets.
OK, so that is why it only dies when the server replies to a 'are you there' packet after it has died / zombied.
I've committed fixes to git that will fix this. To grab them, do:
$ git pull $ cd src/main $ make radiusd $ make install
You don't need to re-install any of the modules.
Thanks for the report.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
I will end up rebuilding new packages. This is not a problem. You have already commited the couple of patches that I needed to get the build working. There have been a few more patches since. I may wait with this until tomorrow however. My client does not like things going wrong at just-before-home-time ;) Thanks for the support on this! Regards Chris