httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Bannert <>
Subject Re: anybody seeing socket-related segfaults today?
Date Wed, 20 Mar 2002 21:22:48 GMT
Could this change have interfered with Unix?

  Modified:    server   listen.c                                                
    Here's the patch that really sucks.  old_listeners points to an array       
    of apr_socket objects already destroyed by their cleanups, and in any       
    case they now live in invalid memory.  Extend their lifetimes.              
    This implies that the process pool grows on every restart for no good       
    reason.  One possible solution is to let the old pconf survive until        
    the new pconf is alive.  Another is to create the listeners in a subpool    
    of process->pool, destroyed after the old_listeners are closed.             
    Either which way, a better solution exists, but this closes the immediate   
    bug.  [How haven't we been segfaulting in unix on restarts before this      
    patch, gurus?]                                                              
  Revision  Changes    Path                                                     
  1.77      +4 -5      httpd-2.0/server/listen.c                                


On Wed, Mar 20, 2002 at 04:07:23PM -0500, Jeff Trawick wrote:
> Throughout today I've been seeing very intermittent regression
> failures on AIX. The segfault happens when trying to get the IP
> address string from a socket addr.
> core_create_conn() calls apr_socket_addr_get(), which returns
> APR_SUCCESS.  But somehow we have NULL for the returned socket address
> so apr_sockaddr_ip_get() bombs.
> It is intermittent, doesn't seem to matter what kind of request, and
> I've only seen it on a couple of AIX boxes.  Probably a pool misuse of
> some sort :)
> The earliest I saw it happen was 8:00 EST today, but prior to that the
> server wouldn't build on AIX for some hours, so I don't know when the
> problem was introduced/exposed.

View raw message