I wrote:
> Worker MPM, built from the CVS head earlier today, on Solaris...
I've managed to isolate the problem a bit further. The csd struct gets
corrupted within core_create_conn:
static conn_rec *core_create_conn(apr_pool_t *ptrans, server_rec *server,
apr_socket_t *csd, int conn_id)
{
core_net_rec *net = apr_palloc(ptrans, sizeof(*net));
apr_status_t rv;
#ifdef AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK
ap_sock_disable_nagle(csd);
#endif
net->in_ctx = NULL;
net->out_ctx = NULL;
net->c = (conn_rec *) apr_pcalloc(ptrans, sizeof(conn_rec));
During the apr_pcalloc call, *csd occasionally gets overwritten.
--Brian