Bug 1179596
Summary: | Cupsd is spinning after system boot | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Zdenek Kabelac <zkabelac> |
Component: | cups | Assignee: | Tim Waugh <twaugh> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 22 | CC: | a.radke, jpopelka, thierry.vignaud, twaugh, zkabelac |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | cups-2.0.2-5.fc22 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-03-21 04:53:12 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Zdenek Kabelac
2015-01-07 08:03:38 UTC
What does 'p *fdptr' say? It looks like EPOLLHUP is set but fdptr->read_cb isn't. 69 if (nfds < 0 && errno != EINTR) (gdb) 467 nfds = epoll_wait(cupsd_epoll_fd, cupsd_epoll_events, MaxFDs, -1); (gdb) 469 if (nfds < 0 && errno != EINTR) (gdb) 476 for (i = nfds, event = cupsd_epoll_events; i > 0; i --, event ++) (gdb) 478 fdptr = (_cupsd_fd_t *)event->data.ptr; (gdb) n 480 if (cupsArrayFind(cupsd_inactive_fds, fdptr)) (gdb) print *fdptr $1 = {fd = 18, use = 1, read_cb = 0x0, write_cb = 0x0, data = 0x7f2ced083490} This looks a bit suspicious, from upstream commit 6c2b2b194479fd5ace2b48378c13e7421023ac6d: diff --git a/scheduler/client.c b/scheduler/client.c index d7491cb..f5150e5 100644 --- a/scheduler/client.c +++ b/scheduler/client.c @@ -1979,6 +1979,12 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */ if (httpGetState(con->http) == HTTP_STATE_POST_SEND) { + /* + * Don't listen for activity until we decide to do something with this... + */ + + cupsdAddSelect(httpGetFd(con->http), NULL, NULL, con); + if (con->file >= 0) { fstat(con->file, &filestats); Could you please try with cups-2.0.1-2.fc22? Ok - I'm not CPU being overtaking now by cups for a while. root 608 0.2 0.2 213108 9968 ? Ss 08:45 0:43 /usr/sbin/cupsd -l root 684 1.0 0.2 95476 8064 ? Ss 08:45 2:51 /usr/sbin/cups-browsed So it might have been possible fixed with: cups-2.0.1-2.fc22.x86_64 (Note how 'browsed' consumes quite a lot of CPU considering just 13hour uptime) Thanks. Yes, I'm aware of cups-browsed performance issues and plan to work on those this week. Hmm, I saw this yesterday, exactly the same symptoms. Unfortunately it's no longer happening today. cups-2.0.2-2.fc22.x86_64 cups-2.0.2-3.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/cups-2.0.2-3.fc22 Package cups-2.0.2-3.fc22: * should fix your issue, * was pushed to the Fedora 22 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing cups-2.0.2-3.fc22' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-3837/cups-2.0.2-3.fc22 then log in and leave karma (feedback). Hmm, this is still happening even with poll(): poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=0}, {fd=16, events=0}], 6, 1000) = 2 ([{fd=15, revents=POLLHUP}, {fd=16, revents=POLLHUP}]) poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=0}, {fd=16, events=0}], 6, 1000) = 2 ([{fd=15, revents=POLLHUP}, {fd=16, revents=POLLHUP}]) poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=0}, {fd=16, events=0}], 6, 1000) = 2 ([{fd=15, revents=POLLHUP}, {fd=16, revents=POLLHUP}]) poll([{fd=3, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=15, events=0}, {fd=16, events=0}], 6, 1000) = 2 ([{fd=15, revents=POLLHUP}, {fd=16, revents=POLLHUP}]) Package cups-2.0.2-5.fc22: * should fix your issue, * was pushed to the Fedora 22 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing cups-2.0.2-5.fc22' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-3837/cups-2.0.2-5.fc22 then log in and leave karma (feedback). cups-2.0.2-5.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. |