FS#66106 - [gtk3] Upgrading to gtk3-1:3.24.17 breaks Wofi and pinentry-gnome3

Attached to Project: Arch Linux
Opened by Daniel Gray (dngray) - Saturday, 04 April 2020, 01:42 GMT
Last edited by freswa (frederik) - Tuesday, 07 April 2020, 17:31 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Jan Alexander Steffens (heftig)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 8
Private No

Details

Steps to reproduce:

Upgrade to gtk3-1:3.24.17, staying on gtk3-1:3.24.16 seems to not have the issue.
This task depends upon

Closed by  freswa (frederik)
Tuesday, 07 April 2020, 17:31 GMT
Reason for closing:  Fixed
Additional comments about closing:  1:3.24.17+15+gdc79e07228-1
Comment by Doug Newgard (Scimmia) - Saturday, 04 April 2020, 03:13 GMT
What, exactly, is the issue?
Comment by Chris Vittal (chrisvittal) - Saturday, 04 April 2020, 04:22 GMT
I think I'm seeing this issue as well. When I attempt to use my password manager, pass, it invokes pinentry-gnome3. I think the issue might be widget allocation having issues. Here's what my system log says from the moment I invoke pass until I see it hang with no pinentry displayed.

Apr 04 00:19:15 arch dbus-daemon[4577]: [session uid=1000 pid=4577] Successfully activated service 'org.gnome.keyring.SystemPrompter'
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: acquired name: org.gnome.keyring.SystemPrompter
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: received BeginPrompting call from callback /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: preparing a prompt for callback /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: creating new GcrPromptDialog prompt
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: automatically selecting secret exchange protocol
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: generating public key
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: beginning the secret exchange: [sx-aes-1]\npublic=iBcZB1UTbKobzIt763Lhqjtj80CuiFDaf+t8pA5Kr4n44EcdlbtzXicRN9i2/3rT028xMRz8PQGuvCxwTzBRsx3Mo0e7eKlph4LKgvPeamArItqEF8Tox9hL7mkDF2fR0UUap/G4jRVuovnF6cjn7zvUhiB3gxQDSAgP80Nm+H3qlvw2T0wDyfsI+VuFDn6xFG1n8XLFaxM9ly2smK+BbASQ/Ej6q93AGCNQ6SFJw4i4VpOX6tMpJ8XtAbiKx+xX\n
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: calling the PromptReady method on /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: acquired name: org.gnome.keyring.PrivatePrompter
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: returned from the PromptReady method on /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: closing the prompt
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: stopping prompting for operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: couldn't find the callback for prompting operation /org/gnome/keyring/Prompt/p0@:1.45
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: calling the PromptDone method on /org/gnome/keyring/Prompt/p0@:1.45, and ignoring reply
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: received BeginPrompting call from callback /org/gnome/keyring/Prompt/p1@:1.49
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: preparing a prompt for callback /org/gnome/keyring/Prompt/p1@:1.49
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: creating new GcrPromptDialog prompt
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: automatically selecting secret exchange protocol
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: generating public key
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: beginning the secret exchange: [sx-aes-1]\npublic=uuGqtotrewvFXOb+tgUm+JOncQ9aAyrbProbFQfh8IkJOTB7vdHFTl+a/ROnlKHRPfJ9uQOv0JVP8XvLIF/Finc0pUYhYcOUNRn0mzrKh/dj+q91AqZfzrubjlyBswwekW5tHYhZQRRVUz4Z5Og+3lvVfaZBQBj1ybU3WMc6j2uBvETkFM42qN7Ny4n9qyHHyROtPDluiLO1r33U90P3mn+zrsWCWvtaJnwDW0eKABQK2F8fgdKy/RQUafBWv9Eb\n
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: calling the PromptReady method on /org/gnome/keyring/Prompt/p1@:1.49
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: returned from the PromptReady method on /org/gnome/keyring/Prompt/p1@:1.49
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: received PerformPrompt call from callback /org/gnome/keyring/Prompt/p1@:1.49
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: receiving secret exchange: [sx-aes-1]\npublic=BOvrHJmGswp+tXe4NgxuSM9NGBu9poawx3xcfnoWvMe+EKJfUaTQx7DttaNWrY8bL3YapirOt7tfB4pLvGaIFaVDGv6P0SGfIyxuMSI8BcR+L1BP+kRSnfQKS1bX73kYDrwNL4pxqolPjtkEmvRUZymK1lT+SALC6O6T8LcOc7Gmm0vANv3pyx5K2jp3NKjOJwv+f2+t+ihvB6gPxwOEbRyPaPaqEMlt/C5sI3ZAVkj83L9vE7Ab0zZxR/kblYsf\n
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: deriving shared transport key
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: deriving transport key
Apr 04 00:19:15 arch gcr-prompter[6722]: Gcr: starting password prompt for callback /org/gnome/keyring/Prompt/p1@:1.49
Apr 04 00:19:15 arch gcr-prompter[6722]: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height -3
Apr 04 00:19:15 arch gcr-prompter[6722]: gtk_widget_size_allocate(): attempt to allocate widget with width -11 and height 255
Apr 04 00:19:15 arch gcr-prompter[6722]: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height -3
Apr 04 00:19:15 arch gcr-prompter[6722]: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height -3
Apr 04 00:19:15 arch gcr-prompter[6722]: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height -3
Apr 04 00:19:15 arch gcr-prompter[6722]: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height -3

After downgrading, pass/gpg work as expected and I see no messages regarding gtk_widget_size_allocate
Comment by Chris Vittal (chrisvittal) - Saturday, 04 April 2020, 06:29 GMT
I believe this has been reported upstream. https://gitlab.gnome.org/GNOME/gtk/-/issues/2572
Comment by Jonas Witschel (diabonas) - Saturday, 04 April 2020, 10:22 GMT
The issue with wofi is indeed https://gitlab.gnome.org/GNOME/gtk/-/issues/2572 and can be fixed by the change suggested there by the bug reporter. The broken pinentry-gnome3 is a different problem broken by another commit, I submitted upstream issue https://gitlab.gnome.org/GNOME/gtk/-/issues/2574 for that.
Comment by Daenney (daenney) - Sunday, 05 April 2020, 13:22 GMT
Is there any way to pull 3.24.17, or add the patch from https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1633/diffs ? This will mostly impact people using a somewhat non-standard Wayland based desktop (like Sway). It affects Waybar for example too, which is now completely invisible.
Comment by Jonas Witschel (diabonas) - Sunday, 05 April 2020, 18:38 GMT
A fix for the other part this issue (i.e. broken pinentry-gnome3, gnome-keyring, zenity, ... dialogues) is available in https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1634, applying this as well should close this issue. I confirm that gtk3 1:3.24.17+4+g8c97702a07-1 fixes the first part of this issue (i.e. broken wofi, waybar, ... custom surfaces).
Comment by Daniel Gray (dngray) - Tuesday, 07 April 2020, 02:14 GMT
I can confirm, this seems fixed. I just upgraded gtk3 (1:3.24.16-1 -> 1:3.24.17+15+gdc79e07228-1)

Loading...