You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2013/05/20 16:13:52 UTC

[Bug 54993] New: Critical error: File descriptor in bad state: apr_pollset_poll failed.

https://issues.apache.org/bugzilla/show_bug.cgi?id=54993

            Bug ID: 54993
           Summary: Critical error: File descriptor in bad state:
                    apr_pollset_poll failed.
           Product: Apache httpd-2
           Version: 2.4.4
          Hardware: PC
                OS: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mpm_event
          Assignee: bugs@httpd.apache.org
          Reporter: apache@yonahruss.com
    Classification: Unclassified

We are getting lots of strange error messages from Apache 2.4 with the event
mpm under load.

[mpm_event:crit] [pid 9685:tid 28] (81)File descriptor in bad state:
apr_pollset_poll failed. Attempting to shutdown process gracefully

It appears to come from these lines in
/httpd/tags/2.4.4/server/mpm/event/event.c

1455     rc = apr_pollset_poll(event_pollset, timeout_interval, &num,
&out_pfd); 
1456     if (rc != APR_SUCCESS) { 
1457     if (APR_STATUS_IS_EINTR(rc)) { 
1458     continue; 
1459     } 
1460     if (!APR_STATUS_IS_TIMEUP(rc)) { 
1461     ap_log_error(APLOG_MARK, APLOG_CRIT, rc, ap_server_conf, 
1462     "apr_pollset_poll failed. Attempting to " 
1463     "shutdown process gracefully"); 
1464     signal_threads(ST_GRACEFUL); 
1465     } 
1466     } 
1467

If I understand correctly, apr_pollset_poll() is returning EBADFD in this code
(specific to pollsets using solaris event ports):
/apr/tags/1.4.6/poll/unix/port.c

372     ret = port_associate(pollset->p->port_fd, PORT_SOURCE_FD, 
373     fd, get_event(ep->pfd.reqevents), ep); 
374     if (ret < 0) { 
375     rv = apr_get_netos_error(); 
376     APR_RING_INSERT_TAIL(&(pollset->p->free_ring), ep, pfd_elem_t, link); 
377     break; 
378     }

According to the man page for port_associate:

EBADFD The source argument is of type PORT_SOURCE_FD and the object argument is
not a valid file descriptor.

We are running SmartOS, a variant of OpenSolaris/Illumos

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


[Bug 54993] Critical error: File descriptor in bad state: apr_pollset_poll failed.

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=54993

--- Comment #1 from Mat Mannion <m....@warwick.ac.uk> ---
We're also seeing this problem on Apache 2.4.9 on Solaris 10_u11; under load
we're seeing apr_pollset_poll failed messages and the server is very slow to
respond. After 30 seconds or so it recovers.

We use log_server_status to log the server status to a file, and when this
happens we can actually see requests to /server-status failing:

110500:90:185:136912038:.722062
110600:93:182:136920497:.722775
110700:71:204:136926275:.723272
110800:105:170:136933289:.723871
110900:101:174:136941124:.724506
111000:-1:-1:-1:-1:IO::Socket::INET: connect: Connection timed out
111100:-1:-1:-1:-1:IO::Socket::INET: connect: Connection timed out
111200:43:207:136954348:.726364
111300:293:207:136960240:.725304
111400:87:213:136967664:.497808
111500:99:201:136974792:.49857

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org