FS#78985 - [dolphin-emu] Segmentation fault when using JIT

Attached to Project: Arch Linux
Opened by Theo Martel (Itrimel) - Tuesday, 04 July 2023, 20:41 GMT
Last edited by Toolybird (Toolybird) - Tuesday, 04 July 2023, 22:01 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

When launching any game using the JIT recompiler, Dolphin crashes immediately with a segfault.

I tried recompiling the package locally using the PKGBUILD for version 5.0.r19433.34527cadcc-4, and I could not reproduce the problem, so I suppose there is some kind of packaging problem ?
In order to compile locally, I had to change two things, so maybe it is also linked to that :
- CMake was not taking the right version of Mbed TLS, I had to use this patch : https://github.com/dolphin-emu/dolphin/pull/11847/files
- The compilation was failing on some mGBA features, so I deactivated it by passing -DUSE_MGBA=OFF to CMake

Additional info:
* found in 5.0.r19433.34527cadcc-4, haven't tried in a few months so maybe present for longer
* backtrace :
#0 0x00005604b66ac6ff in Gen::XEmitter::Write8(unsigned char) (value=199 '\307', this=0x7f4974623d78) at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Common/x64Emitter.cpp:139
#1 Gen::OpArg::WriteNormalOp(Gen::XEmitter*, bool, Gen::NormalOp, Gen::OpArg const&, int) const (this=0x7f43b52a9350, emit=0x7f4974623d78, toRM=true, op=Gen::NormalOp::MOV, operand=..., bits=32)
at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Common/x64Emitter.cpp:1497
#2 0x00005604b624b1e8 in Jit64::mtspr(UGeckoInstruction) (this=0x7f4974623b50, inst=...) at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp:302
#3 0x00005604b621e424 in Jit64::CompileInstruction(PPCAnalyst::CodeOp&) (op=..., this=0x7f4974623b50) at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit64_Tables.cpp:492
#4 Jit64::DoJit(unsigned int, JitBlock*, unsigned int) (this=this@entry=0x7f4974623b50, em_address=em_address@entry=2148426512, b=b@entry=0x7f43ac0011a8, nextPC=nextPC@entry=2148426568)
at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit.cpp:1053
#5 0x00005604b621ffcb in Jit64::Jit(unsigned int, bool) (this=0x7f4974623b50, em_address=2148426512, clear_cache_and_retry_on_failure=true) at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit.cpp:757
#6 0x00007f45d7ffc0eb in ()
#7 0x0000000000000000 in ()



Steps to reproduce:

Launch Dolphin installed with package 5.0.r19433.34527cadcc-4

In Config -> Advanced, make sure "JIT recompiler" is selected for CPU Emulation Engine

Launch any game -> Immediate crash
This task depends upon

Closed by  Toolybird (Toolybird)
Tuesday, 04 July 2023, 22:01 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#78628 

Loading...