Hello ng,
On Wed, 22 Nov 2023 22:47:01 -0300 ng wrote:
[18950.426861] Thunar[3027]: segfault at 0 ip 5615a96c98cc sp
7ffd2dbd7320 error 4 in thunar[5615a964+92000] likely on CPU 7 (core 3,
socket 0)
[18950.426895] Code: f3 48 83 ec 38 64 48 8b 04 25 28 00 00 00 48 89 44 24 28 31 c0
48 c7 44 24 20 00 00 00 00 48 85 f6 0f 84 77 02 00 00 48 8b 06 <48> 39 10 0f 84
f1 01 00 00 4c 8b bf 28 01 00 00 4c 39 fe 0f 84 cb
This lines point to following source location:
thunar/thunar-window.c, line 4000
https://sources.debian.org/src/thunar/4.18.4-1/thunar/thunar-window.c/#L4000
3999 /* if the view already has the correct type then just return */
4000 if (view != NULL && G_TYPE_FROM_INSTANCE (view) == view_type)
4001 return;
Unfortunately this might yet not be enough for the maintainer to fix the issue.
Following link contains a few pointers how to get a backtrace of a crash:
https://wiki.debian.org/HowToGetABacktrace
Kind regards,
Bernhard
https://wiki.debian.org/InterpretingKernelOutputAtProcessCrash
[18950.426861] Thunar[3027]: segfault at 0 ip 5615a96c98cc sp
7ffd2dbd7320 error 4 in thunar[5615a964+92000] likely on CPU 7 (core 3,
socket 0)
[18950.426895] Code: f3 48 83 ec 38 64 48 8b 04 25 28 00 00 00 48 89 44 24 28
31 c0 48 c7 44 24 20 00 00 00 00 48 85 f6 0f 84 77 02 00 00 48 8b 06 <48> 39 10
0f 84 f1 01 00 00 4c 8b bf 28 01 00 00 4c 39 fe 0f 84 cb
error 4 == 0b0100:
* bit 0 ==0: no page found
* bit 1 ==0: read access
* bit 2 ==1: user-mode access
.
echo -n "find /b ..., ..., 0x" && \
echo "f3 48 83 ec 38 64 48 8b 04 25 28 00 00 00 48 89 44 24 28 31 c0 48 c7 44
24 20 00 00 00 00 48 85 f6 0f 84 77 02 00 00 48 8b 06 <48> 39 10 0f 84 f1 01 00
00 4c 8b bf 28 01 00 00 4c 39 fe 0f 84 cb" \
| sed 's/[<>]//g' | sed 's/ /, 0x/g'
# Bookworm/stable amd64 qemu VM 2024-04-09
apt update
apt install gdb thunar thunar-dbgsym
gdb -q
set width 0
set pagination off
file /usr/bin/thunar
tb main
run
pipe info target | grep "\.text"
find /b 0x5557fdb0, 0x5560bad9, 0xf3, 0x48, 0x83, 0xec, 0x38,
0x64, 0x48, 0x8b, 0x04, 0x25, 0x28, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44, 0x24,
0x28, 0x31, 0xc0, 0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00, 0x48,
0x85, 0xf6, 0x0f, 0x84, 0x77, 0x02, 0x00, 0x00, 0x48, 0x8b, 0x06, 0x48, 0x39,
0x10, 0x0f, 0x84, 0xf1, 0x01, 0x00, 0x00, 0x4c, 0x8b, 0xbf, 0x28, 0x01, 0x00,
0x00, 0x4c, 0x39, 0xfe, 0x0f, 0x84, 0xcb
b * (0x556038a2 + 42)
info b
disassemble /r 0x556038a2, 0x556038a2 + 62
benutzer@debian:~$ gdb -q
(gdb) set width 0
(gdb) set pagination off
(gdb) file /usr/bin/thunar
Reading symbols from /usr/bin/thunar...
Reading symbols from
/usr/lib/debug/.build-id/1c/0053bee14d3fb731923319e68ac183a810d9db.debug...
(gdb) tb main
Temporary breakpoint 1 at 0x2bdd0: file ./thunar/main.c, line 49.
(gdb) run
Starting program: /usr/bin/thunar
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Temporary breakpoint 1, main (argc=1, argv=0x7fffe4d8) at ./thunar/main.c:49
49 ./thunar/main.c: Datei oder Verzeichnis nicht gefunden.
(gdb) pipe info target | grep "\.text"
0x5557fdb0 - 0x5560bad9 is .text
...
(gdb) find /b 0x5557fdb0, 0x5560bad9, 0xf3, 0x48, 0x83, 0xec,
0x38, 0x64, 0x48, 0x8b, 0x04, 0x25, 0x28, 0x00, 0x00, 0x00, 0x48, 0x89, 0x44,
0x24, 0x28, 0x31, 0xc0, 0x48, 0xc7, 0x44, 0x24, 0x20, 0x00, 0x00, 0x00, 0x00,
0x48, 0x85, 0xf6, 0x0f, 0x84, 0x77, 0x02, 0x00, 0x00, 0x48, 0x8b, 0x06, 0x48,
0x39, 0x10, 0x0f, 0x84, 0xf1, 0x01, 0x00, 0x00, 0x4c, 0x8b, 0xbf, 0x28, 0x01,
0x00, 0x00, 0x4c, 0x39, 0xfe, 0x0f, 0x84, 0xcb
0x556038a2
1 pattern found.
(gdb) b * (0x556038a2 + 42)
Breakpoint 2 at 0x556038cc: file ./thunar/thunar-window.c, line 4000.
(gdb) info b
Num Type Disp Enb AddressWhat
2 breakpoint keep y 0x556038cc in
thunar_window_replace_view at ./thunar/thunar-window.c:4000
(gdb) disassemble /r 0x556038a2, 0x556038a2 + 62
Dump of assembler code from 0x556038a2 to 0x556038e0:
0x556038a2 : f3 48 83 ec 38
repz sub $0x38,%rsp
0x556038a7 : 64 48 8b 04 25 28 00 00
00 mov%fs:0x28,%rax
0x556038b0 : 48 89 44 24 28
mov%rax,0x28(%rsp)
0x556038b5 : 31 c0
xor%eax,%eax
0x556038b7 : 48 c7 44 24 20 00 00 00
00 movq $0x0,0x20(%rsp)
0x556038c0 : 48 85 f6
test %rsi,%rsi
0x556038c3 : 0f 84 77 02 00 00
je 0x55603b40
0x556038c9 : 48 8b 06
mov(%rsi),%rax
0x556038cc : 48 39 10
cmp%rdx,(%rax)<<<
0x556038cf : 0f 84 f1 01 00 00
je 0x55603ac6
0x556038d5 : 4c 8b bf 28 01 00 00
mov0x128