httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 39079] thread eats 100% CPU, presumably spinning in futex
Date Sun, 09 Aug 2009 17:57:53 GMT
https://issues.apache.org/bugzilla/show_bug.cgi?id=39079



--- Comment #25 from HuoMingyu <questionii@yahoo.cn> 2009-08-09 10:57:45 PDT ---
Same problem detected in version 2.2.11.   Happens everyday on an 8-cpu centos
.  Sometimes eatup 4 cups by 100%, while sometimes 8.   
I was wondering whether it's because there is a loop in the linked list
p->cleanups and the length of the loop is bigger than 4, so that it's not
detected by the corrupt list detection mechanism? Or is that not possible?


Source below is part of apr_pool_cleanup_kill(all my  threads with 100% CPU are
detected running this function ):

while (c) {
#if APR_POOL_DEBUG
        /* Some cheap loop detection to catch a corrupt list: */
        if (c == c->next
            || (c->next && c == c->next->next)
            || (c->next && c->next->next && c == c->next->next->next))
{
            abort();
        }
#endif

        if (c->data == data && c->plain_cleanup_fn == cleanup_fn) {
            *lastp = c->next;
            /* move to freelist */
            c->next = p->free_cleanups;
            p->free_cleanups = c;
            break;
        }

        lastp = &c->next;
        c = c->next;
    }

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- 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


Mime
View raw message