Emulator Issues #10443
closedDolphin's DSP LLE recompiler sometimes hangs indefinitely when launching Pikmin 2
0%
Description
Game Name?
Pikmin 2
Game ID? (right click the game in the game list, properties, info tab)
GPVE01
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
66f8d886afa0742cd9901d1bfe3b114f
What's the problem? Describe what went wrong.
After lanching "Pikmin 2" with the DSP LLE Recompiler it sometimes works and sometimes it hangs forever as far as I know
What steps will reproduce the problem?
Choose DSP LLE Recompiler and keep relaunching "Pikmin 2" until dolphin hangs (should happen within the first 2 seconds)
Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
4.0-8506, 4.0-8828, 4.0-9390, 4.0-9507, 5.0, 5.0-419, 5.0-510, 5.0-754, 5.0-999, 5.0-2354, 5.0-4869, 5.0-4875
What are your PC specifications? (CPU, GPU, Operating System, more)
Windows 10 Pro
Intel 7700K
Nvidia GTX 1080 Ti
I also had my friend test his computer but idk his full specs
Windows 10 Home
Some Intel CPU (a little older then mine is all I know)
Nvidia GTX 1070
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
The issue happens no matter what audio backend you choose or graphics backend
I tried other games and I only could get it to happen to "Pikmin 2"
Video I asked my friend to take of the issue:
https://drive.google.com/uc?id=0B3zepOVMXufDR0xaUEZHVlB5eWs
Updated by JMC4789 over 7 years ago
Have you tried using single core? Dualcore is known to hang randomly, and LLE's timings are tighter than HLE
Updated by JMC4789 over 7 years ago
Can you get a full log of what happens when it hangs compared to when it boots using Dolphin's logging features?
Updated by LizardPikmin over 7 years ago
Is this what you mean?:
https://pastebin.com/9bCB0c1b
Updated by LizardPikmin over 7 years ago
this it it booting:
https://pastebin.com/gxqccgbn
Updated by LizardPikmin over 7 years ago
if you mean a FIFO Player log I can't get it to log anything when it hangs as it seems to hang aswell
Updated by JMC4789 over 7 years ago
No, those logs are what I meant. Nothing looks off... so I can't tell why it'd be hanging from that. i'll have to toy with it.
Updated by ligfx over 7 years ago
Are you using the reverse-engineered DSP ROM Dolphin ships with, or a DSP ROM ripped from a real console?
Updated by LizardPikmin over 7 years ago
The one shipped with dolphin I assume.
Updated by ligfx over 7 years ago
Hmm. I am unable to reproduce this right now (on macOS, if that matters).
In addition to Dolphin LLE timing, this is one of the Zelda ucodes, so it switches DSP emulation to another thread (standalone thread -> main thread) after loading the ucode. There could potentially be issues with that as well.
Updated by LizardPikmin over 7 years ago
Also if this help it does not happen on HLE emulation or LLE interpreter only the LLE recompiler.
Updated by LizardPikmin over 7 years ago
I also don't know if it matters if it is on macOS but I could try it later on my mac
Updated by LizardPikmin over 7 years ago
Here is what the CPU cores look like on a Normal Boot of Pikmin 2 and a Failed Boot of Pikmin 2 both using the DSP LLE recompiler:
Updated by LizardPikmin over 7 years ago
I tested build 5.0-4869 on my iMac running OS X Yosemite and like you ligfx, I could NOT get the issue to happen on macOS.
Updated by JMC4789 over 7 years ago
Can you narrow down which build introduced the problem? Or are you saying it's alreayd fixed?
Updated by LizardPikmin over 7 years ago
I am saying that the issue happens as far as I know on atleast Windows 10 PCs and does not happen on macOS
I will start downloading more Dolphin builds to test
Updated by LizardPikmin over 7 years ago
It seems the issue is less common on older builds but so far I have reproduced it down to 4.0-7700
http://imgur.com/ZP0cDEn
Note: the FPS will be 0 when the issue happens and the VPS will be around 60
Updated by ligfx over 7 years ago
Can you try running Dolphin with a fresh configuration (though configured to use DSP-LLE, of course) on your Windows computer? You can do that by renaming or moving the configuration folder located at My Documents/Dolphin Emulator/Config.
That will help us figure out if it's a Windows-specific issue, or an issue with your and your friend's configuration. It's a small likelihood, I know, but maybe some setting's default value or meaning changed, which is why JMC47 and the Macs can't reproduce it.
Updated by LizardPikmin over 7 years ago
This is Dolphin 5.0 with a clean config only changed to use DSP LLE Recompiler and Single Core:
http://imgur.com/jFdJsM7
This is also what happens if I minimize it:
http://imgur.com/5YQcZ9j
I have tested Dolphin with a clean config, using portable.txt and a clean config, and my default config and the issue happens on all 3
Updated by LizardPikmin over 7 years ago
also I did this on another computer if that helps
heres the specs for that computer showing the issue and core usage at around 90% on dolphins core
http://imgur.com/cZMI6Zc
Updated by LizardPikmin over 7 years ago
I think I have narrowed down the issue starting between build 4.0-6850 and 4.0-7700
I could not get it to happen on builds:
4.0.2
4.0-3300
4.0-6080
4.0-6850
Updated by LizardPikmin over 7 years ago
I got it to happen all the way down to 4.0-7017 however while it looks to be the same issue, the issue is a lot more common it the newer builds like 5.0-4875 where reproducing it only takes about 30 seconds or less and the older builds take like 5 mins+ to reproduce.
Updated by LizardPikmin over 7 years ago
Would a Save State of Pikmin 2 with the issue help?
Updated by Franky over 7 years ago
Yeah, i have ran into the same issue at first i thought it was just me but after i read this i can conform that the issue is with the lle recompiler as changing the dsp engine fixes the issue for me entirely.
Updated by LizardPikmin over 7 years ago
Franky wrote:
Yeah, i have ran into the same issue at first i thought it was just me but after i read this i can conform that the issue is with the lle recompiler as changing the dsp engine fixes the issue for me entirely.
Oh? what type of computer do you use?
Updated by LizardPikmin over 7 years ago
After doing A LOT of testing on many builds of Dolphin (about 30 or so) I can say that it "feels" like some type of race condition bug
I am NOT familiar with Dolphin's code and inner workings like you guys are but that is just my guess and I could be completely wrong but I think it helps to give all the details I can think of
What I question is this:
Why do later build make this issue happen more often? (that could be just a fluke but it seems unlikely from my tests)
I also want to state that while I could not get the issue to happen for me on Dolphin 4.0.2 I am not 100% certain it doesn't happen on that build since a build of Dolphin I thought the issue did not happen on I just recently got it to happen on (that build being 4.0-6995)
Updated by Fog over 7 years ago
If you're on Windows, please try using this tool to help you with bisecting the issue:
Updated by JMC4789 over 7 years ago
Does it still happen if you start an input recording to boot Pikmin 2 instead launching it normally?
Starting an input recording puts us into a more deterministic mode, so, it'll either crash all the time or never.
Updated by LizardPikmin over 7 years ago
Using Movie > Start Recording Input, I could NOT get the issue to happen by relaunching (I relaunched about 50 times)
I decided to use Dolphin build 5.0-4869 for this since the issue happens about 1 in every 10 or so launches.
However using a Save State I made when the issue happened by a regular launch, I can get the game to hang no matter how I launch it or whenever I drag said Save State into Dolphin. (it makes Dolphin freeze on whatever frame was last rendered)
Also to Note: Any on screen text that can be rendered by Dolphin like the FPS, System Time, Show Statistics, etc will also be frozen.
I am not so sure how good using the Dolphin Bisect Tool is for testing this issue, since at the moment I have it down to Dolphin build 4.0-5973 and that took about 857 relaunches (or about 50 minutes...) using a script I made to relaunch the game until it fails.
Updated by LizardPikmin over 7 years ago
And since I can't edit the last post that 50 minutes was only for build 4.0-5973.
Updated by LizardPikmin over 7 years ago
Would posting that save state help? (idk if it is allowed is why I am asking)
Updated by ligfx over 7 years ago
Yes, it's allowed. (Save states are only useful when you already have the original game, so there's no copyright infringement or anything like that). Go ahead and post it, it might help with debugging to see where the emulation is hung up.
Updated by LizardPikmin over 7 years ago
Here is a download for the Save States: (you don't need discord to download it)
https://cdn.discordapp.com/attachments/344399287720869911/344399767633133578/Pikmin_2_Save_States_Bugged.zip
Updated by Franky over 7 years ago
Oh I'm so sorry I didn't know anyone had replied to me. I just saw it in my email.
Specs
i5-6400
windows 10
750 ti
Updated by LizardPikmin over 7 years ago
I decided to test more games out that I had and so far this issue now happens with 3 games in total, Pikmin 2 like before and the two others being The Legend of Zelda: The Wind Waker and The Legend of Zelda: Twilight Princess (GameCube)
I wasn't sure if I should of opened a new issue for this so I wanted to report it here first.
Updated by LizardPikmin over 7 years ago
I have gotten the hang to happen to 4 games now:
Pikmin 2:
19:17:475 HW\DSPLLE\DSPHost.cpp:73 N[DSPLLE]: g_dsp.iram_crc: 2fcdf1ec
19:17:493 DSP\DSPHWInterface.cpp:248 N[DSPLLE]: *** Copy new UCode from 0x804a44e0 to 0x0000 (crc: 2fcdf1ec)
The Legend of Zelda: The Wind Waker:
25:12:294 HW\DSPLLE\DSPHost.cpp:73 N[DSPLLE]: g_dsp.iram_crc: 86840740
25:12:314 DSP\DSPHWInterface.cpp:248 N[DSPLLE]: *** Copy new UCode from 0x80399420 to 0x0000 (crc: 86840740)
The Legend of Zelda: Twilight Princess:
31:24:065 HW\DSPLLE\DSPHost.cpp:73 N[DSPLLE]: g_dsp.iram_crc: 6ca33a6d
31:24:084 DSP\DSPHWInterface.cpp:248 N[DSPLLE]: *** Copy new UCode from 0x803c7920 to 0x0000 (crc: 6ca33a6d)
Super Mario Sunshine:
47:48:681 HW\DSPLLE\DSPHost.cpp:73 N[DSPLLE]: g_dsp.iram_crc: 56d36052
47:48:700 DSP\DSPHWInterface.cpp:248 N[DSPLLE]: *** Copy new UCode from 0x803e47a0 to 0x0000 (crc: 56d36052)
It seems this issue only happens to only Nintendo made games but not every Nintendo made game I have.
It doesn't mean it can't happen to 3rd party games but of the ones I have it never happens.
Also my testing is quite limited since I have a very small test sample.
Updated by JosJuice over 7 years ago
The pattern seems to be that it only happens to games that use the Zelda ucode: https://wiki.dolphin-emu.org/index.php?title=Category:Zelda_ucode_games
Updated by LizardPikmin over 7 years ago
From that list I have the following:
Animal Crossing (in a box somewhere)
Luigi's Mansion (in a box somewhere)
Mario Kart: Double Dash!! (ready for testing)
Pikmin (ready for testing)
Pikmin 2 (ready for testing)
Pikmin (Wii) (in a box somewhere)
Super Mario Galaxy (in a box somewhere)
Super Mario Galaxy 2 (in a box somewhere)
Super Mario Sunshine (ready for testing)
The Legend of Zelda: The Wind Waker (ready for testing)
The Legend of Zelda: Twilight Princess (GC) (ready for testing)
If you want me to I will be happy to try to find the other games I have stored somewhere but it might take some time.
Updated by JosJuice over 7 years ago
Testing them all is probably not necessary – I was just pointing it out in case you were curious about the pattern.
Updated by LizardPikmin over 7 years ago
Alright, if you need anymore information or want me to test something I would be happy to, I look at this bug report everyday almost so I can be easily contacted.
Updated by JMC4789 almost 6 years ago
- Status changed from New to Duplicate
Confirmed, adding to a bigger issue.
Updated by JMC4789 almost 6 years ago
- Is duplicate of Emulator Issues #11384: Zelda ucode games randomly hang on startup while using the DSP LLE audio emulation engine. added