[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