Bug 2363875

Summary: displayCAL error during startup TypeError: 'WindowList_iterator' object is not iterable
Product: [Fedora] Fedora Reporter: Serge Droz <serge>
Component: DisplayCALAssignee: Neal Gompa <ngompa13>
Status: CLOSED ERRATA QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 42CC: jistone, ngompa13
Target Milestone: ---Keywords: Desktop
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: DisplayCAL-3.9.16-2.fc42 DisplayCAL-3.9.16-2.fc41 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-05-06 01:16:26 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:
Attachments:
Description Flags
Fix a python issue none

Description Serge Droz 2025-05-03 11:55:29 UTC
During startup the following error is produced, and displayCAL hangs

'WindowList_iterator' object is not iterable

Traceback (most recent call last):
  File "/usr/lib64/python3.13/site-packages/wx/core.py", line 3427, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
                  ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/DisplayCAL/display_cal.py", line 19520, in setup_frame
    app.frame = MainFrame(self.worker)
                ~~~~~~~~~^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/DisplayCAL/display_cal.py", line 1876, in __init__
    self.set_child_ctrls_as_attrs(self)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib64/python3.13/site-packages/DisplayCAL/wxwindows.py", line 2346, in set_child_ctrls_as_attrs
    for child in parent.GetAllChildren():
                 ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib64/python3.13/site-packages/DisplayCAL/wxaddons.py", line 101, in GetAllChildren
    children = [child for child in self.GetChildren() if child not in skip]
                                   ~~~~~~~~~~~~~~~~^^
TypeError: 'WindowList_iterator' object is not iterable

Reproducible: Always

Steps to Reproduce:
1. start displayCAL from the command line or GUI
2.
3.
Actual Results:
Above error occurs

Expected Results:
displayCAL starts

Additional Information:
THis is kde, under x11 with a dual screen setup and an nvidia card

Comment 1 Serge Droz 2025-05-04 07:59:06 UTC
It seems the latest version, 9.3.15 (https://github.com/eoyilmaz/displaycal-py3/releases/tag/3.9.15) works when compiling from source. However I was not able to rebuild the RPM from the 9.3.14 SRPM.

Comment 2 Fedora Update System 2025-05-04 13:31:35 UTC
FEDORA-2025-1045fdae05 (DisplayCAL-3.9.15-2.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-1045fdae05

Comment 3 Fedora Update System 2025-05-04 13:31:49 UTC
FEDORA-2025-ebb9d427b6 (DisplayCAL-3.9.15-2.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-ebb9d427b6

Comment 4 Serge Droz 2025-05-04 13:47:00 UTC
The new package starts up, but now throws an error when trying to start a calibration session:

Traceback (most recent call last):
  File "/usr/lib64/python3.13/site-packages/wx/core.py", line 3427, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
                  ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/DisplayCAL/display_cal.py", line 10292, in start_measureframe_subprocess
    f"sys.path.insert(0, {pydir:!r});"
                         ^^^^^^^^^^
ValueError: Invalid format specifier '!r' for object of type 'str'

Comment 5 Serge Droz 2025-05-04 18:48:47 UTC
Created attachment 2088337 [details]
Fix a python issue

This patch gixes the issue reported in comment #4 9https://bugzilla.redhat.com/show_bug.cgi?id=2363875#c4)

Comment 6 Fedora Update System 2025-05-05 02:29:36 UTC
FEDORA-2025-1045fdae05 has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-1045fdae05`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-1045fdae05

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

Comment 7 Fedora Update System 2025-05-05 02:58:18 UTC
FEDORA-2025-ebb9d427b6 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-ebb9d427b6`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-ebb9d427b6

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

Comment 8 Serge Droz 2025-05-05 06:06:28 UTC
The updates mention in #6,7 do not contain the patch submitted in #5.

Comment 9 Fedora Update System 2025-05-06 01:16:26 UTC
FEDORA-2025-ebb9d427b6 (DisplayCAL-3.9.16-2.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2025-05-06 02:42:55 UTC
FEDORA-2025-1045fdae05 has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-1045fdae05`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-1045fdae05

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

Comment 11 Fedora Update System 2025-05-14 01:19:28 UTC
FEDORA-2025-1045fdae05 (DisplayCAL-3.9.16-2.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.