Project

General

Profile

Emulator Issues #11910

Just Dance series crashes/freezes/hangs when the emulated console has internet connectivity

Added by mbc07 3 months ago.

Status:
New
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?
Just Dance 2
Just Dance 3
Just Dance 4
Just Dance 2014
Just Dance 2015
Just Dance 2016
Just Dance 2017
Just Dance 2018

Game ID?
SD2E41
SJDE41
SJXE41
SJOE41
SE3E41
SJNE41
SZ7E41
SE8E41

MD5 Hash?
545c5a833dd274e0cc62d72d91559dca
e46877c360dcbb6cc8c5814762b424a3
cfa93ad1209bd9dd61cf9df3d9b6adc4
64d469178d925d5b79ae26f7289d165b
6142795d6f0700963b9754ca59c92d90
8041c2a5ad9465cb5fac6657514e3ea2
31e872f305d4355416a4ce345fdd9c4c
fe3219a6caac46e5f4f233f197e860f8

What's the problem? Describe what went wrong.
Just Dance 2/3/4: these games will randomly freeze when the emulated console has internet connectivity. When they freeze, only the background music keeps playing and only a forced shutdown (clicking Stop button twice) can stop the emulation.
Just Dance 2014/2015/2016/2017/2018: these games will hang on an infinite loading screen when trying to create or edit a dancer card. Since on the first boot you must create at least one dancer card, this renders those game unplayable.

What steps will reproduce the problem?
Make sure the Wii network certificates (clientca.pem, clientcakey.pem, rootca.pem) exists on the root of your NAND, then:
Just Dance 2/3/4: just play the game, they'll eventually freeze, sometimes even before you can start a song. On Just Dance 2, trying to access the shop once seems to be required before the random freeze occurs.
Just Dance 2014/2015/2016/2017/2018: create a Dancer Card (you must do this on the first time you start the game), or in case you already have an existing save file, click on the Dancer Card option at the top-left portion of the main menu and create a new / edit an existing Dancer Card. When you're done, you'll be stuck on an infinite loading screen (the game won't crash nor freeze, though).

Is the issue present in the latest development version?
Yes. Tested all on 5.0-11288.

Is the issue present in the latest stable version?
Yes. Tested all on 5.0 stable, except for Just Dance 2014/2015/2016/2017, which were tested on 5.0-775 (the first Dolphin version that can boot these games).

If the issue isn't present in the latest stable version, which is the first broken version?
N/A

What are your PC specifications?
CPU: Intel Pentium G3258 @ 4.2GHz (OC)
GPU: NVIDIA GeForce GT 440 @ 1GB DDR3
RAM: 16GB @ DDR3-1600 (4x4GB)
OS: Windows 10 (version 1909)

Is there anything else that can help developers narrow down the issue?
Issues that I strongly believe are connected to the same "root" problem and that probably could be merged on this one: #11441 #11342 #10873 #8597

Any of the following workarounds works both in 5.0 stable and on current development builds and prevents triggering this issue:

  • Physically disconnecting your computer from the internet before playing the game;
  • Temporarily disabling your network adapter(s) or enabling airplane mode if on a laptop;
  • Deleting clientca.pem, clientcakey.pem and rootca.pem from your NAND's root (however current development builds will keep throwing a Panic Alert saying these files are missing every time the game tries to connect to the internet).

Most of these issues (especially on Just Dance 2/3/4) were seemingly fixed for good once Dolphin implemented Wii Network functionality back in the now ancient 3.5-2143 build. I can't really confirm this since I only got aware of the problem with the earlier games recently but it seems that Wii Shop closure is what brought back all these problems to life again. In fact, looking at the Dolphin log, there's always a spam of the following lines moments before the earlier games freeze and the later games hang on the infinite loading screen:

core\ios\network\socket.cpp:247 I[IOS_NET]: IOCTL_SO_CONNECT (00000000, 216.98.48.66:443) = -1
core\ios\network\socket.cpp:119 E[IOS_NET]: SO_CONNECT failed with error 10037, ret= -1

The actual IP varies between the games, but it's always pointing to servers that just time out without any response if, for example, you try to ping them. It seems as our network code doesn't correctly respond to the game that the connection timed out and thus it keeps retrying until it freezes (earlier games) or until it hangs on the infinite loading screen (later games), as none of these problems occurs on a real Wii / vWii.

Since the workarounds aren't too convenient (especially for less tech-savvy users), it would be good having a per-game option in Dolphin to emulate a Wii console without internet access. I tried booting to Wii Menu and clearing all saved network profiles and then launching the game from the Disc Channel but nothing changed as the games still had internet access and ended triggering the issue (Dolphin seems to override whatever setting is configured on the network profiles from the Wii Menu).

For records, Just Dance 1, Just Dance 2019 and Just Dance 2020 doesn't have any kind of internet connectivity an thus doesn't experience any freeze or hang. I don't own any of the spin-off or compilation Just Dance games so I can't tell if they're also affected, but given the pattern, it seems reasonable to assume they are affected too if at some point they had online related features...

Also available in: Atom PDF