https://bz.apache.org/bugzilla/show_bug.cgi?id=60487

--- Comment #11 from Jeff W <apa...@wheelhouse.org> ---
After reading the source code at some length, I think I'm getting it now.  Just
to see if I'm following along...

- httpd goes through the config file twice in its main loop, once
(ap_read_config) is a pre-scan to build up a list of modules, hooks, the config
tree, etc, and a second time (ap_process_config_tree) to actually configure.

- Registered pre_config hooks are called after ap_read_config finishes and
before ap_process_config_tree.

- The MPM's "retained" variable is initialized in its pre_config hook.

- If a restart signal arrives anytime after the MPM has been loaded in
ap_read_config and before the MPM's pre_config hook is called, its "retained"
variable will never have been initialized.

- The uninitialized "retained" variables is a "lucky" NULL (rather than purely
undefined) due to being a static variable a dlopen()'d module.

- The NULL value leads to this crash.

- Jacob's case is exercising the crash because it involves a huge config file
and the MPM directive is probably very near the top, maximizing the window
during which signals will have this effect, possibly to many seconds.

- My case is exercising the crash frequently because my environment causes two
restart signals to arrive unusually close together under certain circumstances.

Is all of that correct?

Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org
For additional commands, e-mail: bugs-h...@httpd.apache.org

Reply via email to