Bug#927436: gnome-shell: segfault error 4 in libgnome-shell.so
Bernhard Übelacker
bernhardu at mailbox.org
Fri Apr 19 22:04:04 BST 2019
Dear Maintainer,
from the segfault and also the code line this
may be a duplicate of #926212.
At least the crash points to the same source line:
src/shell-app.c, line 1485.
Kind regards,
Bernhard
#926212 https://bugs.debian.org/926212
-------------- next part --------------
# Buster amd64 qemu VM 2019-04-19
apt update
apt dist-upgrade
apt install dpkg-dev devscripts systemd-coredump bc xserver-xorg dbus-x11 gdm3 gnome gdb elfutils binutils gnome-shell-dbgsym
systemctl start gdm3
################
# From submitter
[20044.478027] gnome-shell[19403]: segfault at 0 ip 00007f2bca1d03bf sp 00007ffcdcc37660 error 4 in libgnome-shell.so[7f2bca1c8000+1f000]
[20044.478034] Code: f7 86 ff ff 48 8b 78 20 48 89 c3 48 c7 40 20 00 00 00 00 48 85 ff 74 1a e8 46 bb ff ff eb 13 0f 1f 40 00 48 8b 42 08 48 89 df <48> 8b 30 e8 d9 82 ff ff 48 8b 53 28 48 85 d2 75 e8 8b 43 1c 85 c0
https://www.enodev.fr/posts/decode-segfault-errors-in-dmesg.html
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/x86/mm/fault.c?h=linux-4.9.y#n31
/*
* Page fault error code bits:
*
* bit 0 ==<-> 0: no page found<----->1: protection fault
* bit 1 ==<-> 0: read access><------>1: write access
* bit 2 ==<-> 0: kernel-mode access<>1: user-mode access
* bit 3 ==<-><------><------><------>1: use of reserved bit detected
* bit 4 ==<-><------><------><------>1: fault was an instruction fetch
* bit 5 ==<-><------><------><------>1: protection keys block access
*/
enum x86_pf_error_code {
<------>PF_PROT><------>=<-----><------>1 << 0,
<------>PF_WRITE<------>=<-----><------>1 << 1,
<------>PF_USER><------>=<-----><------>1 << 2,
<------>PF_RSVD><------>=<-----><------>1 << 3,
<------>PF_INSTR<------>=<-----><------>1 << 4,
<------>PF_PK<-><------>=<-----><------>1 << 5,
};
"error 4" == 0b100
bit 0 ==<------> 0: no page found
bit 1 ==<------> 0: read access
bit 2 ==<------> 1: user-mode access
################
# From submitter
[20044.478027] gnome-shell[19403]: segfault at 0 ip 00007f2bca1d03bf sp 00007ffcdcc37660 error 4 in libgnome-shell.so[7f2bca1c8000+1f000]
[20044.478034] Code: f7 86 ff ff 48 8b 78 20 48 89 c3 48 c7 40 20 00 00 00 00 48 85 ff 74 1a e8 46 bb ff ff eb 13 0f 1f 40 00 48 8b 42 08 48 89 df <48> 8b 30 e8 d9 82 ff ff 48 8b 53 28 48 85 d2 75 e8 8b 43 1c 85 c0
crash instruction - start .init == diff
0x00007f2bca1d03bf - 0x7f2bca1c8000 == 0x83BF
benutzer at debian:~$ gdb -q -ex 'set width 0' -ex 'set pagination off' -ex 'info share' -ex 'info target' -ex 'detach' -ex 'quit' --pid $(pidof gnome-shell) 2>&1 | grep libgnome-shell.so
0x00007f956bd67f10 0x00007f956bd8222e Yes /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd4d238 - 0x00007f956bd4d25c is .note.gnu.build-id in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd4d260 - 0x00007f956bd4e004 is .gnu.hash in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd4e008 - 0x00007f956bd54d40 is .dynsym in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd54d40 - 0x00007f956bd5c075 is .dynstr in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd5c076 - 0x00007f956bd5c990 is .gnu.version in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd5c990 - 0x00007f956bd5ca50 is .gnu.version_r in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd5ca50 - 0x00007f956bd5d7d0 is .rela.dyn in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd5d7d0 - 0x00007f956bd635c0 is .rela.plt in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd64000 - 0x00007f956bd64017 is .init in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd64020 - 0x00007f956bd67ed0 is .plt in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd67ed0 - 0x00007f956bd67f08 is .plt.got in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd67f10 - 0x00007f956bd8222e is .text in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd82230 - 0x00007f956bd82239 is .fini in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd83000 - 0x00007f956bd87b29 is .rodata in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bd87b30 - 0x00007f956bf897d8 is .gresource.shell_js_resources in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf897d8 - 0x00007f956bf8ac94 is .eh_frame_hdr in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf8ac98 - 0x00007f956bf92908 is .eh_frame in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf94200 - 0x00007f956bf94210 is .init_array in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf94210 - 0x00007f956bf94220 is .fini_array in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf94220 - 0x00007f956bf94bf0 is .data.rel.ro in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf94bf0 - 0x00007f956bf94fa0 is .dynamic in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf94fa0 - 0x00007f956bf96fe8 is .got in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf97000 - 0x00007f956bf970e0 is .data in /usr/lib/gnome-shell/libgnome-shell.so
0x00007f956bf970e0 - 0x00007f956bf974b8 is .bss in /usr/lib/gnome-shell/libgnome-shell.so
current start .init + diff == current ip
0x00007f956bd64000 + 0x83BF == 0x7F956BD6C3BF
benutzer at debian:~$ gdb -q -ex 'set width 0' -ex 'set pagination off' -ex 'disassemble 0x00007f956bd67f10,0x00007f956bd8222e' -ex 'b *0x7F956BD6C3BF' -ex 'detach' -ex 'quit' --pid $(pidof gnome-shell) 2>&1 | grep -i "7F956BD6C3BF"
0x00007f956bd6c3bf <shell_app_dispose+63>: mov (%rax),%rsi
Breakpoint 1 at 0x7f956bd6c3bf: file ../src/shell-app.c, line 1485.
#############
# From submitter
[20044.478027] gnome-shell[19403]: segfault at 0 ip 00007f2bca1d03bf sp 00007ffcdcc37660 error 4 in libgnome-shell.so[7f2bca1c8000+1f000]
[20044.478034] Code: f7 86 ff ff 48 8b 78 20 48 89 c3 48 c7 40 20 00 00 00 00 48 85 ff 74 1a e8 46 bb ff ff eb 13 0f 1f 40 00 48 8b 42 08 48 89 df <48> 8b 30 e8 d9 82 ff ff 48 8b 53 28 48 85 d2 75 e8 8b 43 1c 85 c0
-> 42 bytes before the crashing instruction
-> 22 bytes the crashing instruction and following
benutzer at debian:~$ gdb -q --pid $(pidof gnome-shell)
Attaching to process 4180
[New LWP 4182]
...
[New LWP 4249]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f956ad8bb69 in __GI___poll (fds=0x55749da60010, nfds=15, timeout=84207) at ../sysdeps/unix/sysv/linux/poll.c:29
29 ../sysdeps/unix/sysv/linux/poll.c: Datei oder Verzeichnis nicht gefunden.
(gdb) find /b 0x00007f956bd4d238, 0x00007f956bf974b8, 0xf7, 0x86, 0xff, 0xff, 0x48, 0x8b, 0x78, 0x20, 0x48, 0x89, 0xc3, 0x48, 0xc7, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x48, 0x85, 0xff, 0x74, 0x1a, 0xe8, 0x46, 0xbb, 0xff, 0xff, 0xeb, 0x13, 0x0f, 0x1f, 0x40, 0x00, 0x48, 0x8b, 0x42, 0x08, 0x48, 0x89, 0xdf, 0x48, 0x8b, 0x30, 0xe8, 0xd9, 0x82, 0xff, 0xff, 0x48, 0x8b, 0x53, 0x28, 0x48, 0x85, 0xd2, 0x75, 0xe8, 0x8b, 0x43, 0x1c, 0x85, 0xc0
0x7f956bd6c395 <shell_app_dispose+21>
1 pattern found.
(gdb) disassemble 0x7f956bd6c395,0x7f956bd6c395+64
Dump of assembler code from 0x7f956bd6c395 to 0x7f956bd6c3d5:
0x00007f956bd6c395 <shell_app_dispose+21>: testl $0x89482078,-0x74b70001(%rsi)
0x00007f956bd6c39f <shell_app_dispose+31>: retq
0x00007f956bd6c3a0 <shell_app_dispose+32>: movq $0x0,0x20(%rax)
0x00007f956bd6c3a8 <shell_app_dispose+40>: test %rdi,%rdi
0x00007f956bd6c3ab <shell_app_dispose+43>: je 0x7f956bd6c3c7 <shell_app_dispose+71>
0x00007f956bd6c3ad <shell_app_dispose+45>: callq 0x7f956bd67ef8 <g_object_unref at plt>
0x00007f956bd6c3b2 <shell_app_dispose+50>: jmp 0x7f956bd6c3c7 <shell_app_dispose+71>
0x00007f956bd6c3b4 <shell_app_dispose+52>: nopl 0x0(%rax)
0x00007f956bd6c3b8 <shell_app_dispose+56>: mov 0x8(%rdx),%rax
0x00007f956bd6c3bc <shell_app_dispose+60>: mov %rbx,%rdi
0x00007f956bd6c3bf <shell_app_dispose+63>: mov (%rax),%rsi
0x00007f956bd6c3c2 <shell_app_dispose+66>: callq 0x7f956bd646a0 <_shell_app_remove_window at plt>
0x00007f956bd6c3c7 <shell_app_dispose+71>: mov 0x28(%rbx),%rdx
0x00007f956bd6c3cb <shell_app_dispose+75>: test %rdx,%rdx
0x00007f956bd6c3ce <shell_app_dispose+78>: jne 0x7f956bd6c3b8 <shell_app_dispose+56>
0x00007f956bd6c3d0 <shell_app_dispose+80>: mov 0x1c(%rbx),%eax
0x00007f956bd6c3d3 <shell_app_dispose+83>: test %eax,%eax
End of assembler dump.
(gdb) b *(0x7f956bd6c395+42)
Breakpoint 1 at 0x7f956bd6c3bf: file ../src/shell-app.c, line 1485.
#########
Duplicate of 926212 ?
More information about the pkg-gnome-maintainers
mailing list