We have been porting an existing APR based application to Mac OS and ran into a crash problem on Mac when executing apr_proc_create() (no crash was occurring on Windows)

After some investigation we found that run_child_cleanups (which is invoked by apr_pool_cleanup_for_exec) was crashing due to the fact that c->child_cleanup_fn was NULL.

For the time being we resolved it by adding an if not NULL statement before invoking the cleanup function however I am not sure that a NULL cleanup function is allowed or by itself represents some kind of an issue.

If it is allowed or can happen under normal conditions then I will be glad to submit a patch, if it is not allowed I would appreciate any insights as to what could have caused this scenario.


Ronen Mizrahi