You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Fenlason, Josh" <jf...@ptc.com> on 2006/01/03 16:13:15 UTC

RE: Apache 2.2.0 Listen Directive

Nothing is output by running ./apachectl start.  The access_log and
error_log files are created, but do not contain anything.  Running
./httpd output the following:

bash-2.05b$ ./httpd 
httpd: Could not reliably determine the server's fully qualified domain
name, using 132.253.10.58 for ServerName
no listening sockets available, shutting down
Unable to open logs

I'll try to make time to try your patch, but I don't think I'll be able
to get to it right away.
,
Josh.

> -----Original Message-----
> From: Jeff Trawick [mailto:trawick@gmail.com] 
> Sent: Friday, December 30, 2005 9:43 AM
> To: dev@httpd.apache.org
> Subject: Re: Apache 2.2.0 Listen Directive
> 
> 
> On 12/28/05, Jeff Trawick <tr...@gmail.com> wrote:
> > On 12/28/05, Fenlason, Josh <jf...@ptc.com> wrote:
> > >
> > > I'm running into an issue where Apache 2.2.0 on AIX won't 
> start if 
> > > there is more than one Listen directive.
> 
> > Can you send me truss of startup using the failure configuration?
> >
> > truss -o /tmp/startup -f bin/apachectl start
> 
> (trace received offline)
> 
> I don't see any socket errors.  I jumped more than half-way 
> to a conclusion from your initial report ("won't start") and 
> assumed that some sort of bind error occurred.  It seems 
> somewhat likely that a crash is occurring, though I don't see 
> SIGSEGV being reported in the trace.  Anything written to the 
> console by "apachectl start"?  What is exit status of 
> "apachectl start" in the failure?
> 
> # bin/apachectl start
> # echo $?
> 
> Anything written to error log?
> 
> AIX 5.1 doesn't have IPV6_V6ONLY socket option (added in 
> 5.2), which does affect processing of sockets.  Can you try this hack?
> 
> Index: server/listen.c 
> ===================================================================
> --- server/listen.c     (revision 360100)
> +++ server/listen.c     (working copy)
> @@ -408,11 +408,8 @@
>              if (previous != NULL
>                  && IS_INADDR_ANY(lr->bind_addr)
>                  && lr->bind_addr->port == previous->bind_addr->port
> -                && IS_IN6ADDR_ANY(previous->bind_addr)
> -                && apr_socket_opt_get(previous->sd, APR_IPV6_V6ONLY,
> -                                      &v6only_setting) == APR_SUCCESS
> -                && v6only_setting == 0) {
> -
> +                && IS_IN6ADDR_ANY(previous->bind_addr)) {
> +                /* hacked to ignore IPV6_V6ONLY setting */
>                  /* Remove the current listener from the list */
>                  previous->next = lr->next;
>                  continue;
>