apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Kew <n...@webthing.com>
Subject Re: Strange continous SEVERE error after upgrading to APR 1.3, Critical poller failure, Timer expired
Date Wed, 25 Jun 2008 12:55:13 GMT

On Wed, 2008-06-25 at 12:43, Nick Kew wrote:
> On Wed, 25 Jun 2008 10:32:58 +0200
> Jimi HullegÄrd <jimi.hullegard@mogul.com> wrote:
> 
> > Hi,
> > 
> > After we upgraded APR from 1.2.8 to 1.3.0 we get a strange error in
> > tomcat's catalina.out that we have never seen before:
> > 
> > Jun 24, 2008 11:42:09 AM
> > org.apache.tomcat.util.net.AprEndpoint$Poller run SEVERE: Critical
> > poller failure (restarting poller): [62] Timer expired
> 
> Could this be related to
> http://marc.info/?l=apr-dev&m=121347872322492&w=2
> 
> I had something similar with httpd+Event MPM on solaris.
> Current workaround is to use Worker MPM.

OK, I've just tested APR variants with Event MPM.

It is indeed that fix that breaks it.  When I revert
the fix, the problem goes away.

The original patch posted to fix the same bug works fine.
Can I suggest you apply the following patch to 1.3.x
(should work on 1.3.0 or 1.3.2 too) and let us know if
it fixes the problem you're seeing?

Index: poll/unix/port.c
===================================================================
--- poll/unix/port.c    (revision 662044)
+++ poll/unix/port.c    (working copy)
@@ -315,7 +315,15 @@

     if (ret == -1) {
         (*num) = 0;
-        rv = apr_get_netos_error();
+        if (errno == EINTR) {
+            rv = APR_EINTR;
+        }
+        else if (errno == ETIME) {
+            rv = APR_TIMEUP;
+        }
+        else {
+            rv = APR_EGENERAL;
+        }
     }
     else if (nget == 0) {
         rv = APR_TIMEUP;


-- 
Nick Kew


Mime
View raw message