Skip Menu |

This queue is for tickets about the mod_perl CPAN distribution.

Report information
The Basics
Id: 72540
Status: new
Priority: 0/
Queue: mod_perl

People
Owner: Nobody in particular
Requestors: flameeyes [...] flameeyes.eu
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 2.0.5
Fixed in: (no value)



Subject: Tracing mod_perl crashes Apache if ErrorLog is set to syslog
When MP_TRACE is enabled, and Apache's ErrorLog is set to syslog, mod_perl will crash because of the following code block: #ifdef MP_TRACE /* httpd core open_logs handler re-opens s->error_log, which might * change, even though it still points to the same physical file * (.e.g on win32 the filehandle will be different. Therefore * reset the tracing logfile setting here, since this is the * earliest place, happening after the open_logs phase. * * Moreover, we need to dup the filehandle so that when the server * shuts down, we will be able to log to error_log after Apache * has closed it (which happens too early for our likening). */ { apr_file_t *dup; MP_RUN_CROAK(apr_file_dup(&dup, s->error_log, pconf), "mod_perl core post_config"); modperl_trace_logfile_set(dup); } #endif The problem is that with syslog, s->error_log is NULL, and apr_file_dup() does not accept a NULL parameter cleanly. I'm not sure if this should be conditional to s->error_log != NULL or if it requires more work to massage it into position.