Project

General

Profile

Actions

Emulator Issues #13301

closed

Windwaker JIT Segfault on 5.0-19433

Added by k66wkv4vekfbmi 10 months ago. Updated 10 months ago.

Status:
Duplicate
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

Legend of Zelda: Wind Waker

Game ID?

GZLE01

MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)

md5 5514876f44ebd5786630e72bd6e7e94e
sha1 8bf09edd1a80275c7eabc326c50f6755c1985634

Bad dump, missing game size

What's the problem? Describe what went wrong.

Segfault immediately (well, memory increases by around 10G for a few minutes, no screen refresh during that time, then segfault)

What steps will reproduce the problem?

Start game with JIT on

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Testing now

Is the issue present in the latest stable version?

I'm on Arch Linux, current stable is less than the version available on Arch.

What are your PC specifications? (CPU, GPU, Operating System, more)

GeForce GTX 1050
Ryzen something

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

Turning JIT off (cached interpreter) allows it to run.

           PID: 352396 (dolphin-emu)
           UID: 1000 (x)
           GID: 1000 (x)
        Signal: 11 (SEGV)
     Timestamp: Thu 2023-07-06 18:52:56 JST (6min ago)
  Command Line: dolphin-emu
    Executable: /usr/bin/dolphin-emu
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (x)
       Boot ID: c289b53c9d3b4ec7a24890a5ee57a8d0
    Machine ID: d045f6c2ada3460dbb2168ea6939fcca
      Hostname: y
       Storage: /var/lib/systemd/coredump/core.dolphin-emu.1000.c289b53c9d3b4ec7a24890a5ee57a8d0.352396.1688637176000000.zst (present)
  Size on Disk: 15.5M
       Message: Process 352396 (dolphin-emu) of user 1000 dumped core.
                
                Stack trace of thread 352482:
                #0  0x000055976f37e6ff n/a (dolphin-emu + 0x9776ff)
                #1  0x000055976ef1d1e8 n/a (dolphin-emu + 0x5161e8)
                #2  0x000055976eef0424 n/a (dolphin-emu + 0x4e9424)
                #3  0x000055976eef1fcb n/a (dolphin-emu + 0x4eafcb)
                #4  0x00007fbd5affb0eb n/a (n/a + 0x0)
                #5  0x0000000000000000 n/a (n/a + 0x0)



(gdb) bt full
#0  0x000055976f37e6ff in Gen::XEmitter::Write8(unsigned char) (value=199 '\307', this=0x7fc0f05a35e8) at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Common/x64Emitter.cpp:139
        _operandReg = <optimized out>
        immToWrite = 0
        op_def = @0x55976f644b06: {toRm8 = 136 '\210', toRm32 = 137 '\211', fromRm8 = 138 '\212', fromRm32 = 139 '\213', imm8 = 198 '\306', imm32 = 199 '\307', simm8 = 204 '\314', eaximm8 = 204 '\314', eaximm32 = 204 '\314', ext = 0 '\000'}
#1  Gen::OpArg::WriteNormalOp(Gen::XEmitter*, bool, Gen::NormalOp, Gen::OpArg const&, int) const (this=0x7fbb48a53110, emit=0x7fc0f05a35e8, toRM=true, op=Gen::NormalOp::MOV, operand=..., bits=32)
    at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Common/x64Emitter.cpp:1497
        _operandReg = <optimized out>
        immToWrite = 0
        op_def = @0x55976f644b06: {toRm8 = 136 '\210', toRm32 = 137 '\211', fromRm8 = 138 '\212', fromRm32 = 139 '\213', imm8 = 198 '\306', imm32 = 199 '\307', simm8 = 204 '\314', eaximm8 = 204 '\314', eaximm32 = 204 '\314', ext = 0 '\000'}
#2  0x000055976ef1d1e8 in Jit64::mtspr(UGeckoInstruction) (this=0x7fc0f05a33c0, inst=...) at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp:302
        iIndex = 912
        d = <optimized out>
        Rd = {rc = 0x7fc0f0623a20, contents = std::variant<std::monostate, Gen::X64Reg, unsigned int, unsigned long> [index 3] = {3}}
#3  0x000055976eef0424 in Jit64::CompileInstruction(PPCAnalyst::CodeOp&) (op=..., this=0x7fc0f05a33c0)
    at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit64_Tables.cpp:492
        cpu = <optimized out>
        power_pc = <optimized out>
        op = @0x7fc0f0625630: {inst = {hex = 2087773094, {Rc = 0, SUBOP10 = 467, RB = 28, RA = 16, RD = 3, OPCD = 31}, {SIMM_16 = -7258, TO = 3, OPCD_2 = 31}, {Rc_2 = 0, RS = 3, OPCD_3 = 31}, {UIMM = 58278, OPCD_4 = 31}, {LK = 0, AA = 1, LI = 1849577, OPCD_5 = 31}, {LK_2 = 0, AA_2 = 1, BD = 14569, BI = 16, BO = 3, OPCD_6 = 31}, {LK_3 = 0, BI_2 = 16, BO_2 = 3, OPCD_7 = 31}, {RB_2 = 28, RA_2 = 16, L = 1, CRFD = 0, OPCD_8 = 31}, {SIMM_16_2 = -7258, RA_3 = 16, L_2 = 1, CRFD_2 = 0, OPCD_9 = 31}, {UIMM_2 = 58278, RA_4 = 16, L_3 = 1, CRFD_3 = 0, OPCD_A = 31}, {SUBOP10_2 = 467, RB_5 = 28, RA_5 = 16, L_4 = 1, CRFD_4 = 0, OPCD_B = 31}, {SR = 0, RS_2 = 3, OPCD_C = 31}, {Rc_4 = 0, SUBOP5 = 19, RC = 14, RA_6 = 16, RD_2 = 3, OPCD_D = 31}, {OE = 0, SPR = 540}, {OE_3 = 0, SPRU = 28, SPRL = 16}, {Rc_3 = 0, ME = 19, MB = 14, SH = 28}, {CRBB = 28, CRBA = 16, CRBD = 3}, {TBR = 540}, {TBRU = 28, TBRL = 16}, {CRFS = 4, CRFD_5 = 0}, {CRM = 14, FD = 3}, {FC = 14, FB = 28, FA = 16, FS = 3}, {FM = 56}, {SUBOP6 = 19, Ix = 7, Wx = 0, I = 6, W = 1}, {SIMM_12 = 934}, {NB = 28}}, opinfo = 0x55976f7a6580 <PPCTables::s_tables+6272>, address = 2150637220, branchTo = 4294967295, regsOut = {m_val = 0}, regsIn = {m_val = 8}, fregsIn = {m_val = 0}, fregOut = -1 '\377', isBranchTarget = false, branchUsesCtr = false, branchIsIdleLoop = false, wantsCR = {m_val = 255 '\377'}, wantsFPRF = true, wantsCA = true, wantsCAInFlags = false, outputCR = {m_val = 0 '\000'}, outputFPRF = false, outputCA = false, canEndBlock = false, canCauseException = true, skipLRStack = false, skip = false, fprInUse = {m_val = 0}, gprInUse = {m_val = 3}, gprDiscardable = {m_val = 0}, fprDiscardable = {m_val = 0}, fprInXmm = {m_val = 0}, fprIsSingle = {m_val = 0}, fprIsDuplicated = {m_val = 0}, fprIsStoreSafeBeforeInst = {m_val = 0}, fprIsStoreSafeAfterInst = {m_val = 0}}
        opinfo = 0x55976f7a6580 <PPCTables::s_tables+6272>
        gatherPipeIntCheck = <optimized out>
        i = 2
        start = 0x57ff3000 <error: Cannot access memory at address 0x57ff3000>
#4  Jit64::DoJit(unsigned int, JitBlock*, unsigned int) (this=this@entry=0x7fc0f05a33c0, em_address=em_address@entry=2150637212, b=b@entry=0x7fbb1c001d98, nextPC=nextPC@entry=2150637240)
    at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit.cpp:1053
        cpu = <optimized out>
        power_pc = <optimized out>
        op = @0x7fc0f0625630: {inst = {hex = 2087773094, {Rc = 0, SUBOP10 = 467, RB = 28, RA = 16, RD = 3, OPCD = 31}, {SIMM_16 = -7258, TO = 3, OPCD_2 = 31}, {Rc_2 = 0, RS = 3, OPCD_3 = 31}, {UIMM = 58278, OPCD_4 = 31}, {LK = 0, AA = 1, LI = 1849577, OPCD_5 = 31}, {LK_2 = 0, AA_2 = 1, BD = 14569, BI = 16, BO = 3, OPCD_6 = 31}, {LK_3 = 0, BI_2 = 16, BO_2 = 3, OPCD_7 = 31}, {RB_2 = 28, RA_2 = 16, L = 1, CRFD = 0, OPCD_8 = 31}, {SIMM_16_2 = -7258, RA_3 = 16, L_2 = 1, CRFD_2 = 0, OPCD_9 = 31}, {UIMM_2 = 58278, RA_4 = 16, L_3 = 1, CRFD_3 = 0, OPCD_A = 31}, {SUBOP10_2 = 467, RB_5 = 28, RA_5 = 16, L_4 = 1, CRFD_4 = 0, OPCD_B = 31}, {SR = 0, RS_2 = 3, OPCD_C = 31}, {Rc_4 = 0, SUBOP5 = 19, RC = 14, RA_6 = 16, RD_2 = 3, OPCD_D = 31}, {OE = 0, SPR = 540}, {OE_3 = 0, SPRU = 28, SPRL = 16}, {Rc_3 = 0, ME = 19, MB = 14, SH = 28}, {CRBB = 28, CRBA = 16, CRBD = 3}, {TBR = 540}, {TBRU = 28, TBRL = 16}, {CRFS = 4, CRFD_5 = 0}, {CRM = 14, FD = 3}, {FC = 14, FB = 28, FA = 16, FS = 3}, {FM = 56}, {SUBOP6 = 19, Ix = 7, Wx = 0, I = 6, W = 1}, {SIMM_12 = 934}, {NB = 28}}, opinfo = 0x55976f7a6580 <PPCTables::s_tables+6272>, address = 2150637220, branchTo = 4294967295, regsOut = {m_val = 0}, regsIn = {m_val = 8}, fregsIn = {m_val = 0}, fregOut = -1 '\377', isBranchTarget = false, branchUsesCtr = false, branchIsIdleLoop = false, wantsCR = {m_val = 255 '\377'}, wantsFPRF = true, wantsCA = true, wantsCAInFlags = false, outputCR = {m_val = 0 '\000'}, outputFPRF = false, outputCA = false, canEndBlock = false, canCauseException = true, skipLRStack = false, skip = false, fprInUse = {m_val = 0}, gprInUse = {m_val = 3}, gprDiscardable = {m_val = 0}, fprDiscardable = {m_val = 0}, fprInXmm = {m_val = 0}, fprIsSingle = {m_val = 0}, fprIsDuplicated = {m_val = 0}, fprIsStoreSafeBeforeInst = {m_val = 0}, fprIsStoreSafeAfterInst = {m_val = 0}}
        opinfo = 0x55976f7a6580 <PPCTables::s_tables+6272>
        gatherPipeIntCheck = <optimized out>
        i = 2
        start = 0x57ff3000 <error: Cannot access memory at address 0x57ff3000>
#5  0x000055976eef1fcb in Jit64::Jit(unsigned int, bool) (this=0x7fc0f05a33c0, em_address=2150637212, clear_cache_and_retry_on_failure=true)
    at /usr/src/debug/dolphin-emu/dolphin-emu/Source/Core/Core/PowerPC/Jit64/Jit.cpp:757
        near_start = 0x57ff3000 <error: Cannot access memory at address 0x57ff3000>
        far_start = 0x759ffb000 <error: Cannot access memory at address 0x759ffb000>
        b = 0x7fbb1c001d98
        block_size = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        nextPC = 2150637240
#6  0x00007fbd5affb0eb in  ()
#7  0x0000000000000000 in  ()

Related issues 1 (0 open1 closed)

Is duplicate of Emulator - Emulator Issues #13267: Arch Linux install and crashesWorking as intended

Actions
Actions #1

Updated by JosJuice 10 months ago

Actions #2

Updated by JosJuice 10 months ago

  • Status changed from New to Duplicate
Actions

Also available in: Atom PDF