Project

General

Profile

Actions

Emulator Issues #11687

closed

Netplay always desyncs at frame 0 with Gecko and an sd.raw mod

Added by Roadhog360-2 about 5 years ago. Updated about 5 years ago.

Status:
Invalid
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?

Super Smash Bros. Brawl
Gecko OS

Game ID? (right click the game in the game list, Properties, Info tab)

RSBE01 for Super Smash Bros. Brawl
Gecko OS does not have an ID.

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

[Put MD5 Hash here]

What's the problem? Describe what went wrong.

Game always desyncs at frame 0. The game appears to work fine at first, but as soon as anything random happens, such as which side of the stage characters spawn on, or item RNG, this is where it all falls apart.
This does NOT happen without Gecko OS, but Gecko OS is needed to load mods from the sd.raw.
Same game, same hashes, same everything.
We have checked all of our settings (they're literally the same)

What steps will reproduce the problem?

SSBB ISO and use Gecko OS to launch mods on the sd.raw. (Certain codes are required for this, in case you want our sd.raw, it's here: [[https://mega.nz/#!F1wk3AgL!JTdzbIkcP1XWc4kDQP1IxRZ8dMjZJjHbt74GbezRKR0]])

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

5.0-9995

Is the issue present in the latest stable version?

I wouldn't think so. We reverted to the Anther's recommended Netplay version of 5.0-123 and it worked fine, so we know it's definitely an issue with one of the later builds.

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)

Anything after 5.0-123. I'll bisect tomorrow, so if a bisection is needed from me, I'll do it then.
Although I'm not sure if both of us need to bisect since this is a Netplay-related issue. Would we both have to make a room for every single build bisected, because I hope not; that would take a long time!

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


NVIDIA RTX 2060

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

You can download the sd.raw we used here, to test with what exactly we had:
[[https://mega.nz/#!F1wk3AgL!JTdzbIkcP1XWc4kDQP1IxRZ8dMjZJjHbt74GbezRKR0]]

I'm tired and probably missed a few things I should have noted here. Ask me if you need any more info.


Files

Config.zip (9.56 KB) Config.zip Roadhog360-2, 04/23/2019 01:33 AM
Config2.zip (15.2 KB) Config2.zip Roadhog360-2, 04/23/2019 01:33 AM
data.bin (0 Bytes) data.bin Roadhog360-2, 04/23/2019 01:34 AM
Actions #1

Updated by Roadhog360-2 about 5 years ago

Okay, okay. So I just checked the bisection thread and I have to launch the game every single time, which wouldn't be a problem, except this is a Netplay issue and I'm not going to bother another friend to create a Net play room for each and every build of what could be thousands of tests (He doesn't have time to do that either). I really love the newer version features though, so if someone else would want to do Netplay Bisection tests with out set-up, let me know.

Actions #2

Updated by Techjar about 5 years ago

You could just run 2 instances of Dolphin.

Actions #3

Updated by JMC4789 about 5 years ago

Yeah, if you're sure this isn't a setup issue on your end, you gotta bisect it.

Actions #4

Updated by JosJuice about 5 years ago

Also, you would only need to test 13 builds or so, not thousands.

Actions #5

Updated by Billiard26 about 5 years ago

Yeah it's not "thousands of tests". It's log2(9995-123) or.. like 14 tests.

Actions #6

Updated by Roadhog360-2 about 5 years ago

*our

Also, I asked for one more test from him, and it still happens on 5.0-10039.

Actions #7

Updated by Roadhog360-2 about 5 years ago

Oh wow, lots of comments on this, which I only saw after my last one. I didn't even think of using two Dolphin Windows. Also, how can you be so sure it'll only be 14 tests? There are so many updates between 321 and now.

Actions #8

Updated by Techjar about 5 years ago

Because that's how bisecting works, you split the set of builds in half and test the middle, repeat until you're down to one.

Actions #9

Updated by Roadhog360-2 about 5 years ago

I see. I tried connecting to myself using another Dolphin window, and got this error:

Actions #10

Updated by JMC4789 about 5 years ago

Don't use the traversal server, just use direct connection + localhost

Actions #11

Updated by Techjar about 5 years ago

You must have typed the wrong address, it should be 127.0.0.1

Actions #12

Updated by Roadhog360-2 about 5 years ago

I didn't type the wrong address, I was using the traversal server.

Alright, so I used the direct connection, and got a connection, but I got an issue where the sd.raw wouldn't be read and the game hung at a black screen after the Wii strap warning. Dolphin write-locks the sd.raw when loaded, so neither window was able to open it. Not sure how that happens, but either way since Dolphin write-locks the sd.raw either one window or both won't be able to load the sd.raw, both windows won't be able to load the application.

Actions #13

Updated by JMC4789 about 5 years ago

Use portable builds - if two netplay instances are using the same files, then it'll lock up because the file is already in use. So, you want Dolphin folder A and Dolphin folder B both with portable.txt next to the executable. Configure them both individually and it won't lock up like that.

Actions #14

Updated by Roadhog360-2 about 5 years ago

*the sd.raw, not application.

Actions #15

Updated by Roadhog360-2 about 5 years ago

Alright I tried that, and made sure all the files were separate and I'm still getting a hang.

Actions #16

Updated by JMC4789 about 5 years ago

Techjar and I tried it just now. We synced just fine with no problems at all.

First try, latest master, I have to assume you guys have setup something wrong.

We played two rounds with items on and had no issues. I have a feeling some old settings are seeping into your builds and that a clean installation would probably fix whatever problems you're having.

Actions #17

Updated by Techjar about 5 years ago

Could you provide us both you and your friend's config files? I'd like to take a look to see if there's some funny new hidden setting that isn't synced.

Actions #18

Updated by Roadhog360-2 about 5 years ago

Alright. I will note that even though I did hang a few times, I noticed the error showed up a few times, sometimes they appeared when launching the game right before it hanged, and twice, didn't appear at all. I don't know why I didn't mention this before. I'll send our config. Again this doesn't happen without Gecko, but it could be a super specific setting as you said before. Who knows? I'll poke him to get his config file and hand it over.

Meanwhile, here's the settings we used for the room.

Next message will have my config, his config and my Wii save.

Actions #19

Updated by JMC4789 about 5 years ago

Yeah, we're happy to help try to figure out why it's desyncing. The good news is that there's nothing inherently broken in Dolphin, which means that there isn't a huge regression. The bad news is that netplay is still not foolproof, especially Wii netplay.

Actions #20

Updated by Roadhog360-2 about 5 years ago

Yeah. I don't expect it to be perfect with the way it works. I still think it's a great system and you guys did a really good job getting it to work as well as it did. This is the first consistent desync I've had over the years.

... Also, pardon our ignorance, but where can I find my Brawl Wii save and Dolphin configs?

Actions #21

Updated by Techjar about 5 years ago

For the save, right click in the game list an export it. The configs are located in Documents/Dolphin Emulator/Config

Actions #22

Updated by Roadhog360-2 about 5 years ago

The save export says it failed but I got a data.bin. Is this still going to work? Also, I tried to right click and open save folder instead, but nothing happened.

Actions #23

Updated by Techjar about 5 years ago

Uh... maybe that has something to do with the desync. It's possible your NAND is corrupted, try using the Check NAND option under Tools.

Updated by Roadhog360-2 about 5 years ago

Oh, I also forgot these. Our config folders in their fullest. Config is mine, and Config2 is his.

Even though it error-ed out before, it still gave me save data.bin as mentioned before. Might as well send it now. Not sure if it'll work for you, but worth a shot, right?

We'll be checking our NANDs now.

Actions #25

Updated by Roadhog360-2 about 5 years ago

Mine was fine, however his had damage detected. He dumped his Wii NAND while I just used the one that came with the emulator. He repaired it, and we tried again and still got the error.

If my save works and our configs work, can you see if using them causes an issue on your end?

Actions #26

Updated by Roadhog360-2 about 5 years ago

Whoa, suddenly my save is gone. Insert Crab Rave: MY SAVE || IS GONE

Weird.

Actions #27

Updated by JMC4789 about 5 years ago

Try turning off save/NAND syncing maybe? That's the major difference between newer builds and older builds.

Actions #28

Updated by Techjar about 5 years ago

Yeah, disable load wii save as well just so you'll both have an empty netplay NAND.

Actions #29

Updated by Roadhog360-2 about 5 years ago

Yeah. The reason why I have the save syncing on is because I wanted to make it so we had our name tags, controls, and music config settings on, since the mod I sent you guys I added a lot of music into the game. I'll ask if he'll try without a save now.

Actions #30

Updated by JMC4789 about 5 years ago

Yeah, it's not a solution to disable save syncing (we played with save syncing on even) but it'd be nice to know if that was causing the problem.

Actions #31

Updated by Roadhog360-2 about 5 years ago

If I can get my save back I'll try adding it in.

Actions #32

Updated by Roadhog360-2 about 5 years ago

Sorry for the double post (can't edit a message I've already sent) but did you try the configs yet?

Actions #33

Updated by Roadhog360-2 about 5 years ago

Argh! Yeah, my save is completely gone! Crab rave, no! I'll make another save, replicate my stuff and send it over. I think Dolphin outright deleted my save when trying to export it, although I have no idea. It was there up until after I tried exporting it.

Actions #34

Updated by Techjar about 5 years ago

Yeah I'm not able to import the save you provided, it's somehow corrupted.

Actions #35

Updated by Techjar about 5 years ago

The fact that it's 0 bytes probably has something to do with it...

Actions #36

Updated by Roadhog360-2 about 5 years ago

Oof, for me it showed as 9KB for me for some reason. If it was showing as 0KB I wouldn't have sent it. We also tried without saves and it still happened.

Actions #37

Updated by JMC4789 about 5 years ago

There's something set differently between your computers causing this that we're not syncing, and I just don't know what.

Actions #38

Updated by JMC4789 about 5 years ago

Have you tried using a different loader? Are you sure you're using the same revision of the same loader?

Actions #39

Updated by Roadhog360-2 about 5 years ago

We're going to check out the ISO tomorrow, maybe grab them again. He had to get off.

Actions #40

Updated by JMC4789 about 5 years ago

If the ISO works fine without the loader, maybe you're using different revisions of Gecko OS?

Actions #41

Updated by Techjar about 5 years ago

I cannot get any of your configs to desync. Are you sure you have matching ISOs, loaders and SD cards? Make sure to check the hash of the SD cards using the dropdown menu on the button.

Actions #42

Updated by Roadhog360-2 about 5 years ago

We thought that to be the issue, even though it doesn't cause issues on the older builds. We tried using the same Gecko OS and still. Although if it's a desync on frame 0 we're inclined to believe that it's not an issue with Brawl. I'd also like to note that at one point I even got this error a few times (although not every time) while attempting to Netplay myself, so we doubt it could be the ISO.

We can sending the others' ISO over. We're using SSBB Revision one, and both of our hashes are on this list: [[https://www.smashladder.com/guides/view/2657/brawl-iso-md5-checksum-check]] Basically, even if the two hashes are different, as long as they're on the list, and you're using the same version number, (we both checked ours, it's 1.01, so revision 1) they work, and throw no errors on older versions. Perhaps this ISO compatibility got more strict in later versions. I'll have to check up, but it's still weird if that would be the issue since there is literally no error on older versions, also mentioning again I got the error when Netplaying with myself a few times... Maybe that's what happened. Perhaps the hashes are different and simply these newer versions cut this kind of support, being more strict as in requiring the exact hash, unlike older versions which leniently supported this difference as long as the hashes matched.

If that's actually the issue I'm hoping this can be fixed, since it's a pain to download a near-8GB ISO just because the has that should work doesn't any more.

Actions #43

Updated by Techjar about 5 years ago

While for NetPlay we always recommend having matching ISOs to ensure it won't desync, there are certain things that can be done to ISOs (like compression) that won't necessarily cause a desync. There's no hard and fast rule there, it just depends really. Nothing has changed regarding this in newer builds, there aren't and never were any "checks" or "leniency" for matching hashes, it's entirely dependent on the determinism.

However, since you say it desyncs even locally where you're obviously using the same ISO, that can't be related to the issue. I see in the configs you've already got EFB Access from CPU disabled, so that can't be it either. I'm not really sure what the issue could be at this point.

Actions #44

Updated by JMC4789 about 5 years ago

That's why I suggested making fresh portable builds. If it is a setting causing the issue, that would fix it.

Actions #45

Updated by JMC4789 about 5 years ago

I decided to test this myself again just to confirm, no amount of mucking with settings will cause it to fail for me. I just use two separate portable builds, two copies of the SD card, and everything works fine. I'm 100% certain your lockups when testing alone are caused by multiple copies of Dolphin trying to access teh same file at the same time, causing it to lock up.

Actions #46

Updated by Roadhog360-2 about 5 years ago

Yeah. Maybe I didn't have a portable copy. I remember non-portable copies used to not have an option to change the sd.raw path, so I saw that option and immediately assumed my copy was portable. This could have changed and quite frankly I should have checked more thoroughly, because I don't see that one portable file anywhere. I'll make sure to (correctly) set my version to a portable one and try again.

Also as for the 'checks' thing, that's not what I meant, sorry for the bad wording. I meant like if something was changed that would cause two previously Netplayable ISOs to stop working on Netplay together. Not necessarily a check or anything intentional. I do think the hashes are different but they're both on that list I sent, work on the older version and yeah. This could very well be some weird thing in settings that stops it from working at this point. If it's the ISO I'd be legit surprised, but we can also try that if a setting reset doesn't work. What's the MD5 of the ISO you're using? If it's an issue with the hashes in the end (although I doubt it is due to my previous self-test errors, but then again I was stupid and didn't correctly check my settings so I'll need to test again all over), I'll send over one of our ISOs since that'd likely be needed to fix the issue, but I ask this just to be sure I don't send one with the same hash. Also I'd want a way to privately contact you about this if I need to send an ISO since sending an ISO in a public area like this is a no-no.

Actions #47

Updated by Techjar about 5 years ago

A modified ISO won't cause a NetPlay desync if both players have the same modified ISO, and if not it will still only desync if the differences actually affect determinism. Therefore, there is no need to provide us with your ISO. I'm pretty confident it's not related to the issue.

Actions #48

Updated by Roadhog360-2 about 5 years ago

Alright, yep. Creating a portable.txt file in my Dolphin folder instantly made it start creating more folders in the directory with the .exe, not to mention the settings were also fresh. I'll copy over my settings and get my old save off my old PC backup, and try more self-tests tomorrow. Sorry for the stupidity. I would do more tonight, but I'm tired.

Actions #49

Updated by Techjar about 5 years ago

Don't even copy over your configs, just manually reconfigure the necessary things so you aren't bringing over your possibly polluted configs.

Actions #50

Updated by Roadhog360-2 about 5 years ago

That was the plan.

Actions #51

Updated by Roadhog360-2 about 5 years ago

Wait no, I don't know why I said I'm copying my settings, I'm not doing that! Just the save file! AAAAAAAA

Actions #52

Updated by Roadhog360-2 about 5 years ago

Still desyncs...

Actions #53

Updated by Techjar about 5 years ago

Well, the only thing left to try is the thing we thought was ruled out. You'll have to both get the same ISO.

Actions #54

Updated by Roadhog360-2 about 5 years ago

Alright. I also tried self-connection (properly this time), and everything ran smoothly. If it's the ISO would it be possible to fix the issue, since these ISOs used to work?

Actions #55

Updated by Techjar about 5 years ago

No, that's a rabbit hole nobody wants to go down, since mismatched dumps could cause almost anything different to occur. It's not worth the trouble of debugging when it's much easier to just obtain matching dumps.

Actions #56

Updated by Roadhog360-2 about 5 years ago

Good point.

Actions #57

Updated by Roadhog360-2 about 5 years ago

Alright, I can start to tell the ISO plays a role in some way. He sent me his copy, and I tried it out on one Dolphin. However, some different results happen for me. If I start Gecko, the non-host Dolphin hangs on 'Setting up drives...' while the other one launches the game at a lowered frame rate, complete with crunchy audio.

Note he actually started getting this after we reset our settings. We have no idea why both games launched before, and now only one is launching.

Actions #58

Updated by Techjar about 5 years ago

Try disabling dual core, as a lot of games just explode on dual core netplay.

Actions #59

Updated by Roadhog360-2 about 5 years ago

Alright, nevermind, I had an ouchie in my paths while changing the directory to account for the new ISO. Let me try again.

Actions #60

Updated by Roadhog360-2 about 5 years ago

I can confirm that even with the ISO he was using, and with Dual Core enabled on my end, I still got absolutely no errors. I ran several completely random things, picking a random character, stage and even having two Level 9 CPUs battle it out with a random character and it was completely fine. This is probably one of the most mysterious errors I've ever gotten, I still can't pinpoint an issue after literally every slight possibility has been ruled out. Well, at least this confirms it wasn't the ISO thankfully...

So... what now? I can pretty confidently say this is on his end. I can't pinpoint what though.

Actions #61

Updated by Roadhog360-2 about 5 years ago

"I can confirm that even with the ISO he was using"

Whoops. Can't edit my message, so sorry for the triple post. To clarify, this ISO was only on one Dolphin, the other was using the one I did, with the different hash.

Actions #62

Updated by Techjar about 5 years ago

I'm confused. Are you saying you both joined netplay with the same dump and it still desyncs?

Actions #63

Updated by JMC4789 about 5 years ago

  • Status changed from New to Invalid

Dolphin is more accurate than it was before. Stuff like where data is on a disc now affects disc read timings, for instance, where as it didn't back in the 5.0-xxx days. This is invalid, if you want games to sync, use the same ISO hash. We have no plans to support any other case.

Actions #64

Updated by Roadhog360-2 about 5 years ago

No, I meant as in, I used his ISO on one Dolphin, mine on the other. Two different hashes, same game. It worked perfectly on my tests with self-connection. This rules out the ISO being the issue.

However, when I try playing with him under seemingly the same conditions, the frame 0 desync occurs, ruling out the ISO as a possible culprit. I didn't suspect it from the beginning; This happens on frame zero, not when Gecko loads Brawl, as Gecko only loads Brawl when you hit 'Load game'.

This issue is not invalid.

Actions #65

Updated by Techjar about 5 years ago

What? You should both have the same ISO, whether it works locally or not is irrelevant.

Actions #66

Updated by Roadhog360-2 about 5 years ago

You were literally just saying earlier the ISOs were not the issue, and only wanted me to try as it was the last thing. I even mentioned the hashes were probably different.

Well, I'll try that tomorrow when he's online. Although I can be 90% sure it's not the ISO's issue since it desyncs on frame 0, when Gecko is loaded. The desync immediately occurs at the start of the session, rather than starting when the game is loaded.

Actions #67

Updated by JMC4789 about 5 years ago

We can't possibly help you any further, though. Something either is very specifically wrong with your particular setup/hardware, or there's something you're doing wrong that is beyond our ability to understand.

Unless you can actively figure out something particular that Dolphin is doing wrong, there's nothing that can be done. There are certain clues that could lead us toward an answer:

1: Finding out an exact build that changes behavior
2: Finding out a setting that affects behavior
3: Finding out what's different about the ISOs
4: Determining what is causing the desync.

The odds are heavily, heavily pointing toward user error.

Actions #68

Updated by Roadhog360-2 about 5 years ago

At this point, I think it's his end, as using the same ISO he has on my second Dolphin instance yields no error. Your point still stands strong, just for me, not him.

I think it's his configs. He reset them, but there may have been something changed. Tomorrow when he's online I'll be asking to have his configs to try them on my build, but first I will Netplay with the ISO he gave me to see if the issue persists.

Actions #69

Updated by Roadhog360-2 about 5 years ago

"just for me, not him."
*him, not me

Actions #70

Updated by JMC4789 about 5 years ago

  • Status changed from Invalid to Questionable

Netplay can be frustrating to debug especially when there are so many factors. Even people that have helped develop and code it have trouble tracking down various issues, you can find examples of mystery desyncs in progress report entries. Usually it stems from user error. I do want to solve this, even if solving it just means "x build made it so that you can't use a different iso because Dolphin tends to be more sensitive."

Actions #71

Updated by Roadhog360-2 about 5 years ago

Yeah, frustrating is an understatement. I love Netplay, and I want to bisect to find a version. I'm trying to find a definitive cause of the error. I wanted this to be solved a while ago but I have failed to find any sort of clue as to what causes it. Once I finally pinpoint the error on this thing, I'll work to see if it's simply strict setting sync missing a spot, or something more important. I'm sorry for all the miscommunications. I sometimes lack and provide unhelpful responses. I greatly appreciate the work you've all been putting into Dolphin, and this error me and my friend are getting. Netplay is an amazing tool for online play, and traversal servers are an amazing service, it just has errors that simply cannot be helped due to how Netplay works.

I hope tomorrow when he comes online, I can pinpoint the cause. I'll come back tomorrow with more news. I'll be taking a close look at his configs if I can get them to cause a desync on my end.

Actions #72

Updated by Roadhog360-2 about 5 years ago

Bizarre. Even with his exact config folder and config, I was unable to reproduce the error.

Actions #73

Updated by Roadhog360-2 about 5 years ago

I'll ask for his Wii, Sys and User folders. I'll apply those entire folders to my copied Dolphin to see if I can reproduce the desync then.

Actions #74

Updated by JMC4789 about 5 years ago

It's all good. If you can, please update me on the current situation. Is there an error loading now for him that you can't reproduce on his config?

Actions #75

Updated by Roadhog360-2 about 5 years ago

Basically, the frame 0 desync seems to be something on his side I'm unable to reproduce when I get his config. I've asked for some of his other folders as mentioned to see if it's anything in there. When I had asked for his Wii folder, he said it contains his dumped NAND from his own Wii, while I just use the one Dolphin came with. Can this mean anything.

Actions #76

Updated by JMC4789 about 5 years ago

Dolphin won't use your regular NAND during netplay.

I'm guessing your friend just messed up their Dolphin install at some point and should make a fresh portable build.

Actions #77

Updated by Roadhog360-2 about 5 years ago

I see.

Actions #78

Updated by JMC4789 about 5 years ago

Wait, I looked up some old guides to Netplay on Anther's ladder. Did you guys modify your sys/nand folder? Those folders are expressly to not be touched.

Actions #79

Updated by Roadhog360-2 about 5 years ago

I'll ask if he modified it. I did not. Again my friend uses his dumped Wii NAND to use in Dolphin, would that have anything to do with sys/nand?

Actions #80

Updated by JMC4789 about 5 years ago

Sys/NAND folder is used for netplay and synchronization. If you followed Anther's guide exactly for Project M, you would have modified that folder, which is something you don't do since we use those folders for the Blank NAND.

Actions #81

Updated by Roadhog360-2 about 5 years ago

Hm... I've never modified that folder but I'll ask if he has, thanks.

Actions #82

Updated by Roadhog360-2 about 5 years ago

Actions #83

Updated by Roadhog360-2 about 5 years ago

I've asked him to delete and re-install Dolphin and... it worked! I have no idea what the hell was the issue earlier, but if it happens again we know what to do. Thank you.

If we find what caused it, we'll come over here right away!

Actions #84

Updated by JosJuice about 5 years ago

  • Status changed from Questionable to Invalid

Closing this issue until further notice, then.

Actions

Also available in: Atom PDF