Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1868141 - Select Printer Driver hangs
Summary: Select Printer Driver hangs
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-control-center
Version: 33
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pete Walter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker
Depends On:
Blocks: F33FinalBlocker
TreeView+ depends on / blocked
 
Reported: 2020-08-11 19:36 UTC by Brandon Nielsen
Modified: 2020-10-23 21:29 UTC (History)
11 users (show)

Fixed In Version: gnome-control-center-3.38.1-1.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-06 14:05:12 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Dealing with Printer dialogue 1 (1.40 MB, video/webm)
2020-10-01 10:10 UTC, Lukas Ruzicka
no flags Details
Dealing with Printer dialogue 2 (1.07 MB, video/webm)
2020-10-01 10:10 UTC, Lukas Ruzicka
no flags Details

Description Brandon Nielsen 2020-08-11 19:36:20 UTC
Description of problem: When attempting to add a printer, gnome-control-center hangs at the "Select Printer Driver" step after a manufacturer is selected.


Version-Release number of selected component (if applicable): 3.37.3-4 as included in the 20200811.n.0 compose.


How reproducible: Every time.


Steps to Reproduce:
1. Launch gnome-control-center
2. Select "Printers"
3. Click "Unlock...", authenticate if required
4. Click "Add a Printer..."
5. Enter IP address for network printer in search field
6. Select JetDirect-Printer that appears in the list
7. Click "Add" button
8. Select correct manufacturer from "Manufacturer" list in "Select Printer Driver" window (in this case, Hewlett-Packard)

Actual results: gnome-control-center hangs, cannot cancel the "Select Printer Driver" step. You can change the selected manufacturer, but nothing changes.


Expected results: The device list to populate after a manufacturer is selected, or at the very least to be able to cancel the add printer operation.


Additional info: Printer is a LAN connected HP LaserJet 1300, accessed via JetDirect. I have no directly attached printer to test with.

Comment 1 Brandon Nielsen 2020-08-20 18:51:13 UTC
Issue is still present in 20200819.n.1 compose. The issue may be HP specific. I believe this is the relevant section of the journal:

Aug 20 13:40:24 localhost.localdomain polkitd[711]: Operator of unix-session:2 successfully authenticated as unix-user:test to gain TEMPORARY authorization for action org.opensuse.cupspkhelper.mechanism.all-edit for unix-process:2545:25863 [gnome-control-center] (owned by unix-user:test)
Aug 20 13:40:26 localhost.localdomain systemd[1]: Created slice system-dbus\x2d:1.14\x2dorg.opensuse.CupsPkHelper.Mechanism.slice.
Aug 20 13:40:26 localhost.localdomain systemd[1]: Started dbus-:1.14-org.opensuse.CupsPkHelper.Mechanism.
Aug 20 13:40:26 localhost.localdomain audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dbus-:1.14-org.opensuse.CupsPkHelper.Mechanism@0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - - "POST / HTTP/1.1" 401 98 CUPS-Get-Devices successful-ok
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 173 CUPS-Get-Devices -
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 327 CUPS-Get-Devices -
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 176 CUPS-Get-Devices -
Aug 20 13:40:26 localhost.localdomain kernel: lp0: using parport0 (interrupt-driven).
Aug 20 13:40:26 localhost.localdomain kernel: lp0: console ready
Aug 20 13:40:26 localhost.localdomain systemd[1503]: Reached target Printer.
Aug 20 13:40:26 localhost.localdomain systemd[1]: Reached target Printer.
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 323 CUPS-Get-Devices -
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 322 CUPS-Get-Devices -
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 331 CUPS-Get-Devices -
Aug 20 13:40:26 localhost.localdomain hp[2681]: io/hpmud/pp.c 627: unable to read device-id ret=-1
Aug 20 13:40:26 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 314 CUPS-Get-Devices -
Aug 20 13:40:30 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 175 CUPS-Get-Devices -
Aug 20 13:40:32 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 174 CUPS-Get-Devices -
Aug 20 13:40:32 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 179 CUPS-Get-Devices -
Aug 20 13:40:32 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 320 CUPS-Get-Devices -
Aug 20 13:40:32 localhost.localdomain systemd[1503]: Created slice dbus\x2d:1.2\x2dorg.fedoraproject.Config.Printing.slice.
Aug 20 13:40:32 localhost.localdomain systemd[1503]: Started dbus-:1.2-org.fedoraproject.Config.Printing.
Aug 20 13:40:32 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 173 CUPS-Get-Devices -
Aug 20 13:40:33 localhost.localdomain scp-dbus-service[2728]: /usr/share/system-config-printer/scp-dbus-service.py:602: DeprecationWarning: Gdk.threads_enter is deprecated
Aug 20 13:40:33 localhost.localdomain scp-dbus-service[2728]:   Gdk.threads_enter ()
Aug 20 13:40:33 localhost.localdomain python3[2737]: io/hpmud/model.c 546: no HP_Integrated_Module attributes found in /usr/share/hplip/data/models/models.dat
Aug 20 13:40:33 localhost.localdomain python3[2737]: io/hpmud/model.c 557: no HP_Integrated_Module attributes found in /usr/share/hplip/data/models/unreleased/unreleased.dat
Aug 20 13:40:33 localhost.localdomain python3[2737]: io/hpmud/musb.c 2129: ignoring hp:/usb/HP_Integrated_Module?serial=0 support=0
Aug 20 13:40:33 localhost.localdomain python3[2737]: io/hpmud/pp.c 627: unable to read device-id ret=-1
Aug 20 13:40:33 localhost.localdomain cupsd[769]: REQUEST localhost - root "POST / HTTP/1.1" 200 316 CUPS-Get-Devices -
Aug 20 13:40:35 localhost.localdomain gnome-control-c[2545]: g_signal_connect_object: assertion 'G_IS_OBJECT (gobject)' failed
Aug 20 13:40:35 localhost.localdomain gnome-control-c[2545]: g_signal_connect_object: assertion 'G_IS_OBJECT (gobject)' failed
Aug 20 13:40:35 localhost.localdomain gnome-control-c[2545]: g_signal_connect_object: assertion 'G_IS_OBJECT (gobject)' failed

Comment 2 Brandon Nielsen 2020-09-12 19:28:16 UTC
Still seen with 20200912.n.0 compose.

Comment 3 Brandon Nielsen 2020-09-13 19:15:06 UTC
Reverting upstream commit 4502673b[0] for pp-ppd-selection-dialog.c[1] fixes the issue. Upstream ticket 1126[2] references this issue.

[0] - https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/4502673b6c2584cbcd116c782fc0b6c8392e3e3d
[1] - https://gitlab.gnome.org/GNOME/gnome-control-center/-/blob/master/panels/printers/pp-ppd-selection-dialog.c
[2] - https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1126

Comment 4 Brandon Nielsen 2020-09-18 13:59:06 UTC
I have submitted a fix upstream: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/842

Comment 5 Lukas Ruzicka 2020-09-24 10:47:49 UTC
Yes, I can confirm this, too. I was able to override this by providing a PPD file instead looking for a driver. Also, the web interface to CUPS is not affected by this problem.

Comment 6 Fedora Blocker Bugs Application 2020-09-24 10:50:06 UTC
Proposed as a Blocker and Freeze Exception for 33-beta by Fedora user lruzicka using the blocker tracking app because:

 Proposing to discuss this as a possible blocker. The problem can be overriden, but is an annoying behaviour.

Printing
Printing must work in release-blocking desktops on at least one printer available to those performing validation testing.

Comment 7 Kamil Páral 2020-09-24 13:16:42 UTC
(In reply to Lukas Ruzicka from comment #5)
> Yes, I can confirm this, too. I was able to override this by providing a PPD
> file instead looking for a driver.

How do you find that PPD file? (If we want to document a workaround for people).

Comment 8 Stephen Gallagher 2020-09-24 15:18:07 UTC
I can successfully add a Canon iR-ADB C256 by specifying the IP address in gnome-control-center-3.38.0-1.fc33.x86_64 without hitting this issue. It's definitely not universal.

Comment 9 Kamil Páral 2020-09-24 16:39:58 UTC
Rejected as a Beta blocker, but I can't mark it here yet, because it's also proposed as a Final blocker, and that is still undecided:
https://pagure.io/fedora-qa/blocker-review/issue/124

Comment 10 Lukas Ruzicka 2020-09-24 16:46:23 UTC
(In reply to Kamil Páral from comment #7)
> (In reply to Lukas Ruzicka from comment #5)
> > Yes, I can confirm this, too. I was able to override this by providing a PPD
> > file instead looking for a driver.
> 
> How do you find that PPD file? (If we want to document a workaround for
> people).

Well, if there are no drivers in Cups, you can provide a PPD file, but that file needs to be a correct PPD file for your printer. I was able to dig mine out of the Windows drivers. 

Some printer drivers can be found via openprinting.org. Otherwise, it is just moving across the www jungle.

Comment 11 Brandon Nielsen 2020-09-24 19:16:25 UTC
Anything that uses a flow that automatically selects a PPD (printers with only one PPD listed in CUPS I assume?) should be unaffected. I currently don't have any printers here where that's the case.

Anything that requires selecting a PPD manually is broken. As is the flow for changing the PPD for an already configured printer (Gear Icon -> Printer Details -> Select From Database...).

Comment 12 Geoffrey Marr 2020-09-24 21:20:12 UTC
(In reply to Kamil Páral from comment #9)
> Rejected as a Beta blocker, but I can't mark it here yet, because it's also
> proposed as a Final blocker, and that is still undecided:
> https://pagure.io/fedora-qa/blocker-review/issue/124

Marking as a proposed F33 Final blocker and removing the F33 Beta blocker status.

Comment 13 Lukas Ruzicka 2020-09-25 10:08:56 UTC
(In reply to Brandon Nielsen from comment #11)
> Anything that uses a flow that automatically selects a PPD (printers with
> only one PPD listed in CUPS I assume?) should be unaffected. I currently
> don't have any printers here where that's the case.
> 
> Anything that requires selecting a PPD manually is broken. As is the flow
> for changing the PPD for an already configured printer (Gear Icon -> Printer
> Details -> Select From Database...).

Sure, but there is also the "Provide PPD file" button which works as expected for me. Can you confirm?

Comment 14 Fedora Update System 2020-09-25 10:14:00 UTC
FEDORA-2020-151cfda095 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-151cfda095

Comment 15 Fedora Update System 2020-09-25 10:14:29 UTC
FEDORA-2020-4d1f0627eb has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-4d1f0627eb

Comment 16 Brandon Nielsen 2020-09-25 13:45:39 UTC
(In reply to Lukas Ruzicka from comment #13)
> 
> Sure, but there is also the "Provide PPD file" button which works as
> expected for me. Can you confirm?

I should have been clearer. I was just stating that the "Select Printer Driver" PPD selection dialog does not work so anything that uses it does not work.

I do not see any flow in gnome-control-center for the printers I have here (network connected HP JetDirect printers) that avoids using that dialog. I don't see a way to use "Provide PPD file" until the printer already appears in the Printers panel, which requires me to first go through the "Add..." flow, which requires the broken "Select Printer Driver" dialog.

After a printer is added (say, via CUPS web interface) and appears in the Printers panel, I can get to the "Select PPD file" dialog by Gear Icon -> Printer Details -> Install PPD File..., That dialog works.

There are printers which can be added that do not require the manual PPD selection step, I do not have one here. Apparently you have a printer which does not automatically select a PPD, but is discovered in such a way that it appears in the Printers panel which in turn allows you to select a PPD via Printer Details?

Because of the issues above, I think configuring a printer through the CUPS web interface at localhost:631 is the better workaround to document, it provides both the selection list, and the option to provide a PPD file.

At some level, I feel like I should suggest adding the "Provide PPD file" button to the "Select Printer Driver" dialog upstream, otherwise I don't know how you ever add a network printer which isn't automatically discovered for which CUPS does not provide a PPD. I guess you first select a wrong PPD, then go back and fix it?

Comment 17 Fedora Update System 2020-09-25 18:12:07 UTC
FEDORA-2020-151cfda095 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-151cfda095 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-151cfda095

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

Comment 18 Fedora Update System 2020-09-25 18:35:32 UTC
FEDORA-2020-4d1f0627eb 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 install --enablerepo=updates-testing --advisory=FEDORA-2020-4d1f0627eb \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-4d1f0627eb

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

Comment 19 Brandon Nielsen 2020-09-25 19:27:30 UTC
I don't see why the above builds of toot reference this bug.

Comment 20 Brandon Nielsen 2020-09-25 19:39:59 UTC
The commit causing the issue has been reverted in the Gnome 3.38 branch: https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/847

Comment 21 Alessio 2020-09-25 20:03:32 UTC
(In reply to Brandon Nielsen from comment #19)
> I don't see why the above builds of toot reference this bug.

OMG! Sorry.
I think that I had this bug and the one related to the review of the toot package opened in my browser. And I copied and pasted this bug id in the bodhi update request instead of the other one :facepalm:

Comment 22 Geoffrey Marr 2020-09-28 16:56:47 UTC
Discussed during the 2020-09-28 blocker review meeting: [0]

The decision to classify this bug as an "AcceptedBlocker (Final)" was made as it violates the following criterion:

"Printing must work in release-blocking desktops on at least one printer available to those performing validation testing."

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2020-09-28/f33-blocker-review.2020-09-28-16.01.txt

Comment 23 Lukas Ruzicka 2020-10-01 08:43:15 UTC
(In reply to Brandon Nielsen from comment #16)


> I do not see any flow in gnome-control-center for the printers I have here
> (network connected HP JetDirect printers) that avoids using that dialog. I
> don't see a way to use "Provide PPD file" until the printer already appears
> in the Printers panel, which requires me to first go through the "Add..."
> flow, which requires the broken "Select Printer Driver" dialog.

I do not have an option to test network printers, so I am only testing a local laser printer
Konica Minolta Bizhub 20P which is a problematic printer that has only a limited
support in CUPS itself. Therefore, I am using a PPD file to set it up.

> There are printers which can be added that do not require the manual PPD
> selection step, I do not have one here. Apparently you have a printer which
> does not automatically select a PPD, but is discovered in such a way that it
> appears in the Printers panel which in turn allows you to select a PPD via
> Printer Details?

The printer is automatically detected and always appears in the Printers list with a warning that
a driver could not be found and a generic driver (which only poorly works) has been selected.
Then I need to provide the PPD file by myself to be able to print properly.

> 
> Because of the issues above, I think configuring a printer through the CUPS
> web interface at localhost:631 is the better workaround to document, it
> provides both the selection list, and the option to provide a PPD file.

Yeah, localhost:631 has always worked for me, whenever there was an issue with the printer.

> 
> At some level, I feel like I should suggest adding the "Provide PPD file"
> button to the "Select Printer Driver" dialog upstream, otherwise I don't
> know how you ever add a network printer which isn't automatically discovered
> for which CUPS does not provide a PPD. I guess you first select a wrong PPD,
> then go back and fix it?

Maybe I am wrong, but I have always thought that a remote printer is configured on its host server and therefore
I only to send the printing data over and I do not need to know about the driver (or PPD) as it should be
communicated to my workstation from there.

Comment 24 Kamil Páral 2020-10-01 08:59:34 UTC
The latest development update is in comment 4, fixing status.

Comment 25 Lukas Ruzicka 2020-10-01 10:08:19 UTC
I was trying again with the latest updates and the situation is still the same for me. I also tried to set up a network printer on one CUPS to see how that behaves with network printers and what happened:

1) I started gnome-settings and navigated to Printers
2) I unlocked the pane and deleted all printers I had.
3) I pushed the Add button
4) The network printer was found and added into Printers automatically with the note that drivers could not be found.
5) I could click on Printer details and got three buttons with approximately these texts: Search for drivers, Select driver from database, Provide PPD file.
6) Searching for drivers worked but none was found (the one selected automatically was "Generic-text only printer"
7) Select from database still did not work and somewhat hanged.
8) Provide PPD was successful.

I am attaching two videos for you to see.

Comment 26 Lukas Ruzicka 2020-10-01 10:10:22 UTC
Created attachment 1718115 [details]
Dealing with Printer dialogue 1

Comment 27 Lukas Ruzicka 2020-10-01 10:10:54 UTC
Created attachment 1718116 [details]
Dealing with Printer dialogue 2

Comment 28 Brandon Nielsen 2020-10-01 19:09:46 UTC
(In reply to Lukas Ruzicka from comment #25)
> I was trying again with the latest updates and the situation is still the
> same for me. 

[Snip]

There hasn't been a new build of gnome-control-center since Sept. 19, before a fix was pushed to either the master or 3.38 branches.

Comment 29 Kalev Lember 2020-10-01 21:54:39 UTC
Thanks for fixing this, Brandon!

I can see that the revert is in 3-38 branch upstream and we should get a 3.38.1 release in a few days. I'll link this ticket once we have a build in Bodhi.

Comment 30 Fedora Update System 2020-10-05 21:14:58 UTC
FEDORA-2020-93095cb647 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-93095cb647

Comment 31 Brandon Nielsen 2020-10-05 23:43:24 UTC
(In reply to Fedora Update System from comment #30)
> FEDORA-2020-93095cb647 has been submitted as an update to Fedora 33.
> https://bodhi.fedoraproject.org/updates/FEDORA-2020-93095cb647

I no longer see the issue with this update. The "Select Printer Driver" PPD selection dialog is functional.

Comment 32 Fedora Update System 2020-10-06 01:15:39 UTC
FEDORA-2020-93095cb647 has been pushed to the Fedora 33 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-93095cb647`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-93095cb647

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

Comment 33 Kamil Páral 2020-10-06 09:49:09 UTC
Lukas, can you please verify as well?

Comment 34 Fedora Update System 2020-10-06 14:05:12 UTC
FEDORA-2020-93095cb647 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 35 Adam Williamson 2020-10-23 21:29:44 UTC
Bug fixed, commonbugs not needed.


Note You need to log in before you can comment on or make changes to this bug.