On Tue, 14 May 2024 12:59:29 -0700
Thiago Macieira <thiago.macie...@intel.com> wrote:

> Assuming that Canonical did not patch libgdk,

Well, that is a very optimistic assumption:
http://archive.ubuntu.com/ubuntu/pool/main/g/gtk+3.0/gtk+3.0_3.24.33-1ubuntu2.1.debian.tar.xz

I see 24 pathes in there.

> this is stuck trying to 
> XInternAtom for "_GTK_EDGE_CONSTRAINTS", reacting to an xevent of
> type PropertyNotify.
> https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-3-24/gdk/x11/gdkdisplay-x11.c#L1068
> 
> I can't tell you why it's stuck. Why would the X server not send a
> reply to that?
> 

I don't know any reason for _GTK_EDGE_CONSTRAINTS exactly but generally
I saw reports X11 deliberately not answering to clients using GLX when
on another tty. I'm doubt that's the case here though given that it
doesn't hang with other patches. The only theory I can wrap my head of
is that querying RESOURCE_MANAGER property momentally after it changes
breaks X server somehow. I tried to queue reading the property in event
loop to delay it a bit in earlier versions of the patch, I also tried
replacing blocking wait for more bytes with event loop based approach,
none of which helped.

The only thing I haven't tried is delaying reading with a second or
something like that. Maybe that will make GTK doing its things before
Qt does and X server wouldn't react in such a way.

Although I remember that Liang Qi once reproduced it only with
`-sanitize address` (while it was ok without it for him, too). So
perhaps there's a chance ASAN breaks poll() in some way? And I guess
it's possible nothing will help then...
-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to