On Mon, 27 May 2024 11:22:02 +0100 Jack Beckitt-Marshall <j...@pictura.co.uk> 
wrote:

When I perform certain actions on my GNOME desktop, such as using the Location
bar (Ctrl+L) in Nautilus, clicking on System Information in GNOME Control
Center, or click Fonts in GNOME Tweaks, the programs close with a segmentation
fault. Here is the output from dmesg.

[ 1659.826530] nautilus[19533]: segfault at 41 ip 00007f782c224d5d sp
00007fffa9cbf770 error 4 in libX11.so.6.4.0[7f782c216000+8d000] likely on CPU 7
(core 7, socket 0)
[ 1659.826554] Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 41 54
49 89 d4 55 48 89 f5 53 48 8b 87 68 09 00 00 48 89 fb 48 85 c0 74 02 <ff> 10 48
89 ee 4c 89 e2 48 89 df e8 63 36 ff ff 89 c5 48 8b 83 68

Using Wayland and GNOME 44.9.

Debian Release: trixie/sid



Hello Jack,
I am not maintainer of libx11-6, just tried to collect some more information.

From the "Code" line the crash happens in function XGetWindowAttributes.
It looks strange this function gets called while using a Wayland session.

This gtk issue [1] shows similar calls into XGetWindowAttributes caused by
some library libim-scim.so from package scim-gtk-immodule.

Please check if you have this installed.
If it is needed it might be possbile to check if this still happens with
a Gnome X11 session, if not needed does it happens when this package is 
uninstalled?


For exact results a backtrace of the crash would still be good.
Maybe you can install the package systemd-coredump and retrieve from
e.g. `journalctl -b0 --no-pager` of a crash with a few lines before and 
afterwards. [2]


[1] https://gitlab.gnome.org/GNOME/gtk/-/issues/5472
[2] https://wiki.debian.org/HowToGetABacktrace


Kind regards,
Bernhard


[ 1659.826530] nautilus[19533]: segfault at 41 ip 00007f782c224d5d sp 
00007fffa9cbf770 error 4 in libX11.so.6.4.0[7f782c216000+8d000] likely on CPU 7 
(core 7, socket 0)
[ 1659.826554] Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 41 54 
49 89 d4 55 48 89 f5 53 48 8b 87 68 09 00 00 48 89 fb 48 85 c0 74 02 <ff> 10 48 
89 ee 4c 89 e2 48 89 df e8 63 36 ff ff 89 c5 48 8b 83 68
[ 1666.674595] nautilus[19622]: segfault at ff0000 ip 00007fd182c0fd5d sp 
00007fff51cb2fa0 error 4 in libX11.so.6.4.0[7fd182c01000+8d000] likely on CPU 2 
(core 2, socket 0)
[ 1666.674608] Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 41 54 
49 89 d4 55 48 89 f5 53 48 8b 87 68 09 00 00 48 89 fb 48 85 c0 74 02 <ff> 10 48 
89 ee 4c 89 e2 48 89 df e8 63 36 ff ff 89 c5 48 8b 83 68


https://wiki.debian.org/InterpretingKernelOutputAtProcessCrash


error 4
0b00000100
 *   bit 0 ==    0: no page found
 *   bit 1 ==    0: read access
 *   bit 2 ==    1: user-mode access
.



echo -n "find /b ..., ..., 0x" && \
echo "ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 41 54 49 89 d4 55 48 
89 f5 53 48 8b 87 68 09 00 00 48 89 fb 48 85 c0 74 02 <ff> 10 48 89 ee 4c 89 e2 
48 89 df e8 63 36 ff ff 89 c5 48 8b 83 68" \
 | sed 's/[<>]//g' | sed 's/ /, 0x/g'





# Trixie/testing amd64 qemu VM 2024-06-18

apt update
apt dist-upgrade

apt install --no-install-recommends gnome
apt install gdb




gdb -q --pid $(pgrep nautilus)

pipe info share | grep -i x11
find /b 0x00007fd8fcd4e970,  0x00007fd8fcdd881e, 0xff, 0x66, 0x66, 0x2e, 0x0f, 
0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xf3, 0x0f, 0x1e, 0xfa, 0x41, 
0x54, 0x49, 0x89, 0xd4, 0x55, 0x48, 0x89, 0xf5, 0x53, 0x48, 0x8b, 0x87, 0x68, 
0x09, 0x00, 0x00, 0x48, 0x89, 0xfb, 0x48, 0x85, 0xc0, 0x74, 0x02, 0xff, 0x10, 
0x48, 0x89, 0xee, 0x4c, 0x89, 0xe2, 0x48, 0x89, 0xdf, 0xe8, 0x63, 0x36, 0xff, 
0xff, 0x89, 0xc5, 0x48, 0x8b, 0x83, 0x68




benutzer@debian:~$ gdb -q --pid $(pgrep nautilus)
Attaching to process 2298
[New LWP 2349]
[New LWP 2351]
[New LWP 2352]
[New LWP 2373]
[New LWP 2383]
[New LWP 2384]
[New LWP 2529]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fd8fd40947f in __GI___poll (fds=0x5562fdf47790, nfds=2, timeout=24377) 
at ../sysdeps/unix/sysv/linux/poll.c:29
29      ../sysdeps/unix/sysv/linux/poll.c: Datei oder Verzeichnis nicht 
gefunden.
(gdb) pipe info share | grep -i x11
0x00007fd8fcd4e970  0x00007fd8fcdd881e  Yes (*)     
/lib/x86_64-linux-gnu/libX11.so.6
0x00007fd8f8002040  0x00007fd8f800211f  Yes (*)     
/lib/x86_64-linux-gnu/libX11-xcb.so.1
(gdb) find /b 0x00007fd8fcd4e970,  0x00007fd8fcdd881e, 0xff, 0x66, 0x66, 0x2e, 
0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xf3, 0x0f, 0x1e, 0xfa, 
0x41, 0x54, 0x49, 0x89, 0xd4, 0x55, 0x48, 0x89, 0xf5, 0x53, 0x48, 0x8b, 0x87, 
0x68, 0x09, 0x00, 0x00, 0x48, 0x89, 0xfb, 0x48, 0x85, 0xc0, 0x74, 0x02, 0xff, 
0x10, 0x48, 0x89, 0xee, 0x4c, 0x89, 0xe2, 0x48, 0x89, 0xdf, 0xe8, 0x63, 0x36, 
0xff, 0xff, 0x89, 0xc5, 0x48, 0x8b, 0x83, 0x68
0x7fd8fcd5ad33 <_XGetWindowAttributes+483>
1 pattern found.
(gdb) b * (0x7fd8fcd5ad33 + 42)
Breakpoint 1 at 0x7fd8fcd5ad5d
(gdb) info b
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x00007fd8fcd5ad5d <XGetWindowAttributes+29>
(gdb) disassemble /r 0x7fd8fcd5ad33, 0x7fd8fcd5ad33+62
Dump of assembler code from 0x7fd8fcd5ad33 to 0x7fd8fcd5ad71:
   0x00007fd8fcd5ad33 <_XGetWindowAttributes+483>:      ff 66 66                
        jmp    *0x66(%rsi)
   0x00007fd8fcd5ad36:                                  2e 0f 1f 84 00 00 00 00 
00      cs nopl 0x0(%rax,%rax,1)
   0x00007fd8fcd5ad3f:                                  90                      
        nop
   0x00007fd8fcd5ad40 <XGetWindowAttributes+0>:         f3 0f 1e fa             
        endbr64
   0x00007fd8fcd5ad44 <XGetWindowAttributes+4>:         41 54                   
        push   %r12
   0x00007fd8fcd5ad46 <XGetWindowAttributes+6>:         49 89 d4                
        mov    %rdx,%r12
   0x00007fd8fcd5ad49 <XGetWindowAttributes+9>:         55                      
        push   %rbp
   0x00007fd8fcd5ad4a <XGetWindowAttributes+10>:        48 89 f5                
        mov    %rsi,%rbp
   0x00007fd8fcd5ad4d <XGetWindowAttributes+13>:        53                      
        push   %rbx
   0x00007fd8fcd5ad4e <XGetWindowAttributes+14>:        48 8b 87 68 09 00 00    
        mov    0x968(%rdi),%rax
   0x00007fd8fcd5ad55 <XGetWindowAttributes+21>:        48 89 fb                
        mov    %rdi,%rbx
   0x00007fd8fcd5ad58 <XGetWindowAttributes+24>:        48 85 c0                
        test   %rax,%rax
   0x00007fd8fcd5ad5b <XGetWindowAttributes+27>:        74 02                   
        je     0x7fd8fcd5ad5f <XGetWindowAttributes+31>
   0x00007fd8fcd5ad5d <XGetWindowAttributes+29>:        ff 10                   
        call   *(%rax)                                    <<<<<<<<
   0x00007fd8fcd5ad5f <XGetWindowAttributes+31>:        48 89 ee                
        mov    %rbp,%rsi
   0x00007fd8fcd5ad62 <XGetWindowAttributes+34>:        4c 89 e2                
        mov    %r12,%rdx
   0x00007fd8fcd5ad65 <XGetWindowAttributes+37>:        48 89 df                
        mov    %rbx,%rdi
   0x00007fd8fcd5ad68 <XGetWindowAttributes+40>:        e8 63 36 ff ff          
        call   0x7fd8fcd4e3d0 <_XGetWindowAttributes@plt>
   0x00007fd8fcd5ad6d <XGetWindowAttributes+45>:        89 c5                   
        mov    %eax,%ebp
   0x00007fd8fcd5ad6f <XGetWindowAttributes+47>:        48 8b 83 68 09 00 00    
        mov    0x968(%rbx),%rax
End of assembler dump.
(gdb)




https://gitlab.gnome.org/GNOME/gtk/-/issues/5472

Reply via email to