Brian Pane <[EMAIL PROTECTED]> writes:

> Jeff Trawick wrote:
> 
> >Maybe this is a hint...  For a couple of the restart iterations,
> >worker on AIX logs this:
> >
> >[crit] ap_queue_push failed with error code -1
> >
> 
> In your AIX test environment, can you catch this error
> case in action by putting breakpoints at the two lines
> in ap_queue_push() where it's about to return -1?
> 
>     int ap_queue_push(fd_queue_t *queue, apr_socket_t *sd, apr_pool_t *p,
>                       apr_pool_t **recycled_pool)
>     {
>         /*...*/
>         if (apr_thread_mutex_lock(queue->one_big_mutex) != APR_SUCCESS) {
>             return FD_QUEUE_FAILURE;

This is returning EINVAL.

> That might help isolate the source of the problem.  My two
> guesses right now are:
>    - pool lifetime problem, or
>    - pthread library problem

Pool lifetime is by far the most likely suspect out of these two.

Consider that we've been happily obtaining/releasing that mutex all
along until restart time, when a process that is dieing hits that
problem.

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to