Bug 1838455

Summary: ipp/socket backends connect to turned off device for eternity (contimeout is not applied)
Product: [Fedora] Fedora Reporter: Zdenek Dohnal <zdohnal>
Component: cupsAssignee: Zdenek Dohnal <zdohnal>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: qe-baseos-daemons, twaugh, zdohnal
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cups-2.3.3-2.fc32 cups-2.2.12-9.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1838449 Environment:
Last Closed: 2020-05-25 02:46:36 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:
Attachments:
Description Flags
Patch none

Description Zdenek Dohnal 2020-05-21 08:11:31 UTC
Created attachment 1690548 [details]
Patch

+++ This bug was initially created as a clone of Bug #1838449 +++

It was found out that httpAddrConnect2() now sets errno EINPROGRESS when it tries to connect to a device which is turned off/network is down/ or when any 'device unreachable' scenarios.

It influences ipp and socket backends, which don't catch EINPROGRESS -> contimeout is not applied, resulting into the backend is running with a job till the job is cancelled manually.

Reported upstream here https://github.com/apple/cups/pull/5782

The fix will set 2 different errnos now:

1) ETIMEDOUT when remaining time in httpAddrConnect2() is reached
2) EHOSTDOWN when all addresses are tried and there are no open file descriptors

This will make backends to apply contimeout and the job will be retried/aborted (according print queue error policy) and queue disabled in the future.

Comment 1 Fedora Update System 2020-05-21 08:28:53 UTC
FEDORA-2020-dc949ad479 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-dc949ad479

Comment 2 Fedora Update System 2020-05-21 09:40:59 UTC
FEDORA-2020-167f5dcc7f has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-167f5dcc7f

Comment 3 Fedora Update System 2020-05-22 03:02:15 UTC
FEDORA-2020-167f5dcc7f has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-167f5dcc7f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-167f5dcc7f

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 4 Fedora Update System 2020-05-22 04:23:48 UTC
FEDORA-2020-dc949ad479 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-dc949ad479`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-dc949ad479

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2020-05-25 02:46:36 UTC
FEDORA-2020-dc949ad479 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Fedora Update System 2020-06-07 19:45:29 UTC
FEDORA-2020-167f5dcc7f has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.