httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 25103] - Purpose of APR_PROGRAM and APR_PROGRAM_ENV is reversed in apr_proc_create
Date Mon, 01 Dec 2003 12:40:18 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25103>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25103

Purpose of APR_PROGRAM and APR_PROGRAM_ENV is reversed in apr_proc_create





------- Additional Comments From mcorcoran@spidersoftware.com  2003-12-01 12:40 -------

Hmm.  Your description makes sense.  Problem is that I can't really get a 
backtrace because the program (including rotatelogs) literally dies before it 
even gets a chance to run.  As a quick hack, I tried putting a sleep() for 60 
seconds as the very first line of code in the main() function so that I could 
attach with gdb and see what's happening, but it doesn't even get to the call 
to sleep()... Instead, it seg faults, generates a core with no stack.  I think 
that the NULL being passed to execve is causing problems on Solaris (Intel) 
maybe - I haven't tried on a different platform yet.

Thing is I'm sure it does work on most platforms, otherwise there would have 
been complaints by now.  But it definitely is causing things like rotatelogs, 
and the SSLPassPhraseDialog exec:/program to die before starting.

Maybe a simple addition like the following would be more appropriate:

if (env != NULL)
    execve(progname, (char * const *)argv, (char * const *)env);
else
    execv(progname, (char * const *)argv);

Thanks,
Mike C.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message