Bug 1949415 - Xwayland crashes when I open the context menu in xterm
Summary: Xwayland crashes when I open the context menu in xterm
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server-Xwayland
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Olivier Fourdan
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-04-14 08:47 UTC by Alexander Larsson
Modified: 2021-05-16 02:01 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-05-16 02:01:30 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
freedesktop.org Gitlab xorg xserver issues 1156 0 None None None 2021-04-14 09:34:17 UTC

Description Alexander Larsson 2021-04-14 08:47:49 UTC
I'm running F34 (xorg-x11-server-Xwayland-21.1.0-1.fc34.x86_64), and when I open the xterm context menu (ctrl-middle-click on xterm window) the Xwayland server dies. I'm using the nvdidia driver on top of the wayland gnome-shell.

Here is the crash:

Thread 2 (Thread 0x7ffb17c3a640 (LWP 8518) "EglStrmComm*141"):
#0  __libc_recv (flags=<optimized out>, len=56, buf=0x7ffb17c398a0, fd=33) at ../sysdeps/unix/sysv/linux/recv.c:28
#1  __libc_recv (fd=33, buf=0x7ffb17c398a0, len=56, flags=0) at ../sysdeps/unix/sysv/linux/recv.c:23
#2  0x00007ffb1b8cde63 in ?? () from /lib64/libEGL_nvidia.so.0
#3  0x00007ffb1b8cec14 in ?? () from /lib64/libEGL_nvidia.so.0
#4  0x00007ffb1b8c3e05 in ?? () from /lib64/libEGL_nvidia.so.0
#5  0x00007ffb1b910cce in ?? () from /lib64/libEGL_nvidia.so.0
#6  0x00007ffb1c391299 in start_thread (arg=0x7ffb17c3a640) at pthread_create.c:473
#7  0x00007ffb1c6336a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffb1bc14a00 (LWP 8424) "Xwayland"):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007ffb1c5598a4 in __GI_abort () at abort.c:79
#2  0x000055ff2573058c in OsAbort () at ../os/utils.c:1330
#3  0x000055ff2573086c in AbortServer () at ../os/log.c:879
#4  FatalError (f=0x55ff25779f7e "%s") at ../os/log.c:1017
#5  0x000055ff255fbf40 in xwl_log_handler (format=<optimized out>, args=<optimized out>) at ../hw/xwayland/xwayland.c:238
#6  0x00007ffb1cd60cca in wl_log (fmt=fmt@entry=0x7ffb1cd6629f "%s@%u: error %d: %s\n") at ../src/wayland-util.c:404
#7  0x00007ffb1cd611cb in display_handle_error (data=<optimized out>, display=0x55ff26349950, object=0x55ff26c10ce0, code=2, message=<optimized out>) at ../src/wayland-client.c:911
#8  0x00007ffb1c383c04 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#9  0x00007ffb1c383107 in ffi_call (cif=cif@entry=0x7ffc951d6f10, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7ffc951d6fe0) at ../src/x86/ffi64.c:525
#10 0x00007ffb1cd61d10 in wl_closure_invoke (closure=closure@entry=0x55ff2694f5f0, target=<optimized out>, target@entry=0x55ff26349950, opcode=opcode@entry=0, data=<optimized out>, flags=<optimized out>) at ../src/connection.c:1018
#11 0x00007ffb1cd6242b in dispatch_event (display=display@entry=0x55ff26349950, queue=<optimized out>, queue=<optimized out>) at ../src/wayland-client.c:1452
#12 0x00007ffb1cd625ef in dispatch_queue (queue=0x55ff26349a20, display=0x55ff26349950) at ../src/wayland-client.c:1591
#13 wl_display_dispatch_queue_pending (display=0x55ff26349950, queue=0x55ff26349a20) at ../src/wayland-client.c:1840
#14 0x00007ffb1cd62670 in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1903
#15 0x000055ff2560252b in xwl_read_events (xwl_screen=0x55ff262eaa10) at ../hw/xwayland/xwayland-screen.c:436
#16 xwl_read_events (xwl_screen=0x55ff262eaa10) at ../hw/xwayland/xwayland-screen.c:423
#17 0x000055ff25730111 in ospoll_wait (ospoll=0x55ff262df820, timeout=<optimized out>) at ../os/ospoll.c:657
#18 0x000055ff25667580 in WaitForSomething (are_ready=0) at ../os/WaitFor.c:208
#19 Dispatch () at ../dix/dispatch.c:438
#20 0x000055ff255f9e2b in dix_main (envp=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ../dix/main.c:271
#21 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../dix/stubmain.c:34

Comment 1 Alexander Larsson 2021-04-14 08:52:04 UTC
retrace here: https://retrace.fedoraproject.org/faf/reports/103848/

Comment 2 Olivier Fourdan 2021-04-14 09:14:09 UTC
This is not actually a crash but rather an Wayland error which leads to an abort (Wayland errors are always fatal):

#5  0x000055ff255fbf40 in xwl_log_handler (format=<optimized out>, args=<optimized out>) at ../hw/xwayland/xwayland.c:238
#6  0x00007ffb1cd60cca in wl_log (fmt=fmt@entry=0x7ffb1cd6629f "%s@%u: error %d: %s\n") at ../src/wayland-util.c:404
#7  0x00007ffb1cd611cb in display_handle_error (data=<optimized out>, display=0x55ff26349950, object=0x55ff26c10ce0, code=2, message=<optimized out>) at ../src/wayland-client.c:911

So that backtrace (and the retrace) are pretty much useless I'm afraid (other that telling this is a Wayland protocol error).

I would instead prefer to see the journalctl logs at the time of the abort (Xwayland messages should shows up as "gnome-shell", because gnome-shell spawns Xwayland), that should show the actual message posted by that wl_log() there.

Also, as stated (and as seen in the backtrace) you're using the NVidia closed source driver and hence the EGLStrem backend, is that reproducible with the GBM backend with open source drivers as well? Reason I ask is because I cannot reproduce here (and I use xterm quite often).

Comment 3 Alexander Larsson 2021-04-14 09:29:31 UTC
Before the crash:

gnome-shell[9855]: glamor: 'wl_drm' not supported
gnome-shell[9855]: Missing Wayland requirements for glamor GBM backend
gnome-shell[9855]: glamor: Using nvidia's EGLStream interface, direct rendering impossible.
gnome-shell[9855]: glamor: Performance may be affected. Ask your vendor to support GBM!
gnome-shell[9856]: The XKEYBOARD keymap compiler (xkbcomp) reports:
gnome-shell[9856]: > Warning:          Could not resolve keysym XF86FullScreen
gnome-shell[9856]: Errors from xkbcomp are not fatal to the X server
gnome-shell[9858]: The XKEYBOARD keymap compiler (xkbcomp) reports:
gnome-shell[9858]: > Warning:          Unsupported maximum keycode 569, clipping.
gnome-shell[9858]: >                   X11 cannot support keycodes above 255.
gnome-shell[9858]: > Warning:          Could not resolve keysym XF86FullScreen
gnome-shell[9858]: Errors from xkbcomp are not fatal to the X server
gnome-shell[2358]: Source ID 61318 was not found when attempting to remove it

After opening the menu:

gnome-shell[9855]: (EE) glamor0: GL error: GL_INVALID_OPERATION error generated.
gnome-shell[9855]: (EE) glamor0: GL error: GL_INVALID_FRAMEBUFFER_OPERATION error generated. Operation is not valid because a bound framebuffer is not framebuffer complete.
gnome-shell[2358]: Could not import pending buffer: Unknown buffer type
gnome-shell[2358]: WL: error in client communication (pid 2358)
gnome-shell[9855]: (EE)
gnome-shell[9855]: Fatal server error:
gnome-shell[9855]: (EE) wl_surface@42: error 2: Failed to attach buffer to surface 42: Unknown buffer type
gnome-shell[9855]: (EE)
gnome-shell[2358]: Connection to xwayland lost
gnome-shell[2358]: Xwayland just died, attempting to recover
gnome-shell[2358]: X Wayland crashed; attempting to recover

I've not tried with the GBM backend, but could not reproduce on my intel laptop. That, combined with the above seems to say that this is some form of nvidia driver issue.

Comment 4 Alexander Larsson 2021-04-14 09:32:50 UTC
For the record, this is nvidia kernel driver version:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  460.67  Thu Mar 11 00:11:45 UTC 2021
GCC version:  gcc version 11.0.1 20210405 (Red Hat 11.0.1-0) (GCC)

Comment 5 Olivier Fourdan 2021-04-14 09:33:16 UTC
> I've not tried with the GBM backend, but could not reproduce on my intel laptop. That, combined with the above seems to say that this is some form of nvidia driver issue.

Nevermind, this is a dupe of bug 1943936

Would you be willing to test some more test builds for me, which would log debugging statements? (I do not have any nvidia hardware at hand here)

Comment 6 Alexander Larsson 2021-04-14 09:37:08 UTC
Sure, just point me at them and I'll try them.

Comment 7 Olivier Fourdan 2021-04-14 13:11:29 UTC
FTR, what happens here is that when we get to use the EGLStream, the stream is not in a valid state anymore, it got disconnected.

But I do not know yet why that is, which part gets the stream disconnected (Xwayland itself, the Wayland compositor or maybe some other issue in EGLStream), so the build here is mostly to log what is going on, it won't fix anything:

https://koji.fedoraproject.org/koji/taskinfo?taskID=65915941

The idea would be for you to install that build, reproduce the issue and post the content of journalctl which hopefully might give some hint of what is going on (eg. if this is Xwayland itself closing the stream by mistake).

TIA!

Comment 8 Alexander Larsson 2021-04-14 13:25:27 UTC
So, with that rpm I don't get a crash, but when i update I get:

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x600083/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x600083/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x60008a/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x60008a/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x600087/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x600087/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=0x55a72569c330
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=0x55a72569c330
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x800043/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x800043/xwl_pixmap=(nil)
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a724f456f0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x0/xwl_pixmap=0x55a724f456f0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=0x55a724f456f0
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: removing stream for xwl_pixmap=0x55a724f456f0
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: pending stream 0x55a725604350 for xwl_pixmap=0x55a724f456f0 removed
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a724f456f0
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a725604350
eglstream: xwl_eglstream_consumer_ready_callback: Stream disconnected for pixmap=0x0/xwl_pixmap=0x55a725604350, trying to recover...
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a725604350
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55a7255fc250 for xwl_pixmap=0x55a725604350 removed
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a7253c91e0
eglstream: xwl_eglstream_consumer_ready_callback: Stream disconnected for pixmap=0x0/xwl_pixmap=0x55a7253c91e0, trying to recover...
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a7253c91e0
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55a725604350 for xwl_pixmap=0x55a7253c91e0 removed
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a7255fb3e0
eglstream: xwl_eglstream_consumer_ready_callback: Stream disconnected for pixmap=0x0/xwl_pixmap=0x55a7255fb3e0, trying to recover...
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a7255fb3e0
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55a725604350 for xwl_pixmap=0x55a7255fb3e0 removed
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a7255f74e0
eglstream: xwl_eglstream_consumer_ready_callback: Stream disconnected for pixmap=0x0/xwl_pixmap=0x55a7255f74e0, trying to recover...
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a7255f74e0
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55a725604350 for xwl_pixmap=0x55a7255f74e0 removed
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a725594e70
eglstream: xwl_eglstream_consumer_ready_callback: Stream disconnected for pixmap=0x0/xwl_pixmap=0x55a725594e70, trying to recover...
<loop here>
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a725665d60
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55a725594e70 for xwl_pixmap=0x55a725665d60 removed
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a725665d60
eglstream: xwl_eglstream_consumer_ready_callback: Stream disconnected for pixmap=0x0/xwl_pixmap=0x55a725665d60, trying to recover...
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a725665d60
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55a725594e70 for xwl_pixmap=0x55a725665d60 removed
eglstream: xwl_eglstream_queue_pending_stream: win 8388693 begins new eglstream for pixmap=0x0/xwl_pixmap=0x55a725665d60
eglstream: xwl_eglstream_consumer_ready_callback: Failed to create EGLSurface for pixmap=0x0/xwl_pixmap=0x55a725665d60
eglstream: error 0x321C: EGL_BAD_STATE_KHR
eglstream: stream state 0x321A: EGL_STREAM_STATE_DISCONNECTED_KHR
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x0/xwl_pixmap=0x55a725665d60 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=0x55a725665d60
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: removing stream for xwl_pixmap=0x55a725665d60
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: pending stream 0x55a725594e70 for xwl_pixmap=0x55a725665d60 removed
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55a725665d60
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x0/xwl_pixmap=(nil)

Comment 9 Alexander Larsson 2021-04-14 13:26:11 UTC
Where <loop here> is many many iterations of the same retry.

Comment 10 Olivier Fourdan 2021-04-14 14:19:11 UTC
Thanks! I think I may have an idea why that happens.

Comment 11 Olivier Fourdan 2021-04-14 15:52:51 UTC
Can you please give this build a try:

https://koji.fedoraproject.org/koji/taskinfo?taskID=65925581

and post the logs?

Comment 12 Alexander Larsson 2021-04-14 16:54:43 UTC
Hmm, what used to crash (ctrl-middleclick) now doesn't and gave me this:

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b2c0510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b2c0510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b82f1a0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b82f1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b2c0510/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x55602b87bc90/xwl_pixmap=0x55602b86f5a0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x55602b883010/xwl_pixmap=0x55602b86f5a0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b87bc90/xwl_pixmap=0x55602b86f5a0 refcnt=1
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: removing stream for xwl_pixmap=0x55602b86f5a0
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: pending stream 0x55602b839df0 for xwl_pixmap=0x55602b86f5a0 removed
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55602b86f5a0
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x55602b883010/xwl_pixmap=0x55602b839df0
eglstream: xwl_eglstream_consumer_ready_callback: Failed to create EGLSurface for pixmap=0x55602b883010/xwl_pixmap=0x55602b839df0
eglstream: error 0x321C: EGL_BAD_STATE_KHR
eglstream: stream state 0x321A: EGL_STREAM_STATE_DISCONNECTED_KHR
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x55602b2c0280/xwl_pixmap=0x55602b839df0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b883010/xwl_pixmap=0x55602b839df0 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b87fef0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b880030/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b880030/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b880030/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b880030/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b880030/xwl_pixmap=(nil) refcnt=1

But, after that I tried to bring up the menus a bit more times and got:


eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602bc18cb0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602bc2e670/xwl_pixmap=0x55602bbc2df0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602bc657f0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602bc2e670/xwl_pixmap=0x55602bbc2df0 refcnt=3
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x55602bbcac60/xwl_pixmap=0x55602b839df0 now invalid
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x55602bbcac60/xwl_pixmap=0x55602bbf4200
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x55602bbdb1b0/xwl_pixmap=0x55602bbf4200 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602bbcac60/xwl_pixmap=0x55602bbf4200 refcnt=2
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x55602bbdb1b0/xwl_pixmap=0x55602bc18e10
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x55602bbcac60/xwl_pixmap=0x55602bbf4200 was invalidated
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602bbcac60/xwl_pixmap=0x55602bbf4200 refcnt=1
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: removing stream for xwl_pixmap=0x55602bbf4200
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: pending stream 0x55602bc5ca10 for xwl_pixmap=0x55602bbf4200 removed
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x55602bbf4200
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xwayland (0x55602955d000+0x165189) [0x5560296c2189]
(EE) 1: /usr/bin/Xwayland (0x55602955d000+0x165292) [0x5560296c2292]
(EE) 2: /lib64/libc.so.6 (0x7faed1d95000+0x3d310) [0x7faed1dd2310]
(EE) 3: /usr/bin/Xwayland (0x55602955d000+0x4ebfd) [0x5560295abbfd]
(EE) 4: /lib64/libffi.so.6 (ffi_call_unix64+0x4c) [0x7faed1be5c04]
(EE) 5: /lib64/libffi.so.6 (ffi_call+0x1d7) [0x7faed1be5107]
(EE) 6: /lib64/libwayland-client.so.0 (0x7faed25bd000+0x6d10) [0x7faed25c3d10]
(EE) 7: /lib64/libwayland-client.so.0 (0x7faed25bd000+0x742b) [0x7faed25c442b]
(EE) 8: /lib64/libwayland-client.so.0 (wl_display_dispatch_queue_pending+0x7c) [0x7faed25c461c]
(EE) 9: /usr/bin/Xwayland (0x55602955d000+0x3f55b) [0x55602959c55b]
(EE) 10: /usr/bin/Xwayland (0x55602955d000+0x16d8d1) [0x5560296ca8d1]
(EE) 11: /usr/bin/Xwayland (0x55602955d000+0xa4ad0) [0x556029601ad0]
(EE) 12: /usr/bin/Xwayland (0x55602955d000+0x36e39) [0x556029593e39]
(EE) 13: /lib64/libc.so.6 (__libc_start_main+0xd5) [0x7faed1dbcb75]
(EE) 14: /usr/bin/Xwayland (0x55602955d000+0x3857e) [0x55602959557e]
(EE)
(EE) Segmentation fault at address 0x8ced
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
Process 4823 (Xwayland) of user 1000 dumped core.

Stack trace of thread 4823:
#0  0x00007faed1dd2292 __GI_raise (libc.so.6 + 0x3d292)
#1  0x00007faed1dbb8a4 __GI_abort (libc.so.6 + 0x268a4)
#2  0x00005560296cad4c OsAbort (Xwayland + 0x16dd4c)
#3  0x00005560296cb02c FatalError (Xwayland + 0x16e02c)
#4  0x00005560296c22f4 OsSigHandler.lto_priv.0 (Xwayland + 0x1652f4)
#5  0x00007faed1dd2310 __restore_rt (libc.so.6 + 0x3d310)
#6  0x00005560295abbfd xwl_eglstream_consumer_ready_callback (Xwayland + 0x4ebfd)
#7  0x00007faed1be5c04 ffi_call_unix64 (libffi.so.6 + 0x6c04)
#8  0x00007faed1be5107 ffi_call (libffi.so.6 + 0x6107)
#9  0x00007faed25c3d10 wl_closure_invoke (libwayland-client.so.0 + 0x6d10)
#10 0x00007faed25c442b dispatch_event (libwayland-client.so.0 + 0x742b)
#11 0x00007faed25c461c wl_display_dispatch_queue_pending (libwayland-client.so.0 + 0x761c)
#12 0x000055602959c55b xwl_read_events (Xwayland + 0x3f55b)
#13 0x00005560296ca8d1 ospoll_wait (Xwayland + 0x16d8d1)
#14 0x0000556029601ad0 Dispatch (Xwayland + 0xa4ad0)
#15 0x0000556029593e39 main (Xwayland + 0x36e39)
#16 0x00007faed1dbcb75 __libc_start_main (libc.so.6 + 0x27b75)
#17 0x000055602959557e _start (Xwayland + 0x3857e)

Stack trace of thread 4948:
#0  0x00007faed1e96b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007faed112fe63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007faed1130c14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007faed1125e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007faed1172cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007faed1bf3299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007faed1e956a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 5151:
#0  0x00007faed1e96b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007faed112fe63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007faed1130c14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007faed1125e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007faed1172cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007faed1bf3299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007faed1e956a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 5145:
#0  0x00007faed1e96b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007faed112fe63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007faed1130c14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007faed1125e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007faed1172cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007faed1bf3299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007faed1e956a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 5170:
#0  0x00007faed1e96b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007faed112fe63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007faed1130c14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007faed1125e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007faed1172cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007faed1bf3299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007faed1e956a3 __clone (libc.so.6 + 0x1006a3)
Connection to xwayland lost
Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.
Xwayland just died, attempting to recover
X Wayland crashed; attempting to recover
Using public X11 display :0, (using :1 for managed services)
Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked and the JS callback not invoked.
== Stack trace for context 0x55c3f4c071d0 ==
== Stack trace for context 0x55c3f4c071d0 ==
== Stack trace for context 0x55c3f4c071d0 ==
== Stack trace for context 0x55c3f4c071d0 ==
...

at this point gnome-shell is locked up and just shows black (but the machine lives fine via a remote login).

Comment 13 Olivier Fourdan 2021-04-15 07:06:20 UTC
Oh, I know it may sound surprising, but I believe we're on the right track here, only if I was paying more attention…

FTR, we want to keep the EGLStream around until it's released by the compositor, even when the X11 window content changes which invalidates the window pixmap.

That part was (mistakenly, I reckon) dropped with a patch in master/xwayland-21.x and I reason to believe this is the root cause of the issue here, so my fix is to increase the refcount on the pixmap so it's kept around along with the EGLStream until released.

But the logs clearly show the problem with my fix:

eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x55602b87bc90/xwl_pixmap=0x55602b86f5a0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x55602b883010/xwl_pixmap=0x55602b86f5a0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55602b87bc90/xwl_pixmap=0x55602b86f5a0 refcnt=1

Notice how the xwl_pixmap is the same but the pixmap is different? That's because my patch increases the refcount on the pixmap in xwl_eglstream_set_window_pixmap() but that pixmap there is the *new* one, whereas we want to keep a reference on the *old* one, so it increases the refcount on the wrong pixmap there <facepalm>. That explains why the pixmaps show high values in refcount (hence leaks) but the issue still occurs, well, because the old pixmap is still discarded too early.

So, ahummm, long story short, mind giving this new build a try…?

https://koji.fedoraproject.org/koji/taskinfo?taskID=65969672

(and also provide the logs, well, as usual).

Comment 14 Alexander Larsson 2021-04-15 07:29:19 UTC
xterm menu now crashed Xwayland immediately:

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd149d70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd137660/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd149d70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd137660/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd149d70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd149d70/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd149d70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd155240/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd155240/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fcf459e0/xwl_pixmap=0x5638fd14a8f0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fcf459e0/xwl_pixmap=0x5638fd14a8f0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd0c6a50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd137130/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd0c6a50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd137130/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fca75510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fca75510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fcd75e30/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fcd75e30/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fca75510/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x5638fd0b6f60/xwl_pixmap=0x5638fcd26dc0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x5638fd0b6f60/xwl_pixmap=0x5638fcd26dc0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd0b6f60/xwl_pixmap=0x5638fcd26dc0 refcnt=2
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x5638fd0c2830/xwl_pixmap=0x5638fd1299e0
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x5638fd0b6f60/xwl_pixmap=0x5638fcd26dc0 was invalidated
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5638fd0b6f60/xwl_pixmap=0x5638fcd26dc0 refcnt=1
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: removing stream for xwl_pixmap=0x5638fcd26dc0
eglstream: xwl_glamor_eglstream_del_pending_stream_cb: pending stream 0x5638fcd75e50 for xwl_pixmap=0x5638fcd26dc0 removed
eglstream: xwl_eglstream_unref_pixmap_stream: destroying stream for xwl_pixmap=0x5638fcd26dc0
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xwayland (0x5638fbd7e000+0x165179) [0x5638fbee3179]
(EE) 1: /usr/bin/Xwayland (0x5638fbd7e000+0x165282) [0x5638fbee3282]
(EE) 2: /lib64/libc.so.6 (0x7f21d9f91000+0x3d310) [0x7f21d9fce310]
(EE) 3: /usr/bin/Xwayland (0x5638fbd7e000+0x4ebf7) [0x5638fbdccbf7]
(EE) 4: /lib64/libffi.so.6 (ffi_call_unix64+0x4c) [0x7f21d9de1c04]
(EE) 5: /lib64/libffi.so.6 (ffi_call+0x1d7) [0x7f21d9de1107]
(EE) 6: /lib64/libwayland-client.so.0 (0x7f21da7b9000+0x6d10) [0x7f21da7bfd10]
(EE) 7: /lib64/libwayland-client.so.0 (0x7f21da7b9000+0x742b) [0x7f21da7c042b]
(EE) 8: /lib64/libwayland-client.so.0 (wl_display_dispatch_queue_pending+0x7c) [0x7f21da7c061c]
(EE) 9: /usr/bin/Xwayland (0x5638fbd7e000+0x3f55b) [0x5638fbdbd55b]
(EE) 10: /usr/bin/Xwayland (0x5638fbd7e000+0x16d8c1) [0x5638fbeeb8c1]
(EE) 11: /usr/bin/Xwayland (0x5638fbd7e000+0xa4ac0) [0x5638fbe22ac0]
(EE) 12: /usr/bin/Xwayland (0x5638fbd7e000+0x36e39) [0x5638fbdb4e39]
(EE) 13: /lib64/libc.so.6 (__libc_start_main+0xd5) [0x7f21d9fb8b75]
(EE) 14: /usr/bin/Xwayland (0x5638fbd7e000+0x3857e) [0x5638fbdb657e]
(EE)
(EE) Segmentation fault at address 0x0
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
[🡕] Process 7276 (Xwayland) of user 1000 dumped core.

Stack trace of thread 7276:
#0  0x00007f21d9fce292 __GI_raise (libc.so.6 + 0x3d292)
#1  0x00007f21d9fb78a4 __GI_abort (libc.so.6 + 0x268a4)
#2  0x00005638fbeebd3c OsAbort (Xwayland + 0x16dd3c)
#3  0x00005638fbeec01c FatalError (Xwayland + 0x16e01c)
#4  0x00005638fbee32e4 OsSigHandler.lto_priv.0 (Xwayland + 0x1652e4)
#5  0x00007f21d9fce310 __restore_rt (libc.so.6 + 0x3d310)
#6  0x00005638fbdccbf7 xwl_eglstream_consumer_ready_callback (Xwayland + 0x4ebf7)
#7  0x00007f21d9de1c04 ffi_call_unix64 (libffi.so.6 + 0x6c04)
#8  0x00007f21d9de1107 ffi_call (libffi.so.6 + 0x6107)
#9  0x00007f21da7bfd10 wl_closure_invoke (libwayland-client.so.0 + 0x6d10)
#10 0x00007f21da7c042b dispatch_event (libwayland-client.so.0 + 0x742b)
#11 0x00007f21da7c061c wl_display_dispatch_queue_pending (libwayland-client.so.0 + 0x761c)
#12 0x00005638fbdbd55b xwl_read_events (Xwayland + 0x3f55b)
#13 0x00005638fbeeb8c1 ospoll_wait (Xwayland + 0x16d8c1)
#14 0x00005638fbe22ac0 Dispatch (Xwayland + 0xa4ac0)
#15 0x00005638fbdb4e39 main (Xwayland + 0x36e39)
#16 0x00007f21d9fb8b75 __libc_start_main (libc.so.6 + 0x27b75)
#17 0x00005638fbdb657e _start (Xwayland + 0x3857e)

Stack trace of thread 7369:
#0  0x00007f21da092b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007f21d932be63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007f21d932cc14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007f21d9321e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007f21d936ecce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007f21d9def299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007f21da0916a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 7412:
#0  0x00007f21da092b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007f21d932be63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007f21d932cc14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007f21d9321e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007f21d936ecce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007f21d9def299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007f21da0916a3 __clone (libc.so.6 + 0x1006a3)
Connection to xwayland lost
Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.
Xwayland just died, attempting to recover
X Wayland crashed; attempting to recover
Using public X11 display :0, (using :1 for managed services)

Comment 15 Alexander Larsson 2021-04-15 07:32:24 UTC
It would be awesome if we had a printf debugging helper that converted %p into "<ptr n>" or something where n was an incrementing number unique to that particular pointer value out of the set that was ever printed... Would make logs more reproducible/diffable and easier to spot issues like this.

Comment 16 Alexander Larsson 2021-04-15 07:34:33 UTC
FTR, this latest version also makes emacs-x11 crash Xwayland on startup, in a similar way to the above.

Comment 17 Olivier Fourdan 2021-04-15 07:51:58 UTC
sigh, I actually had hopes in that one…

Comment 18 Olivier Fourdan 2021-04-15 09:36:17 UTC
Can you please give this build a try:

https://koji.fedoraproject.org/koji/taskinfo?taskID=65975728

Comment 19 Alexander Larsson 2021-04-15 10:28:15 UTC
Sorry:

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a14e510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a14e510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a898ba0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a898ba0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a924bf0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a924bf0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a886610/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a924bf0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a924bf0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a924bf0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a924bf0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a898ba0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a898ba0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a14e510/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x55ea1a905c20/xwl_pixmap=0x55ea1a93c0b0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x55ea1a905c20/xwl_pixmap=0x55ea1a93c0b0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a905c20/xwl_pixmap=0x55ea1a93c0b0 refcnt=2
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x55ea1a8f08c0/xwl_pixmap=0x55ea1a8fb040
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55ea1a717390/xwl_pixmap=0x55ea1a91af30 refcnt=3
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x55ea1a905c20/xwl_pixmap=0x55ea1a93c0b0 was invalidated
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xwayland (0x55ea195fd000+0x165159) [0x55ea19762159]
(EE) 1: /usr/bin/Xwayland (0x55ea195fd000+0x165262) [0x55ea19762262]
(EE) 2: /lib64/libc.so.6 (0x7fc885834000+0x3d310) [0x7fc885871310]
(EE) 3: /usr/bin/Xwayland (0x55ea195fd000+0x4ec45) [0x55ea1964bc45]
(EE) 4: /lib64/libffi.so.6 (ffi_call_unix64+0x4c) [0x7fc885684c04]
(EE) 5: /lib64/libffi.so.6 (ffi_call+0x1d7) [0x7fc885684107]
(EE) 6: /lib64/libwayland-client.so.0 (0x7fc88605c000+0x6d10) [0x7fc886062d10]
(EE) 7: /lib64/libwayland-client.so.0 (0x7fc88605c000+0x742b) [0x7fc88606342b]
(EE) 8: /lib64/libwayland-client.so.0 (wl_display_dispatch_queue_pending+0x7c) [0x7fc88606361c]
(EE) 9: /usr/bin/Xwayland (0x55ea195fd000+0x3f55b) [0x55ea1963c55b]
(EE) 10: /usr/bin/Xwayland (0x55ea195fd000+0x16d8a1) [0x55ea1976a8a1]
(EE) 11: /usr/bin/Xwayland (0x55ea195fd000+0xa4aa0) [0x55ea196a1aa0]
(EE) 12: /usr/bin/Xwayland (0x55ea195fd000+0x36e39) [0x55ea19633e39]
(EE) 13: /lib64/libc.so.6 (__libc_start_main+0xd5) [0x7fc88585bb75]
(EE) 14: /usr/bin/Xwayland (0x55ea195fd000+0x3857e) [0x55ea1963557e]
(EE)
(EE) Segmentation fault at address 0x55ef44293e03
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
[🡕] Process 20015 (Xwayland) of user 1000 dumped core.

Stack trace of thread 20015:
#0  0x00007fc885871292 __GI_raise (libc.so.6 + 0x3d292)
#1  0x00007fc88585a8a4 __GI_abort (libc.so.6 + 0x268a4)
#2  0x000055ea1976ad1c OsAbort (Xwayland + 0x16dd1c)
#3  0x000055ea1976affc FatalError (Xwayland + 0x16dffc)
#4  0x000055ea197622c4 OsSigHandler.lto_priv.0 (Xwayland + 0x1652c4)
#5  0x00007fc885871310 __restore_rt (libc.so.6 + 0x3d310)
#6  0x000055ea1964bc45 xwl_eglstream_consumer_ready_callback (Xwayland + 0x4ec45)
#7  0x00007fc885684c04 ffi_call_unix64 (libffi.so.6 + 0x6c04)
#8  0x00007fc885684107 ffi_call (libffi.so.6 + 0x6107)
#9  0x00007fc886062d10 wl_closure_invoke (libwayland-client.so.0 + 0x6d10)
#10 0x00007fc88606342b dispatch_event (libwayland-client.so.0 + 0x742b)
#11 0x00007fc88606361c wl_display_dispatch_queue_pending (libwayland-client.so.0 + 0x761c)
#12 0x000055ea1963c55b xwl_read_events (Xwayland + 0x3f55b)
#13 0x000055ea1976a8a1 ospoll_wait (Xwayland + 0x16d8a1)
#14 0x000055ea196a1aa0 Dispatch (Xwayland + 0xa4aa0)
#15 0x000055ea19633e39 main (Xwayland + 0x36e39)
#16 0x00007fc88585bb75 __libc_start_main (libc.so.6 + 0x27b75)
#17 0x000055ea1963557e _start (Xwayland + 0x3857e)

Stack trace of thread 20108:
#0  0x00007fc885935b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007fc884bcee63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007fc884bcfc14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007fc884bc4e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007fc884c11cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007fc885692299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007fc8859346a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 20145:
#0  0x00007fc885935b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007fc884bcee63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007fc884bcfc14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007fc884bc4e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007fc884c11cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007fc885692299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007fc8859346a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 20146:
#0  0x00007fc885935b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007fc884bcee63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007fc884bcfc14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007fc884bc4e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007fc884c11cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007fc885692299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007fc8859346a3 __clone (libc.so.6 + 0x1006a3)
Connection to xwayland lost
Window manager warning: META_CURRENT_TIME used to choose focus window; focus window may not be correct.
Xwayland just died, attempting to recover
X Wayland crashed; attempting to recover

Comment 20 Alexander Larsson 2021-04-15 10:58:17 UTC
Just for fun I made a unique pointer printf formatter:

https://gist.github.com/alexlarsson/e50260525b866d54896a2fbc57aad6e8

Just call unique_pointer_printf_init() and use %P as formater to g_print/printf (assumes glibc printf).

Comment 21 Alexander Larsson 2021-04-15 10:59:49 UTC
IE:
  printf ("p: '%-20p' '%20p' %p\n", &a, &b, &c);
  printf ("P: '%-20P' '%20P' %P\n", &a, &b, &c);
  printf ("P: '%-20P' '%20P' %P\n", &a, &b, &c);

Prints:

p: '0x7ffea11ec40f      ' '      0x7ffea11ec40e' 0x7ffea11ec40d
P: '0u1                 ' '                 0u2' 0u3
P: '0u1                 ' '                 0u2' 0u3

Comment 22 Olivier Fourdan 2021-04-15 11:17:42 UTC
It crashes in dixDestroyPixmap() now

Comment 23 Olivier Fourdan 2021-04-15 11:19:53 UTC
Oh sigh, I'm bloody stoopid!

Comment 24 Olivier Fourdan 2021-04-15 11:36:52 UTC
Yikes, does it help if I don't try to use data after it's freed…?

https://koji.fedoraproject.org/koji/taskinfo?taskID=65983417

Comment 25 Alexander Larsson 2021-04-15 12:11:09 UTC
No more crashes, but I don't get a context menu:

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x562089f05510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e5ea0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e5ea0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6bd050/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e4910/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e4910/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6bd050/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e4910/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e4910/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6e4910/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6db150/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6db150/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a4cc9f0/xwl_pixmap=0x56208a6c7f80 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a4cc9f0/xwl_pixmap=0x56208a6c7f80 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6bd0a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a654540/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a654540/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6bd0a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x562089f05510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x562089f05510/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a654540/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a654540/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x562089f05510/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 refcnt=2
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x56208a6ade80/xwl_pixmap=0x56208a6a7250
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 was invalidated
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending: removing stream for xwl_pixmap=0x56208a64f2f0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x56208a64f2f0
EGLStream: Framebuffer incomplete 0x8219, not posting damage
glamor: Failed to post damage
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x56208a63c200 for pixmap=0x56208a6ade80/xwl_pixmap=0x56208a6a7250 removed
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a6ade80/xwl_pixmap=0x56208a6a7250 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending: removing stream for xwl_pixmap=0x56208a6a7250
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x56208a6a7250
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a63c200/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a63bfa0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a63bfa0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a63bfa0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a63bfa0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a63bfa0/xwl_pixmap=(nil) refcnt=1
...

Comment 26 Alexander Larsson 2021-04-15 12:13:57 UTC
Actually not true. I get a context menu, but its not rendered. I can ctrl-right-drag-release and change the font size. I just have to do it blindly, because nothing changes on the screen.

Comment 27 Olivier Fourdan 2021-04-15 12:26:04 UTC
So… That part:

eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 refcnt=2

eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x56208a6ade80/xwl_pixmap=0x56208a6a7250

eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 was invalidated
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56208a64d400/xwl_pixmap=0x56208a64f2f0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending: removing stream for xwl_pixmap=0x56208a64f2f0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x56208a64f2f0

…works as intended, the window pixmap got changed before we had a chance to use the stream, the pixmap and the stream are kept until released, where it eventually gets all destroyed, no fuss, no more drama.

And then that occurs:

EGLStream: Framebuffer incomplete 0x8219, not posting damage
glamor: Failed to post damage

0x8219 is GL_FRAMEBUFFER_UNDEFINED.

We're not posting damage, so no wonder the window doesn't show anything.

Comment 28 Olivier Fourdan 2021-04-15 15:00:59 UTC
Right, the reason for this is quite obvious, actually.

To tell whether it can post damage, xwayland uses the xwl_glamor_eglstream_post_damage() which will look for an existing pending and its validity, and return TRUE (ie. it is OK to post damage) if there is an xwl_pixmap and there is no pending for it.

Now, that logic hasn't changed. But we have not tied the xwl_pixmap with the x11 pixmap.

Anyway, mind giving this new build a try:

https://koji.fedoraproject.org/koji/taskinfo?taskID=65998416

Note it may break completely, get you a complete black screen, or worse... (I know, that sounds very encouraging).

Comment 29 Alexander Larsson 2021-04-15 15:46:58 UTC
It kinda works, but the damage tracking still seem off. The inital menu shows up completely. However, once i start navigating the menu it starts flickering badly, sometimes not updating the region.

Like so: https://share.icloud.com/photos/0ToLZ8aya4USI71HsQeGE6IEw

Logs:

< pop up menu>

eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x558538220d20/xwl_pixmap=(nil) window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00 pending valid=1
eglstream: xwl_eglstream_set_window_pixmap: win 0x800055 changes, pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00 refcnt=2
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x55853889a120/xwl_pixmap=(nil) window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 interrupts and replaces pending eglstream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00 was invalidated
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x558538220d20/xwl_pixmap=0x5585389dfa00 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending: removing stream for xwl_pixmap=0x5585389dfa00
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x5585389dfa00
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=(nil)
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x5585389362a0 for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671

<mouse over menu>

eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 surface=0x5585398de671
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853824d640/xwl_pixmap=(nil) refcnt=20
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853824d640/xwl_pixmap=(nil) refcnt=19
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853889a120/xwl_pixmap=0x5585384fd5f0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending: removing stream for xwl_pixmap=0x5585384fd5f0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x5585384fd5f0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x558538900a70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5585389076b0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55853897c160/xwl_pixmap=(nil) refcnt=1

Comment 30 Olivier Fourdan 2021-04-16 09:27:35 UTC
Right I think all our trouble here come from the removal of the separate ref counter for the EGLStream xwl_pixmap.

Previously, we would have pending streams associated with top level X11 windows, keeping temporary accounting for the pending streams before they get fully initialized for the xwl_pixmap which would be associated with X11 pixmaps.

If the window content changes before the stream is ready, the corresponding pending stream would be marked as invalid and the pending stream would be eventually removed once the stream becomes ready.

Since commit affc47452 - "xwayland: Drop the separate refcount for the xwl_pixmap", we no longer keep a separate reference counter for the xwl_pixmap, but rather tie it to the X11 pixmap lifespan. Yet, the pending stream would still be associated with the X11 toplevel window and I think this is what is causing confusion.

I think we should instead just tie the xwl_pixmap with the pixmap, and the pending stream with the xwl_pixmap. That sounds more logical, now that we don't keep a separate refcounting for the xwl_pixmap.

Alex, if I may, would you mind giving this new build a try:

https://koji.fedoraproject.org/koji/taskinfo?taskID=66052822

(Note, if that still fails, I'll probably have to wait for the hardware here, I mean, debugging without being able to test myself does not really scale, I think this is fairly complex as it is).

Comment 31 Alexander Larsson 2021-04-16 11:42:12 UTC
Crashes when i start xterm:

glamor: 'wl_drm' not supported
Missing Wayland requirements for glamor GBM backend
glamor: Using nvidia's EGLStream interface, direct rendering impossible.
glamor: Performance may be affected. Ask your vendor to support GBM!
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffc27c10/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffc27ab0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffc27f20/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffc27df0/xwl_pixmap=(nil) refcnt=1
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported maximum keycode 569, clipping.
>                   X11 cannot support keycodes above 255.
> Warning:          Could not resolve keysym XF86FullScreen
Errors from xkbcomp are not fatal to the X server
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffb8e680/xwl_pixmap=(nil) refcnt=4
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffb8e680/xwl_pixmap=(nil) refcnt=4
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffb8e680/xwl_pixmap=(nil) refcnt=4
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffb8e680/xwl_pixmap=(nil) refcnt=4
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffb8e680/xwl_pixmap=(nil) refcnt=5
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffe38280/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5639ffe38280/xwl_pixmap=(nil) refcnt=1
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xwayland (0x5639fdfaf000+0x165079) [0x5639fe114079]
(EE) 1: /usr/bin/Xwayland (0x5639fdfaf000+0x165182) [0x5639fe114182]
(EE) 2: /lib64/libc.so.6 (0x7fec1cb92000+0x3d310) [0x7fec1cbcf310]
(EE) 3: /usr/bin/Xwayland (0x5639fdfaf000+0x4dd18) [0x5639fdffcd18]
(EE) 4: /usr/bin/Xwayland (0x5639fdfaf000+0x48fad) [0x5639fdff7fad]
(EE) 5: /usr/bin/Xwayland (0x5639fdfaf000+0xea75b) [0x5639fe09975b]
(EE) 6: /usr/bin/Xwayland (0x5639fdfaf000+0xd3b64) [0x5639fe082b64]
(EE) 7: /usr/bin/Xwayland (0x5639fdfaf000+0xd420a) [0x5639fe08320a]
(EE) 8: /usr/bin/Xwayland (0x5639fdfaf000+0xd4453) [0x5639fe083453]
(EE) 9: /usr/bin/Xwayland (0x5639fdfaf000+0xd4917) [0x5639fe083917]
(EE) 10: /usr/bin/Xwayland (0x5639fdfaf000+0xa4d6a) [0x5639fe053d6a]
(EE) 11: /usr/bin/Xwayland (0x5639fdfaf000+0x36e39) [0x5639fdfe5e39]
(EE) 12: /lib64/libc.so.6 (__libc_start_main+0xd5) [0x7fec1cbb9b75]
(EE) 13: /usr/bin/Xwayland (0x5639fdfaf000+0x3857e) [0x5639fdfe757e]
(EE)
(EE) Segmentation fault at address 0x8
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
[🡕] Process 299060 (Xwayland) of user 1000 dumped core.

Stack trace of thread 299060:
#0  0x00007fec1cbcf292 __GI_raise (libc.so.6 + 0x3d292)
#1  0x00007fec1cbb88a4 __GI_abort (libc.so.6 + 0x268a4)
#2  0x00005639fe11cc3c OsAbort (Xwayland + 0x16dc3c)
#3  0x00005639fe11cf1c FatalError (Xwayland + 0x16df1c)
#4  0x00005639fe1141e4 OsSigHandler.lto_priv.0 (Xwayland + 0x1651e4)
#5  0x00007fec1cbcf310 __restore_rt (libc.so.6 + 0x3d310)
#6  0x00005639fdffcd18 xwl_eglstream_set_window_pixmap (Xwayland + 0x4dd18)
#7  0x00005639fdff7fad xwl_window_set_window_pixmap (Xwayland + 0x48fad)
#8  0x00005639fe09975b damageSetWindowPixmap (Xwayland + 0xea75b)
#9  0x00005639fe082b64 compSetPixmapVisitWindow (Xwayland + 0xd3b64)
#10 0x00005639fe08320a compCheckRedirect (Xwayland + 0xd420a)
#11 0x00005639fe083453 compRedirectWindow (Xwayland + 0xd4453)
#12 0x00005639fe083917 ProcCompositeRedirectSubwindows (Xwayland + 0xd4917)
#13 0x00005639fe053d6a Dispatch (Xwayland + 0xa4d6a)
#14 0x00005639fdfe5e39 main (Xwayland + 0x36e39)
#15 0x00007fec1cbb9b75 __libc_start_main (libc.so.6 + 0x27b75)
#16 0x00005639fdfe757e _start (Xwayland + 0x3857e)
Connection to xwayland lost
Xwayland just died, attempting to recover
X Wayland crashed; attempting to recover
Using public X11 display :0, (using :1 for managed services)

Comment 32 Olivier Fourdan 2021-04-16 12:34:14 UTC
(In reply to Alexander Larsson from comment #31)
> Crashes when i start xterm:

Yikes, my bad, the current (old) pixmap on a window is NULL at first.

Hopefully this one should go a bit farther:

https://koji.fedoraproject.org/koji/taskinfo?taskID=66060515

Comment 33 Alexander Larsson 2021-04-16 13:54:11 UTC
No crashes now, but it still gets wrong damage for the context menu, and also now for the main window.

Comment 34 Olivier Fourdan 2021-04-16 13:55:45 UTC
Humm, OK, could you please either send me or attach the journalctl logs?

Comment 35 Alexander Larsson 2021-04-16 14:54:00 UTC
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414174680/xwl_pixmap=(nil) refcnt=20
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414843940/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414843940/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x563414843940 window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x563414843940/xwl_pixmap=0x563414857e80
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5634148ac050/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414921ac0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5634149234c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414921ac0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414921ac0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5634148aba30/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5634148aba30/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56341473cec0/xwl_pixmap=0x5634149438b0 surface=0x563414943461
eglstream: xwl_eglstream_set_pending_stream_invalid: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 refcnt=2
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x563414945dc0 window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 was invalidated
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x563414857e80
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x5634149231e0 for xwl_pixmap=0x563414857e80 removed
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414843940/xwl_pixmap=0x563414857e80 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x563414857e80
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x563414857e80
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56341473cec0/xwl_pixmap=0x5634149438b0 refcnt=3
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x5634148ba780 for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 removed
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x563414935460
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x5634148ba780 for xwl_pixmap=0x563414935460 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 surface=0x56341471c841
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945b50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414945dc0/xwl_pixmap=0x563414935460 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x563414935460
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x563414935460
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414105370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x563414922fe0/xwl_pixmap=(nil) refcnt=1

Comment 36 Olivier Fourdan 2021-04-16 15:03:05 UTC
Humm, sad, it's a shame that it does not work, the logs look very sensible to me now!

I'll have to wait for the hardware to complete the fix I'm afraid, thanks a lot for your help!

Comment 37 Alexander Larsson 2021-04-19 06:24:29 UTC
Well, this is vastly better than an XWayland crash.

Comment 38 Olivier Fourdan 2021-04-19 13:46:39 UTC
Would that new build help with the visual glitches seen in the xterm menu:

  https://koji.fedoraproject.org/koji/taskinfo?taskID=66260063

A word of caution though, I changed the code once again, so it may very well break in new and creative ways.

My goal is to get back to the same level that we were with Xwayland in the stable server-1.20-branch (i.e. Xwayland does not crash and damages are not not completely off target as with the video from comment 29).

Comment 39 Alexander Larsson 2021-04-19 14:47:29 UTC
-16 is similarly broken with glitches in the menu, but additionally it crashes when closing the menu:

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd8ff15920/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f70e0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f70e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd8ff15920/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd8ff15920/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f70e0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f70e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905e6520/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f5db0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905e6520/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f5db0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f5db0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f5db0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f5db0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f70e0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905f70e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55dd903e62f0/xwl_pixmap=0x55dd905f0e30 surface=0x55dd905d87d1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd8ff15920/xwl_pixmap=(nil) refcnt=16
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x55dd901c7600 window 0x800057
eglstream: xwl_eglstream_queue_pending_stream: win 0x800057 begins new eglstream for pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0 pending valid=1
eglstream: xwl_eglstream_set_pending_stream_invalid: pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0 refcnt=2
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x55dd905c1c10 window 0x800057
eglstream: xwl_eglstream_queue_pending_stream: win 0x800057 begins new eglstream for pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd903e62f0/xwl_pixmap=0x55dd905f0e30 refcnt=3
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0 was invalidated
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55dd905d64e0
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x55dd9056c140 for xwl_pixmap=0x55dd905d64e0 removed
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd901c7600/xwl_pixmap=0x55dd905d64e0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55dd905d64e0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x55dd905d64e0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55dd904f0a40 for pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 surface=0x55dd9033bce1
eglstream: xwl_eglstream_set_pending_stream_invalid: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd9056bd80/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905cc260/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c06d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55dd905c1c10/xwl_pixmap=0x55dd905c7440 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55dd905c7440
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x55dd904f0a40 for xwl_pixmap=0x55dd905c7440 removed
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xwayland (0x55dd8dc4e000+0x1651a9) [0x55dd8ddb31a9]
(EE) 1: /usr/bin/Xwayland (0x55dd8dc4e000+0x1652b2) [0x55dd8ddb32b2]
(EE) 2: /lib64/libc.so.6 (0x7fb9069f7000+0x3d310) [0x7fb906a34310]
(EE) 3: /usr/bin/Xwayland (0x55dd8dc4e000+0x4e6f9) [0x55dd8dc9c6f9]
(EE) 4: /usr/bin/Xwayland (0x55dd8dc4e000+0x4e803) [0x55dd8dc9c803]
(EE) 5: /usr/bin/Xwayland (0x55dd8dc4e000+0x1215e2) [0x55dd8dd6f5e2]
(EE) 6: /usr/bin/Xwayland (0x55dd8dc4e000+0xeae32) [0x55dd8dd38e32]
(EE) 7: /lib64/libffi.so.6 (ffi_call_unix64+0x4c) [0x7fb906847c04]
(EE) 8: /lib64/libffi.so.6 (ffi_call+0x1d7) [0x7fb906847107]
(EE) 9: /lib64/libwayland-client.so.0 (0x7fb90721f000+0x6d10) [0x7fb907225d10]
(EE) 10: /lib64/libwayland-client.so.0 (0x7fb90721f000+0x742b) [0x7fb90722642b]
(EE) 11: /lib64/libwayland-client.so.0 (wl_display_dispatch_queue_pending+0x7c) [0x7fb90722661c]
(EE) 12: /usr/bin/Xwayland (0x55dd8dc4e000+0x3f55b) [0x55dd8dc8d55b]
(EE) 13: /usr/bin/Xwayland (0x55dd8dc4e000+0x16d8f1) [0x55dd8ddbb8f1]
(EE) 14: /usr/bin/Xwayland (0x55dd8dc4e000+0xa4af0) [0x55dd8dcf2af0]
(EE) 15: /usr/bin/Xwayland (0x55dd8dc4e000+0x36e39) [0x55dd8dc84e39]
(EE) 16: /lib64/libc.so.6 (__libc_start_main+0xd5) [0x7fb906a1eb75]
(EE) 17: /usr/bin/Xwayland (0x55dd8dc4e000+0x3857e) [0x55dd8dc8657e]
(EE)
(EE) Segmentation fault at address 0x40
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)
[🡕] Process 2357602 (Xwayland) of user 1000 dumped core.

Stack trace of thread 2357602:
#0  0x00007fb906a34292 __GI_raise (libc.so.6 + 0x3d292)
#1  0x00007fb906a1d8a4 __GI_abort (libc.so.6 + 0x268a4)
#2  0x000055dd8ddbbd6c OsAbort (Xwayland + 0x16dd6c)
#3  0x000055dd8ddbc04c FatalError (Xwayland + 0x16e04c)
#4  0x000055dd8ddb3314 OsSigHandler.lto_priv.0 (Xwayland + 0x165314)
#5  0x00007fb906a34310 __restore_rt (libc.so.6 + 0x3d310)
#6  0x000055dd8dc9c6f9 xwl_glamor_eglstream_destroy_pending_stream (Xwayland + 0x4e6f9)
#7  0x000055dd8dc9c803 xwl_glamor_eglstream_destroy_pixmap (Xwayland + 0x4e803)
#8  0x000055dd8dd6f5e2 XvDestroyPixmap (Xwayland + 0x1215e2)
#9  0x000055dd8dd38e32 damageDestroyPixmap (Xwayland + 0xeae32)
#10 0x00007fb906847c04 ffi_call_unix64 (libffi.so.6 + 0x6c04)
#11 0x00007fb906847107 ffi_call (libffi.so.6 + 0x6107)
#12 0x00007fb907225d10 wl_closure_invoke (libwayland-client.so.0 + 0x6d10)
#13 0x00007fb90722642b dispatch_event (libwayland-client.so.0 + 0x742b)
#14 0x00007fb90722661c wl_display_dispatch_queue_pending (libwayland-client.so.0 + 0x761c)
#15 0x000055dd8dc8d55b xwl_read_events (Xwayland + 0x3f55b)
#16 0x000055dd8ddbb8f1 ospoll_wait (Xwayland + 0x16d8f1)
#17 0x000055dd8dcf2af0 Dispatch (Xwayland + 0xa4af0)
#18 0x000055dd8dc84e39 main (Xwayland + 0x36e39)
#19 0x00007fb906a1eb75 __libc_start_main (libc.so.6 + 0x27b75)
#20 0x000055dd8dc8657e _start (Xwayland + 0x3857e)

Stack trace of thread 2357742:
#0  0x00007fb906af8b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007fb905d91e63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007fb905d92c14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007fb905d87e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007fb905dd4cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007fb906855299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007fb906af76a3 __clone (libc.so.6 + 0x1006a3)

Stack trace of thread 2359726:
#0  0x00007fb906af8b5c __libc_recv (libc.so.6 + 0x101b5c)
#1  0x00007fb905d91e63 n/a (libEGL_nvidia.so.0 + 0x78e63)
#2  0x00007fb905d92c14 n/a (libEGL_nvidia.so.0 + 0x79c14)
#3  0x00007fb905d87e05 n/a (libEGL_nvidia.so.0 + 0x6ee05)
#4  0x00007fb905dd4cce n/a (libEGL_nvidia.so.0 + 0xbbcce)
#5  0x00007fb906855299 start_thread (libpthread.so.0 + 0x9299)
#6  0x00007fb906af76a3 __clone (libc.so.6 + 0x1006a3)
Connection to xwayland lost
Xwayland just died, attempting to recover
X Wayland crashed; attempting to recover

Comment 40 Olivier Fourdan 2021-04-21 09:14:50 UTC
(In reply to Alexander Larsson from comment #39)
> -16 is similarly broken with glitches in the menu,

OK, that's very interesting, it would mean that the glitches are not related to the changes I introduced to fix the original crash. That's very interesting.

So based on that, let's take another approach, back to the logic from -15 (the one which did not crash and where the logs seemed sound) and add some more logs to show which area we damage and from which pixmap/xwl_pixmap/wl_buffer, hopefully that'll shed some light on why you see the glitches.

https://koji.fedoraproject.org/koji/taskinfo?taskID=66397726

(Please note this is a new release 21.1.1 as the package has now reached stable)

The idea would be for you to install that test package, and redo the test with the xterm menu and post the corresponding logs (well, basically, as usual).

Comment 41 Alexander Larsson 2021-04-21 11:23:05 UTC
Here is just poping up the context menu, slowly mouse down and then release. It looks similarly to the previous video. I.e. some repaints are ok, but many seem completely missing or wrong.

eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b27e2e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 surface=0x56071b20b1c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (0,0) [1259x858] for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b031dc0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 surface=0x56071b20b1c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (0,0) [1259x858] for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 surface=0x56071b20b1c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (337,92) [15x31] for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b27e200/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b27e200/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b25e1a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad45680/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad45680/xwl_pixmap=(nil) refcnt=12
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad824d0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad824d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad45680/xwl_pixmap=(nil) refcnt=14
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x56071c98b070 window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0 pending valid=1
eglstream: xwl_eglstream_set_pending_stream_invalid: pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0 refcnt=2
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x56071b22c760 window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 begins new eglstream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0 was invalidated
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x56071c74d8b0
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x56071b1db8e0 for xwl_pixmap=0x56071c74d8b0 removed
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c98b070/xwl_pixmap=0x56071c74d8b0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x56071c74d8b0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x56071c74d8b0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: win 0x800055 completes eglstream for pixmap 0x56071b22c760, congrats!
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x56071b2be870 for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 removed
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x56071b2be870 for xwl_pixmap=0x56071b22cf30 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (-2,-2) [229x431] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,40) [193x16] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,40) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,56) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,72) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,88) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,104) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,120) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,136) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,152) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,168) [193x16] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,201) [193x16] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,201) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,217) [193x32] for pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b237c90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad45680/xwl_pixmap=(nil) refcnt=19
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22c760/xwl_pixmap=0x56071b22cf30 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x56071b22cf30
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x56071b22cf30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b22cde0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b48fd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 surface=0x56071b20b1c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (35,90) [1204x724] for pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071c980d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b243f90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b243f90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b244a60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b243f90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b243f90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b243f90/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b243f90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b2369a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0x56071b48fd90 window 0x600062
eglstream: xwl_eglstream_queue_pending_stream: win 0x600062 begins new eglstream for pixmap=0x56071b48fd90/xwl_pixmap=0x56071b4f7820
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b48fd90/xwl_pixmap=0x56071b4f7820 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x56071b48fd90/xwl_pixmap=0x56071b4f7820 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: win 0x600062 completes eglstream for pixmap 0x56071b48fd90, congrats!
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x56071c98d7c0 for pixmap=0x56071b48fd90/xwl_pixmap=0x56071b4f7820 removed
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x56071b4f7820
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x56071c98d7c0 for xwl_pixmap=0x56071b4f7820 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x56071b48fd90/xwl_pixmap=0x56071b4f7820 surface=0x56071b1ffbf1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (0,0) [1259x834] for pixmap=0x56071b48fd90/xwl_pixmap=0x56071b4f7820
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0b8930/xwl_pixmap=0x56071b442070 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x56071b442070
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x56071b442070
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071ad45680/xwl_pixmap=(nil) refcnt=22
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0d0cf0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x56071b0d0cf0/xwl_pixmap=(nil) refcnt=1

Comment 42 Alexander Larsson 2021-04-21 11:26:36 UTC
It looks to me like the posted damage regions are correct, but they just don't get repainted.

Comment 43 Alexander Larsson 2021-04-21 11:32:17 UTC
For the record, i have a dual monitor setup with the left monitor rotated and both at 200% scale, however disabling the scale and using just one monitor i got the same menu flickering.

Comment 44 Alexander Larsson 2021-04-21 11:42:50 UTC
Its interesting how it seems to be reproducible.

The first three damages in the log are ok. They are: 1 paint everything, 2 highlight first item, 3 unhighlight first item & highlight second.
But the third is completely broken, instead of unhighlighting item 2 and highlighting item 3 it just render the area of item 2 & 3 completely white.

This happens *every* time. Additionally, if instead of mousing from 1->2->3 I go 1->2->1 then item 1&2 go white. Or if i go item 1-> menu header -> item 1, then item 1 goes white. 

Its like if the third damage event always goes wrong...

Comment 45 Alexander Larsson 2021-04-21 11:56:34 UTC
I can reproduce also by running "xdvi" and triggering damage events by typing in the path entry that is focused on window open. The first two keys i press are ok, but then the whole window starts getting partially transparent differently for each new key i press.

Comment 46 Olivier Fourdan 2021-04-21 12:50:22 UTC
I see, as if it was using freed data, except that I don't see it reusing freed pixmaps in the logs.

Can you please retry with that text build, it also logs the callback and the stream, maybe it gets confused with those…

https://koji.fedoraproject.org/koji/taskinfo?taskID=66410030

Comment 47 Alexander Larsson 2021-04-21 13:37:44 UTC
Not a lot different:
Is there a way for me to manually run an Xwayland so i can valgrind it?

eglstream: xwl_eglstream_consumer_ready_callback: window 0x800053 for pixmap=0x55692e975a40/xwl_pixmap=0x55692df580f0 stream 0x55692e2c73c1 callback=0x5569304ba690 received
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0x55692e975a40/xwl_pixmap=0x55692df580f0 stream 0x55692e2c73c1 callback=0x5569304ba690 was invalidated
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55692df580f0
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x55692dfb1600 for xwl_pixmap=0x55692df580f0 removed
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e975a40/xwl_pixmap=0x55692df580f0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55692df580f0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x55692df580f0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: window 0x800053 for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 stream 0x55692def33e1 callback=0x55692e322f00 received
eglstream: xwl_eglstream_consumer_ready_callback: win 0x800053 completes eglstream 0x55692def33e1 for pixmap 0x55692e14fde0, congrats!
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0x55692dfb1910 for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 removed
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55692e9759b0
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x55692dfb1910 for xwl_pixmap=0x55692e9759b0 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 surface=0x55692e14a8c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (-2,-2) [229x431] for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 surface=0x55692e14a8c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,40) [193x16] for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 surface=0x55692e14a8c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,40) [193x32] for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 surface=0x55692e14a8c1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,56) [193x32] for pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692dc7c6c0/xwl_pixmap=(nil) refcnt=30
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e14fde0/xwl_pixmap=0x55692e9759b0 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x55692e9759b0
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x55692e9759b0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692dc4fc50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e2e7430/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e2e7430/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e2e7430/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x55692e2e7430/xwl_pixmap=(nil) refcnt=1

Comment 48 Olivier Fourdan 2021-04-21 14:01:16 UTC
Could you please post a bit more of the logs? I'd like to match the pending stream queue, invalidation, until callback gets eventually triggered.

For running Xwayland within valgrind, best is to prepare a script that does exactly that:

1. Rename the current "Xwayland" binary to "Xwayland.bin"

    cp /usr/bin/Xwayland /usr/bin/Xwayland.bin

2. And then replace the Xwayland binary with a script that run valgrind, e.g.:

    exec valgrind --track-origins=yes --log-file=xwayland.%p /usr/bin/Xwayland.bin "$@"

Comment 49 Alexander Larsson 2021-04-21 14:56:20 UTC
Got some hits, not sure if they are useful:

==124865== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
==124865==    at 0x511ADE7: sendmsg (sendmsg.c:28)
==124865==    by 0x5FAC0A4: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FAC22B: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FA0A40: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FA0D75: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FA2D56: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5F7D5E5: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x156384: UnknownInlinedFun (xwayland-glamor-eglstream.c:649)
==124865==    by 0x156384: xwl_glamor_eglstream_allow_commits.lto_priv.0 (xwayland-glamor-eglstream.c:717)
==124865==    by 0x1478CF: UnknownInlinedFun (xwayland-glamor.c:137)
==124865==    by 0x1478CF: UnknownInlinedFun (xwayland-screen.c:320)
==124865==    by 0x1478CF: block_handler (xwayland-screen.c:503)
==124865==    by 0x1AC545: UnknownInlinedFun (dixutils.c:388)
==124865==    by 0x1AC545: UnknownInlinedFun (WaitFor.c:201)
==124865==    by 0x1AC545: Dispatch (dispatch.c:438)
==124865==    by 0x13EE38: UnknownInlinedFun (main.c:271)
==124865==    by 0x13EE38: main (stubmain.c:34)
==124865==  Address 0x1ffefffc5c is on thread 1's stack
==124865==  Uninitialised value was created by a stack allocation
==124865==    at 0x5FABFE2: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)

==124865== Conditional jump or move depends on uninitialised value(s)
==124865==    at 0x71293D6: ??? (in /usr/lib64/libnvidia-eglcore.so.465.24.02)
==124865==    by 0x712965F: ??? (in /usr/lib64/libnvidia-eglcore.so.465.24.02)
==124865==    by 0x162F01: UnknownInlinedFun (glamor_gradient.c:1349)
==124865==    by 0x162F01: glamor_convert_gradient_picture (glamor_render.c:1345)
==124865==    by 0x163767: glamor_composite_clipped_region (glamor_render.c:1476)
==124865==    by 0x167672: glamor_composite (glamor_render.c:1712)
==124865==    by 0x1F85FE: damageComposite.lto_priv.0 (damage.c:513)
==124865==    by 0x169A96: glamor_trapezoids (glamor_trapezoid.c:146)
==124865==    by 0x1FD78C: UnknownInlinedFun (picture.c:1574)
==124865==    by 0x1FD78C: ProcRenderTrapezoids (render.c:746)
==124865==    by 0x1ACD39: Dispatch (dispatch.c:497)
==124865==    by 0x13EE38: UnknownInlinedFun (main.c:271)
==124865==    by 0x13EE38: main (stubmain.c:34)
==124865==  Uninitialised value was created by a stack allocation
==124865==    at 0x162170: glamor_convert_gradient_picture (glamor_render.c:1328)


==124865== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==124865==    at 0x511AD7C: __libc_send (send.c:28)
==124865==    by 0x511AD7C: send (send.c:23)
==124865==    by 0x5FABCAD: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FAC7C2: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FB9103: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FC182C: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FAA9ED: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FAAEAB: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FCDCCC: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FCE743: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5FCE8FD: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x5F7A59D: ??? (in /usr/lib64/libEGL_nvidia.so.465.24.02)
==124865==    by 0x15687A: xwl_glamor_eglstream_post_damage.lto_priv.0 (xwayland-glamor-eglstream.c:781)

Comment 50 Alexander Larsson 2021-04-21 14:59:38 UTC
Here is a full log of a menu popup and select. Only the last damage even was "lost".

eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0xb6bf5d0 window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 queues pending for pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 stream 0x5db2731 callback=0x8c82be0
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8c848c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb625090/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa22e360/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa09c3f0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6c98a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba47780/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba47780/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8c82ec0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8c82ec0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x8718de0/xwl_pixmap=0xb9feda0 surface=0xa56dff1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (0,0) [939x666] for pixmap=0x8718de0/xwl_pixmap=0xb9feda0
eglstream: xwl_eglstream_set_pending_stream_invalid: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 now invalid
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 refcnt=2
eglstream: xwl_glamor_eglstream_allow_commits: creating pending stream for pixmap=0xb6d17e0 window 0x800055
eglstream: xwl_eglstream_queue_pending_stream: win 0x800055 queues pending for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 stream 0xb8b93b1 callback=0xb8bb110
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_eglstream_consumer_ready_callback: window 0x800055 for pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 stream 0x5db2731 callback=0x8c82be0 received
eglstream: xwl_eglstream_consumer_ready_callback: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 stream 0x5db2731 callback=0x8c82be0 was invalidated
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x5bd3e10
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0x5db2fd0 for xwl_pixmap=0x5bd3e10 removed
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6bf5d0/xwl_pixmap=0x5bd3e10 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0x5bd3e10
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0x5bd3e10
eglstream: xwl_glamor_eglstream_allow_commits: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 pending valid=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8718de0/xwl_pixmap=0xb9feda0 refcnt=3
eglstream: xwl_eglstream_consumer_ready_callback: window 0x800055 for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 stream 0xb8b93b1 callback=0xb8bb110 received
eglstream: xwl_eglstream_consumer_ready_callback: win 0x800055 completes eglstream 0xb8b93b1 for pixmap 0xb6d17e0, congrats!
eglstream: xwl_eglstream_consumer_ready_callback: pending stream 0xb8bb090 for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 removed
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0xb8b9c20
eglstream: xwl_glamor_eglstream_remove_pending_stream: pending stream 0xb8bb090 for xwl_pixmap=0xb8b9c20 removed
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 surface=0x5b759b1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (-2,-2) [229x431] for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 surface=0x5b759b1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,40) [193x16] for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 surface=0x5b759b1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,40) [193x32] for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 refcnt=3
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 surface=0x5b759b1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (16,56) [193x32] for pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa0ab930/xwl_pixmap=(nil) refcnt=22
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6d17e0/xwl_pixmap=0xb8b9c20 refcnt=1
eglstream: xwl_glamor_eglstream_remove_pending_stream: removing stream for xwl_pixmap=0xb8b9c20
eglstream: xwl_eglstream_destroy_pixmap_stream: destroying stream for xwl_pixmap=0xb8b9c20
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e08f60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8719c40/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x85d16c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5c0af90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5dbb500/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8c22620/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8719ea0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x872e3a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x9159480/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x9303b60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa00a370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa00ae20/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa273a40/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa273f50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa275710/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb5fef90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb84e700/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb8baf30/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb908070/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb9ed100/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba9d040/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbd4e1c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5b955e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x9301b90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa1a6e50/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e09170/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa1a7640/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e6da70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e3ae30/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x915b880/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6267e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa557870/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6407b0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb664430/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6ba8c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb85c580/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb8bad70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb9f2530/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba2b990/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbb94210/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbd4a100/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbf76680/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc11eb60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc11ff00/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc173620/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc1a9ce0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc30a0b0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e09380/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e09840/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x86ef5e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x8718de0/xwl_pixmap=0xb9feda0 surface=0xa56dff1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (35,90) [884x556] for pixmap=0x8718de0/xwl_pixmap=0xb9feda0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8718de0/xwl_pixmap=0xb9feda0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa00ca30/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb621d10/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba4ab00/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba91890/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbb5a3f0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc125820/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x880b790/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e38220/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5b97410/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e85d00/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x86a5fa0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8d4dda0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x917b560/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa0a6710/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa113520/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xaf08d60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb74e260/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb7d1810/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xba89a00/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8d32b00/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x9efb6a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa0e3d90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb7ce760/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb7de2e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb9111c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbd3f880/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbd6bcc0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xc0bcd10/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5bac7d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5be6180/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5cabd90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5bb8e90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5be4f70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5bfa8a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5c735f0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5cacae0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5cacfa0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5cad480/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x86eca70/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb6bdd20/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb722160/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb7e1370/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5ddf2d0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x5e06f10/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbb8e530/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xbd7cf90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x871a0a0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb5fd340/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb8c1f90/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb9f3a30/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x8718de0/xwl_pixmap=0xb9feda0 surface=0xa56dff1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (21,90) [898x556] for pixmap=0x8718de0/xwl_pixmap=0xb9feda0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8718de0/xwl_pixmap=0xb9feda0 refcnt=3
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa0100e0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xa553df0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb663970/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb8596c0/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0xb8596c0/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x9b07f60/xwl_pixmap=(nil) refcnt=2
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x9b07f60/xwl_pixmap=(nil) refcnt=1
eglstream: xwl_glamor_eglstream_allow_commits: no pending stream for pixmap=0x8718de0/xwl_pixmap=0xb9feda0 surface=0xa56dff1
eglstream: xwl_glamor_eglstream_post_damage: posting damage region (0,0) [939x666] for pixmap=0x8718de0/xwl_pixmap=0xb9feda0
eglstream: xwl_glamor_eglstream_destroy_pixmap: pixmap=0x8718de0/xwl_pixmap=0xb9feda0 refcnt=3

Comment 51 Olivier Fourdan 2021-04-21 15:09:53 UTC
Yikes! I must be missing something, the logs look just fine to me :/

Comment 52 Olivier Fourdan 2021-04-21 15:55:41 UTC
I wonder if that could be on the compositor side maybe…

Comment 53 Olivier Fourdan 2021-04-22 09:41:08 UTC
Haha! So I asked Jonas if he could run some more tests for me.

So far, I reckoned those glitches were a regression in Xwayland 21.1 or possibly in mutter, so I asked Jonas if he could test Xwayland 21.1 with mutter 3.38, but it's the same, so that rules out a regression in mutter.

Then Jonas tried Xwayland from 1.20 with mutter 3.38 and the result is… actually worse.

So that means that those glitches are not a regression, and probably not directly related to the crash, meaning that the patches which fix the crash are probably good enough!

Comment 54 Olivier Fourdan 2021-04-27 13:53:00 UTC
Hi Alex, mind giving this last build a try:

https://koji.fedoraproject.org/koji/taskinfo?taskID=66794294

This is just to make sure the latest set of patches I posted in https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/646 do not regress any further wrt. the initial issue (i.e. it won't address the visual glitches, but it should not crash anymore).

Comment 55 Olivier Fourdan 2021-04-29 13:30:42 UTC
(In reply to Olivier Fourdan from comment #54)
> Hi Alex, mind giving this last build a try:
> 
> https://koji.fedoraproject.org/koji/taskinfo?taskID=66794294
> 
> This is just to make sure the latest set of patches I posted in
> https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/646 do not
> regress any further wrt. the initial issue (i.e. it won't address the visual
> glitches, but it should not crash anymore).

Nevermind, I received the hardware and did the test.

Comment 56 Olivier Fourdan 2021-05-03 12:59:14 UTC
This test build should fix the crash and help with rendering issues:

https://koji.fedoraproject.org/koji/taskinfo?taskID=67142225

Comment 57 Fedora Update System 2021-05-07 16:05:16 UTC
FEDORA-2021-d204e31fb5 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-d204e31fb5

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

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

Comment 59 Fedora Update System 2021-05-16 02:01:30 UTC
FEDORA-2021-d204e31fb5 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.