[sr-dev] segfault in cfg_update[_local] for kamailio modules
Andrei Pelinescu-Onciul
andrei at iptel.org
Tue Oct 6 12:49:18 CEST 2009
On Oct 06, 2009 at 11:52, Andrei Pelinescu-Onciul <andrei at iptel.org> wrote:
> On Oct 06, 2009 at 11:03, Henning Westerholt <henning.westerholt at 1und1.de> wrote:
> > Hi all,
> >
> > i get now a segfault in cfg_update[_local] for kamailio modules during my
> > tests. It doesn't matter if the server start successfully, it even crashs when
> > the server stops the start during some cfg file problems.
> >
> > I remember that Miklos changes in the last week something in the cfg
> > framework, perhaps its related to this?
Should be fixed now (at least the config changes are still seen on exit
by all the processes and mi_fifo does not crash).
>
> It's my patch so I'm responsible :-)
> It is related to it. The 0 pointer crash is intentional and it
> should signal that someone uses cfg_update() on a process not registered
> for config framework use.
> Unfortunately my patch added a cfg_update() on process exit (to make
> sure they have the latest update values of the debug, memlog and memdebug)
> and I failed to account for kamailio modules that fork processes.
>
> So I'll either disable the 0-crash (which has the disadvantage that in
> the future one might try to use the cfg. framework without proper
> intialization and it would seem to work at least for some of the vars =>
> difficult debugging), remove the cfg_update() on exit (no memlog, debug
> update in some cases) or come up with something else.
> Another alternative would be to update all the k modules, but I want to
> avoid it since they don't use the cfg framework yet and it would
> introduce a lot of extra testing before a release.
In the end, I just added a special update call, that is used only on
process exit, before dumping memory debugging info.
Andrei
More information about the sr-dev
mailing list