diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-17 09:10:43 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-17 09:10:43 +0200 |
| commit | f2ec263023649e596c5076df32c2d328bc9393d2 (patch) | |
| tree | 5dd86caab46e552bd2e62bf9c4fb1a7504a44db4 /results/scraper/fex/2256 | |
| parent | 63d2e9d409831aa8582787234cae4741847504b7 (diff) | |
| download | qemu-analysis-main.tar.gz qemu-analysis-main.zip | |
Diffstat (limited to 'results/scraper/fex/2256')
| -rw-r--r-- | results/scraper/fex/2256 | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/results/scraper/fex/2256 b/results/scraper/fex/2256 new file mode 100644 index 000000000..11c173a4c --- /dev/null +++ b/results/scraper/fex/2256 @@ -0,0 +1,87 @@ +Crash on winecheck.exe +reproduce command: + +``` +FEXLoader ./wine-1.6/bin/wine ~/Downloads/ogl/winecheck.exe + +fixme:winediag:start_process Wine Staging 1.9.7 is a testing version containing experimental patches. +fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org. +Checking OpenGL ... +OpenGL Vendor: X.Org +OpenGL Renderer: AMD OLAND (DRM 2.50.0 / 5.15.0, LLVM 6.0.0) +OpenGL Direct Rendering: True +OpenGL: PASSED + +Checking fonts ... +Found Arial in wine\fonts\Arial.ttf +Found Arial in wine\fonts\Arial_Bold.ttf +Found Arial in wine\fonts\Arial_Bold_Italic.ttf +Found Arial in wine\fonts\Arial_Italic.ttf +Found Verdana in wine\fonts\Verdana.ttf +Found Verdana in wine\fonts\Verdana_Bold.ttf +Found Verdana in wine\fonts\Verdana_Bold_Italic.ttf +Found Verdana in wine\fonts\Verdana_Italic.ttf +Fonts: PASSED + +Checking ACLs / XATTR ... +ACLs: PASSED +Segmentation fault (core dumped) +``` + +winecheck.exe source code: + +https://github.com/keithbowes/pipelight/blob/40dbef17afd4d559f7e923e4970c2468fd30c83b/src/windows/winecheck/check.c + +Desc: +it seems if winecheck invoke checkOpenGL function ,then wine will crash on random point near main function exit. and crash chance is not 100%, below 50%. + +https://github.com/keithbowes/pipelight/blob/40dbef17afd4d559f7e923e4970c2468fd30c83b/src/windows/winecheck/check.c#L509 + +``` +crash stackļ¼ +Process 12348 stopped +* thread #3, name = 'radeon_cs:0', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + frame #0: 0x0000000000000000 +error: memory read failed for 0x0 + thread #6, name = 'si_shader:2', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + frame #0: 0x0000000000000000 +error: memory read failed for 0x0 + thread #8, name = 'si_shader_low:1', stop reason = signal SIGSEGV: address access protected (fault address: 0x2f5cfd800) + frame #0: 0x0000ffffa5832060 libc.so.6`__GI___pthread_mutex_unlock_usercnt at pthread_mutex_unlock.c:40:30 +(lldb) bt +* thread #3, name = 'radeon_cs:0', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + * frame #0: 0x0000000000000000 +(lldb) bt +* thread #3, name = 'radeon_cs:0', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + * frame #0: 0x0000000000000000 +(lldb) thread list +Process 12348 stopped + thread #1: tid = 12348, 0x0000ffffa5887910 libc.so.6`__libc_open64(file="/home/bogus/.fex-emu/Telemetry/winecheck.exe.telem.1", oflag=<unavailable>) at open64.c:41:10, name = 'winecheck.exe' +* thread #3: tid = 12473, 0x0000000000000000, name = 'radeon_cs:0', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + thread #6: tid = 12476, 0x0000000000000000, name = 'si_shader:2', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + thread #8: tid = 12478, 0x0000ffffa5832060 libc.so.6`__GI___pthread_mutex_unlock_usercnt at pthread_mutex_unlock.c:40:30, name = 'si_shader_low:1', stop reason = signal SIGSEGV: address access protected (fault address: 0x2f5cfd800) +(lldb) t 6 +* thread #6, name = 'si_shader:2', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + frame #0: 0x0000000000000000 +error: memory read failed for 0x0 +(lldb) bt +* thread #6, name = 'si_shader:2', stop reason = signal SIGSEGV: invalid address (fault address: 0x0) + * frame #0: 0x0000000000000000 +(lldb) +``` + +I add debug info in RADEON_Handler, but near the main exit point, it not invoke RADEON_Handler. + +One thread show it's name is radeon_cs, it's a ioctl cmd +``` +struct drm_radeon_cs { + __u32 num_chunks; + __u32 cs_id; + /* this points to __u64 * which point to cs chunks */ + __u64 chunks; + /* updates to the limits after this CS ioctl */ + __u64 gart_limit; + __u64 vram_limit; +}; +``` +I think the crash relation with openGL. But I don't know how to analysis this problem. \ No newline at end of file |