Yubico / yubikey-manager-qt

Cross-platform application for configuring any YubiKey over all USB interfaces.
https://developers.yubico.com/yubikey-manager-qt/
BSD 2-Clause "Simplified" License
237 stars 29 forks source link

The GUI application does not work when built from release tarball with python 3.12 #357

Closed Jakuje closed 2 months ago

Jakuje commented 9 months ago

The Fedora packages are not distributed as appimages, but as RPMs, that are built from the official release tarballs provided on https://developers.yubico.com/yubikey-manager-qt/Releases/ The package stopped working with Fedora 39 with exactly same code (likely some dependencies were updated).

The users report that the AppImage still keeps working for them (https://bugzilla.redhat.com/show_bug.cgi?id=2251082) so I wanted to figure out what is a difference in our build from the AppImage from our packages, but so far I noticed only the difference in python version, where Appimage forces 3.11, while Fedora 39 updated to Python 3.12, which might cause some issues with the bindings?

Running with --log-level DEBUG does not show any output nor failures.

I am not completely sure about the application architecture to be able to pinpoint the issue, but I suspect it is related to the python version. Is there a way to get some more debug logs or trace logs to see what is failing where?

Steps to reproduce

Expected result

The application should show connected Yubikeys.

Actual results

No buttons are active, the app does not react to any inputs except for Help and About.

image

Other info

I do not know what more I can provide. Please, let me know what information would be helpful to debug this further.

uaqben commented 9 months ago

I've been experiencing same, it's not working with Fedora 39

Fenrihr commented 7 months ago

I have the same issue in Fedora, packages installed from the Fedora repos

ale-x-yyy commented 7 months ago

Same here, Yubikey GUI stuck on screen Insert your YubiKey, while ykman and yubikey-personalization-gui show my YubiKey device.

$ ykman-gui -v
YubiKey Manager 1.2.5

$ ykman-gui --log-level DEBUG
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "&Yes" msgid_plural: "" msgctxt: "@action:button"
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "&No" msgid_plural: "" msgctxt: "@action:button"
qrc:/qml/main.qml:96:5: QML Shortcut: Shortcut: Only binding to one of multiple key bindings associated with 4. Use 'sequences: [ <key> ]' to bind to all of them.

$ ykman info
Device type: YubiKey 4
Serial number: XXX
Firmware version: 4.2.8
Enabled USB interfaces: OTP, FIDO, CCID

Applications
Yubico OTP      Enabled
FIDO U2F        Enabled
FIDO2           Not available
OATH            Enabled
PIV             Enabled
OpenPGP         Enabled
YubiHSM Auth    Not available

$ sudo dnf list installed | grep -iE "yubikey|fido|u2f"
fido2-tools.x86_64                                   1.14.0-4.fc40                         @fedora
libfido2.x86_64                                      1.14.0-4.fc40                         @fedora
libfido2-devel.x86_64                                1.14.0-4.fc40                         @fedora
libu2f-host.x86_64                                   1.1.10-15.fc40                        @fedora
libyubikey.x86_64                                    1.13-22.fc40                          @fedora
python3-fido2.noarch                                 1.1.2-4.fc40                          @fedora
python3-yubikey-manager.noarch                       5.4.0-1.20240327git7b1b5a7.fc40       @updates
yubikey-manager.noarch                               5.4.0-1.20240327git7b1b5a7.fc40       @updates
yubikey-manager-qt.x86_64                            1.2.5-4.fc40                          @fedora
yubikey-personalization-gui.x86_64                   3.1.25-14.fc40                        @fedora
Aloxaf commented 6 months ago

This PR fixes it for me: https://github.com/thp/pyotherside/pull/131

Jakuje commented 6 months ago

Thank you for the pointer @Aloxaf ! Filled Fedora bug to get this fixed: https://bugzilla.redhat.com/show_bug.cgi?id=2277686

robsdudeson commented 6 months ago

Ran into a similar issue on Manjaro(Arch). I was able to work around this by installing python-pyotherside-moment-git and then installing yubikey-manager-qt

orjawell commented 6 months ago

Can you run this command : ykman-gui --log-level DEBUG and send us the error.

uaqben commented 6 months ago

Can you run this command : ykman-gui --log-level DEBUG and send us the error.

@orjawell There is no error..

Screenshot from 2024-05-10 13-08-55

orjawell commented 6 months ago

Can you run this command : ykman-gui --log-level DEBUG and send us the error.

@orjawell There is no error..

Screenshot from 2024-05-10 13-08-55

Try this and redo the same command but with your yubikey inserted

leigh123linux commented 4 months ago

Does this update fix the issue for you?

https://bodhi.fedoraproject.org/updates/FEDORA-2024-f563337283

rathann commented 4 months ago

Does this update fix the issue for you?

https://bodhi.fedoraproject.org/updates/FEDORA-2024-f563337283

It doesn't.

leigh123linux commented 4 months ago

Does this update fix the issue for you? https://bodhi.fedoraproject.org/updates/FEDORA-2024-f563337283

It doesn't.

It worked ok when I tested the package but it fails now in the same way,

leigh123linux commented 4 months ago

Does this update fix the issue for you? https://bodhi.fedoraproject.org/updates/FEDORA-2024-f563337283

It doesn't.

@rathann Try downgrading yubikey-manager

sudo dnf downgrade python3-yubikey-manager

It seems this hit stable after I fixed it https://bodhi.fedoraproject.org/updates/FEDORA-2024-8c7e2799df

ricardobranco777 commented 4 months ago

@rathann Try downgrading yubikey-manager

sudo dnf downgrade python3-yubikey-manager

Now it works. I also ran sudo dnf versionlock add python3-yubikey-manager yubikey-manager to avoid any unwanted updates.

Jakuje commented 2 months ago

This was resolved in Fedora by backporting patches from #363. I updated all Fedoras, but I have only F40, which is where I verified this works:

https://bodhi.fedoraproject.org/updates/FEDORA-2024-7fdb5f56e8

Closing. If the issue persists, please make sure you have the above version and open a new issue.

ricardobranco777 commented 2 months ago

This was resolved in Fedora by backporting patches from #363. I updated all Fedoras, but I have only F40, which is where I verified this works:

https://bodhi.fedoraproject.org/updates/FEDORA-2024-7fdb5f56e8

Closing. If the issue persists, please make sure you have the above version and open a new issue.

QSocketNotifier: Can only be used with threads started with QThread
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:131:5: Type ContentStack unavailable
qrc:/qml/ContentStack.qml:219:9: Type OtpYubiOtpView unavailable
qrc:/qml/OtpYubiOtpView.qml:160:17: Property value set multiple times
Segmentation fault (core dumped)
maksimsamt commented 2 months ago

This was resolved in Fedora by backporting patches from #363. I updated all Fedoras, but I have only F40, which is where I verified this works: https://bodhi.fedoraproject.org/updates/FEDORA-2024-7fdb5f56e8 Closing. If the issue persists, please make sure you have the above version and open a new issue.

QSocketNotifier: Can only be used with threads started with QThread
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:131:5: Type ContentStack unavailable
qrc:/qml/ContentStack.qml:219:9: Type OtpYubiOtpView unavailable
qrc:/qml/OtpYubiOtpView.qml:160:17: Property value set multiple times
Segmentation fault (core dumped)

The same issue on Fedora 40 (Kinoite).

rpm -qa yubikey-manager-qt
yubikey-manager-qt-1.2.5-6.fc40.x86_64
Jakuje commented 2 months ago

Ugh ... wondering what I tested then. Now I can reproduce the issue. Let me have a better look.

Jakuje commented 2 months ago

Updating Fedora now with one more change that I reported in #363, which was preventing the GUI to start up. And tested locally that it works ok now.

maksimsamt commented 2 months ago

Updating Fedora now with one more change that I reported in #363, which was preventing the GUI to start up. And tested locally that it works ok now.

Thank you! Now YubiKey Manager (ykman-gui) works in Fedora 40 (with the latest updates)

Jakuje commented 2 months ago

Thanks for verifying!