busy loop due to lack of error handling

Bug #463224 reported by Tim Waugh
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HPLIP
New
Undecided
Unassigned

Bug Description

Under some error conditions the hpcups filter will go into a busy loop and continually fill /var/log/messages with this message:

HP-LaserJet-3055: prnt/hpijs/services.cpp 386: unable to write to output, fd=1, count=4096: Broken pipe

In particular, if the backend has exited before the filter has finished, this condition is easy to trigger.

Create an hpcups queue (e.g. for HP LaserJet 3055) with a device URI that uses a backend which immediately exits with status code 0. Now print anything to that queue.

1. ln -s /bin/true /usr/lib/cups/backend
2. lpadmin -p HP-LaserJet-3055 -m drv:///hp/hpcups.drv/hp-laserjet_3055.ppd -v true:/// -E
3. echo . | lp -d HP-LaserJet-3055

HPLIP-3.9.8

Original bug report:
  https://bugzilla.redhat.com/show_bug.cgi?id=525944

Revision history for this message
anup (osta6161) wrote :

Can you please try out with latest version of hplip (3.9.10)?

Thanks,

A

Revision history for this message
Tim Waugh (twaugh) wrote :

Seems to work.

Didn't you just take out the error-checking though? ;-)

    write (STDOUT_FILENO, pData, iLength);
    return NO_ERROR;

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.