Bug 238323

Summary: [GTK4] UI process hang when opening HTML select elements (combo boxes)
Product: WebKit Reporter: Michael Catanzaro <mcatanzaro>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: alicem, bugs-noreply, cgarcia, contact, mcatanzaro
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=238361
Bug Depends on:    
Bug Blocks: 210100    

Description Michael Catanzaro 2022-03-24 07:49:06 PDT
I'm seeing very frequent UI process hangs when attempting to report bugs on this Bugzilla. The problem occurs when clicking on the select elements (combo boxes) next to the "Hardware" or "OS" fields when reporting bugs. (You'll notice I've left those at Unspecified to avoid triggering this bug.) The entire UI process hangs when clicking on the element.

The bug is not 100% reproducible, but you should be able to trigger it if you try a few times.
Comment 1 Carlos Garcia Campos 2022-03-24 08:46:53 PDT
Is this GTK4 only?
Comment 2 Michael Catanzaro 2022-03-24 09:33:27 PDT
Yes, this never happens with GTK 3.
Comment 3 Michael Catanzaro 2022-03-26 08:34:34 PDT
Another reproducer: try to give r+ to a patch on this Bugzilla.
Comment 4 Michael Catanzaro 2022-03-26 08:38:15 PDT
Checking with gdb, it looks like the UI process is just calling poll() when this happens, and hovering buttons in the Epiphany header bar triggers animations, so I don't think this is a traditional hang or deadlock where the UI process is totally unresponsive. However, it's not just web views that are busted: the buttons in the header bar don't do anything, so GTK itself is somehow broken.
Comment 5 Alice Mikhaylenko 2022-08-04 01:56:21 PDT
This looks like yet another instance of the bug behind https://gitlab.gnome.org/GNOME/gtk/-/issues/2877 or the one where gtk4-demo sidebar items remain pressed after double clicking

Basically, input is completely busted when another surface is spawned or destroyed in the middle of an event sequence - e.g. a click.
Comment 6 Alice Mikhaylenko 2022-09-02 07:02:14 PDT
Ok, so I can still reproduce it so apparently that wasn't it.
Comment 7 Alice Mikhaylenko 2022-09-07 07:14:18 PDT
*** Bug 240922 has been marked as a duplicate of this bug. ***
Comment 8 Alice Mikhaylenko 2022-09-07 07:16:20 PDT
Pull request: https://github.com/WebKit/WebKit/pull/4095
Comment 9 EWS 2022-09-07 08:50:54 PDT
Committed 254237@main (4e07bc369ad1): <https://commits.webkit.org/254237@main>

Reviewed commits have been landed. Closing PR #4095 and removing active labels.