ndeadly / MissionControl

Use controllers from other consoles natively on your Nintendo Switch via Bluetooth. No dongles or other external hardware neccessary.
GNU General Public License v2.0
2.56k stars 141 forks source link

[Bug Report]: v0.8.0 pre-release causing system crash in Splatoon 3 with DualSense controller. #524

Closed Fallen-Feces closed 1 year ago

Fallen-Feces commented 2 years ago

Switch Firmware Version

Other (please specify in issue description)

Atmosphère Version

Other (please specify in issue description)

Mission Control Version

Other (please specify in issue description)

Boot Method

Hekate

Issue Description

Steps to replicate: 1) Open Splatoon 3 and enter the Shoal. 2) Press + to open Equipment menu. 3) The game will immediately start shitting itself. Going in and out of freezing, very cursed sounds, gear icons take a long time to load. Within around 10-20 seconds the game will completely freeze requiring the system to be completely powered off.

Crash does not happen until the equipment menu is opened. The game seems to work perfectly otherwise, at least from what I tried (I didn't do anything beyond fuck around in the shoal with a REEF-LUX to test the motion controls).

This does not happen if no controllers besides the joycons are connected.

This issue is 100% consistent for me atm.

Error Report

N/A

Additional Context

Note: Pretty much none of the version info I entered in the dropdowns were right because they're all outdated. Proper version info is in this description.

I had a purple dualsense controller connected to my switch via MissionControl (v0.8.0). I am using a fresh install of Atmosphere (v1.4.0) on an unpatched switch (v15.0.0). My device was not connected to the internet. All homebrew apps installed were the ones provided by the pinned guide in r/SwitchHacks save for one, that being Themezer. My device was in syscfw mode.

ndeadly commented 2 years ago

Probably related to #511 and caused by the controller emulation not sending the expected responses when the console attempts to read Amiibo data from the controller.

The game will immediately start shitting itself. Going in and out of freezing, very cursed sounds, gear icons take a long time to load. Within around 10-20 seconds the game will completely freeze requiring the system to be completely powered off.

I have seen almost this exact behaviour in Splatoon 2 while trying to solve the Amiibo issue mentioned above.

Lucky for you, somebody just responded to the other issue an hour or so ago who can potentially get me the info I need to correctly respond as a controller not supporting nfc/Amiibo. If you like, you could also make me a log like I explained in my comment while triggering your issue in Splatoon 3. Maybe it also provides some additional insight.

Banz99 commented 2 years ago

Me and ndeadly have some suspicions on what may be causing the freezing itself, might also be a completely unrelated thing and just a curiosity on our end. How many files do you have inside your atmosphere/erpt_reports folder?

Masamune3210 commented 2 years ago

If it's a recent version of atmosphere and the user hasn't intentionally modified the setting, atmosphere will automatically purge old reports once the folder starts going over a certain number

Fallen-Feces commented 2 years ago

Probably related to #511 and caused by the controller emulation not sending the expected responses when the console attempts to read Amiibo data from the controller.

The game will immediately start shitting itself. Going in and out of freezing, very cursed sounds, gear icons take a long time to load. Within around 10-20 seconds the game will completely freeze requiring the system to be completely powered off.

I have seen almost this exact behaviour in Splatoon 2 while trying to solve the Amiibo issue mentioned above.

Lucky for you, somebody just responded to the other issue an hour or so ago who can potentially get me the info I need to correctly respond as a controller not supporting nfc/Amiibo. If you like, you could also make me a log like I explained in my comment while triggering your issue in Splatoon 3. Maybe it also provides some additional insight.

I just installed the debug build you sent in that comment and attempted to replicate the crash in both Splatoon 3 and Splatoon 2. The results were different this time though I'd expect that to be a result of whatever changes you made to that debug build. Basically after entering the equipment menu, both games would experience significant input delay and mild visual slowdown. After a while I would get an error regarding amiibos and if by that time I had already exited the equipment menu the game would continue running just fine until I do the thing again. Splatoon 2's slowdown and delay was noticeably worse than what happened in 3.

Here is the log: mc-mitm.log

Fallen-Feces commented 2 years ago

Me and ndeadly have some suspicions on what may be causing the freezing itself, might also be a completely unrelated thing and just a curiosity on our end. How many files do you have inside your atmosphere/erpt_reports folder?

I counted 10 different files in the erpt_reports folder.

ndeadly commented 2 years ago

I think @Banz99 reported the same behaviour with the debug build. My guess is that the additional delays in writing to the sd card stop the repeated attempts to wake a non-existent NFC chip (and whatever else it might be trying to do) from completely choking the CPU.

I will take a look at your log when I get home to see if it contains anything interesting. We already have a bit of an idea how to proceed though due to the testing from @Banz99

ndeadly commented 2 years ago

Me and ndeadly have some suspicions on what may be causing the freezing itself, might also be a completely unrelated thing and just a curiosity on our end. How many files do you have inside your atmosphere/erpt_reports folder?

I counted 10 different files in the erpt_reports folder.

@Banz99 I guess there goes your theory then

otto-dev commented 2 years ago

Is this issue universally reproducible with DualSense controllers? Wondering if I should hold off upgrading to v0.8.0-pre.

ndeadly commented 2 years ago

@otto-dev if you're currently using 0.7.1 you're already using the same code. The 0.8.0 pre-release is just compiled for the latest Atmosphere.

ndeadly commented 1 year ago

This should be fixed now in the latest release (0.9.0)