Bug 605584

Summary: Cups socket in endless loop consuming 100% CPU cycles
Product: Red Hat Enterprise Linux 5 Reporter: Simon Matter <simon.matter>
Component: cupsAssignee: Tim Waugh <twaugh>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: low    
Version: 5.5CC: azelinka, jpopelka, pknirsch, ykopkova
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: cups-1.3.7-24.el5 Doc Type: Bug Fix
Doc Text:
In some circumstances the standard CUPS backends (which transfer data to the printer) could get stuck in a loop consuming CPU cycles. This has been fixed by adjusting the main data processing loop shared by all the backends.
Story Points: ---
Clone Of:
: 1276772 (view as bug list) Environment:
Last Closed: 2011-01-13 23:29:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1276772    

Description Simon Matter 2010-06-18 10:29:17 UTC
Description of problem:
On a busy cups server printing to a number of HP JetDirect devices over unstable links it happens from time to time that some socket process of cups keeps hanging around in a endless loop consuming as much CPU cycles as it can.

Version-Release number of selected component (if applicable):
cups-1.3.7-18.el5

How reproducible:
Not so easy because in our environment it usually takes some days until the problem shows up.

Steps to Reproduce:
1. Run cups server with HP JetDirect devices
2. Use it a number of days
3. Suddenly you may find a socket process going in an endless loop
  
Actual results:
No such process should ever show up

Expected results:
If such a process shows up it should at least run a bit nice and not consume to many cycles

Additional info:
From what I understand Cups Patch 3001 does exactly that and we never had the problem again since applying it to our cups-1.3.7-18.el5 rpm since more than a month. I strongly recommend to add it to RHEL.

The patch is here: http://www.cups.org/strfiles/3001/str3001.patch

Comment 4 Simon Matter 2010-08-11 05:28:28 UTC
I just saw that new cups packages have been released but without this bug being fixed. That's really sad because this patch has made the difference for our print server. Without it I had so manually kill hanging and CPU consuming CUPS (socket) processes every other week or so. Since applying the patch some moths ago we didn't have a single issue and the server works as expected.
Our environment is not so exotic, we have 20 printers configured and the issue happens with HP LaserJet 4050 and 4100 devices.

Comment 5 Tim Waugh 2010-08-11 09:51:57 UTC
Simon: we do plan to fix this CUPS bug (and several others) in the next scheduled update.  There were some other fixes that were ahead in the queue.

Comment 6 Tim Waugh 2010-09-23 16:23:39 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
In some circumstances the standard CUPS backends (which transfer data to the printer) could get stuck in a loop consuming CPU cycles.  This has been fixed by adjusting the main data processing loop shared by all the backends.

Comment 10 errata-xmlrpc 2011-01-13 23:29:39 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0095.html