httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Corcoran" <mcorco...@warpsolutions.com>
Subject Rotatelogs crashes after fork() and execve() on Solaris/Intel
Date Tue, 21 Sep 2004 23:52:51 GMT
Hello,
 
On Solaris/Intel, rotatelogs will always crash right after it is
spawned.  This only happens on the Solaris/Intel platform.  It works
fine on Solaris/SPARC, and on Linux, etc.  But for some reason, the code
that is currently used in Apache 2.0.51 to fork() and exec() processes
like rotatelogs, on Solaris/Intel, seems to crash all the time.

I've attached a trace of the processes execution using truss.  I
narrowed down the output using grep to only show the execution of the
fork()'ed child.  You can see that shortly after the execve() call is
made, the process just dies with SIGSEGV.

I've also attached a trace of the process after applying a patch that
I've been using for a while (since version 2.0.49, or something).  Here
is the patch to ./srclib/apr/threadproc/unix/proc.c

449c449,452
<             execve(progname, (char * const *)args, (char * const
*)env);
---
>             if (env != NULL)
>                 execve(progname, (char * const *)args, (char * const
*)env);
>             else
>                 execv(progname, (char * const *)args);

The above patch has been the only way that I've been able to launch
rotatelogs on the Solaris/Intel platform.

Comments?

Thanks,
Mike C.

Mime
View raw message