Papaya Pete wrote: Honestly, I'm not really sure what free_list(global_lists) even does. Hah, it would help if I understood what exactly the error was in the first place in order to fix it! What global variables does it deal with?
global_lists is struct of type char that is created using create_list() when the mud is first started up. free_lists() is called to free and NULL the addresses used by global_lists upon shutdown.
Side note: rebooting the mud does NOT trigger the crash. "Shutdown" and "shutdown die" do trigger it. I suppose that narrows it down slightly!
Yes, if global_lists is using addresses it isn't supposed to then it'll show up on shutdown when free_lists() is called. I believe a simple reboot or copyover doesn't require clearing all memory, though you'd think a reboot should. Maybe there's some sort of speedup involved by NOT clearing out all memory on reboot?
I've had, and continue to have, a similar issue on shutdown except my problem shows up in clearing out the followers lists. So I never even get to that section in comm.c.
Edit: Actually, create_list() is a struct of type list_data*, not char*.
Edit 2: Just in case my tone seems to indicate otherwise, I'm not an expert but this is what I believe I've figured out while trying to debug my own crashing on shutdown issue. Take everything I say with a helping of NaCl.