Comment # 16 on bug 1184072 from
Quick analysis of the coredump suggests that Xwayland crashed on a NULL pointer
dereference in glamor_egl_fds_from_pixmap():

> (gdb) bt
> #0  0x00007f7a6efc118b in raise () from /lib64/libc.so.6
> #1  0x00007f7a6efc2585 in abort () from /lib64/libc.so.6
> #2  0x0000564e6ef7800a in OsAbort () at utils.c:1350
> #3  0x0000564e6ef7db53 in AbortServer () at log.c:879
> #4  0x0000564e6ef7e975 in FatalError (f=f@entry=0x564e6efa0f70 "Caught signal %d (%s). Server aborting\n") at log.c:1017
> #5  0x0000564e6ef750a3 in OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at osinit.c:156
> #6  <signal handler called>
> #7  glamor_egl_fds_from_pixmap (screen=screen@entry=0x564e6ff7ebc0, pixmap=pixmap@entry=0x564e70e74850, fds=fds@entry=0x7fff86d64bf0, 
>     strides=strides@entry=0x7fff86d64c00, offsets=offsets@entry=0x7fff86d64c10, modifier=modifier@entry=0x7fff86d64bc0) at xwayland-glamor-gbm.c:524
> #8  0x0000564e6ee2679a in _glamor_fds_from_pixmap (screen=0x564e6ff7ebc0, pixmap=0x564e70e74850, fds=0x7fff86d64bf0, strides=0x7fff86d64c00, offsets=0x7fff86d64c10, 
>     size=0x0, modifier=0x7fff86d64bc0) at glamor.c:848
> #9  0x0000564e6ee27fee in glamor_fds_from_pixmap (screen=<optimized out>, pixmap=<optimized out>, fds=<optimized out>, strides=<optimized out>, 
>     offsets=<optimized out>, modifier=<optimized out>) at glamor.c:870
> #10 0x0000564e6eedb889 in dri3_fds_from_pixmap (pixmap=<optimized out>, fds=fds@entry=0x7fff86d64bf0, strides=strides@entry=0x7fff86d64c00, 
>     offsets=offsets@entry=0x7fff86d64c10, modifier=modifier@entry=0x7fff86d64bc0) at dri3_screen.c:96
> #11 0x0000564e6eedb2d4 in proc_dri3_buffers_from_pixmap (client=0x564e70e89490) at dri3_request.c:522
> #12 0x0000564e6ef3f038 in Dispatch () at dispatch.c:478
> #13 0x0000564e6ef4303c in dix_main (argc=14, argv=0x7fff86d64e18, envp=<optimized out>) at main.c:280
> #14 0x00007f7a6efac34d in __libc_start_main () from /lib64/libc.so.6
> #15 0x0000564e6ee1a23a in _start () at ../sysdeps/x86_64/start.S:120
> (gdb) frame 7
> #7  glamor_egl_fds_from_pixmap (screen=screen@entry=0x564e6ff7ebc0, pixmap=pixmap@entry=0x564e70e74850, fds=fds@entry=0x7fff86d64bf0, 
>     strides=strides@entry=0x7fff86d64c00, offsets=offsets@entry=0x7fff86d64c10, modifier=modifier@entry=0x7fff86d64bc0) at xwayland-glamor-gbm.c:524
> 524	    if (!xwl_pixmap->bo)
> (gdb) l glamor_egl_fds_from_pixmap
> 510	
> 511	_X_EXPORT int
> 512	glamor_egl_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds,
> 513	                           uint32_t *strides, uint32_t *offsets,
> 514	                           uint64_t *modifier)
> 515	{
> 516	    struct xwl_pixmap *xwl_pixmap;
> 517	#ifdef GBM_BO_WITH_MODIFIERS
> 518	    uint32_t num_fds;
> 519	    int i;
> (gdb) 
> 520	#endif
> 521	
> 522	    xwl_pixmap = xwl_pixmap_get(pixmap);
> 523	
> 524	    if (!xwl_pixmap->bo)
> 525	       return 0;
> 526	
> 527	#ifdef GBM_BO_WITH_MODIFIERS
> 528	    num_fds = gbm_bo_get_plane_count(xwl_pixmap->bo);
> 529	    *modifier = gbm_bo_get_modifier(xwl_pixmap->bo);
> (gdb) 

which looks like
https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/47/diffs?commit_id=036794bebce72a3fa2f95996d2e537ff568e0ff1
to me. This upstream fix is shipped in xorg-server 1.20.4, a newer version than
that in Leap 15.3 (1.20.3).

I've put together a temporary fix at
https://build.opensuse.org/package/show/home:yudaike:branches:SUSE:SLE-15-SP2:Update/xorg-x11-server.
Would you please check if that makes any difference? Thanks.


You are receiving this mail because: