Make sure the DolphinBar is directly connected to the NVidia Shield (no USB hub!)

Make sure the DolphinBar is turned on

Make sure that DolphinBar LED4 is on ('Wii Emulator Mode')

Make sure that DolphinBar LED0 is on (which indicates that it has found the Wii controllers)

Make sure that the two real authentic Wii Remotes are turned on

Then start Dolphin

Configure Wii Remote 1 and 2 as 'Real Wii Remote'

Configure Wii Remote 3 and 4 as 'Disabled'

Enable 'Continuous scanning'

Start 'Super Mario'

Now both controllers will rumble shortly to indicate that the controllers were found by Dolphin

Dolphin returns to main menu, without starting game and without crash dialog

These steps are a 100% reproducable way to reproduce the bug.

However, the following related effects were observed while narrowing down the situations in which it does occur:
- With 'Continuous scanning' disabled, the game starts. Then select 'Refresh Wii Remotes'. This will rumble and crash in 90% of the cases. In 10% of the cases, the game continues and can be played with 2 players.
- With one Remote enabled instead of two, it crashes sometimes.
- Sometimes the crash happens during the rumble: in that case, the rumble of the second controller continuous rumbling forever
- Sometimes it also crashes after some minutes into the game
- On Windows it could not be made 100% reproducable, but crashes were observed

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

Yes, 8715

Is the issue present in the latest stable version?

No stable Android version was tested. However, a version of 6 months ago did work at that point.

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer

[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]

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

NVidia Shield 2017 edition, Oreo

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

[ It took me a while to realize that the config-file of the Windows version is the same, and lives
under "My Documents\Dolphin Emulator\Config\Logger.ini". So the easiest is to use the Windows-Dolphin
to enable all logging, and copy Logger.ini to the Nvidia Shield via a NFS share via an Android
file manager (since editting on the Android is near-impossible without a keyboard). ]

FWIW, it seems very likely that the bug is triggered with the Nvidia Shield 2017 Oreo-update.
Before the update, it did work OK on an older Dolphin version. I verified that old Dolphin versions do indeed crash now on Oreo.

Thanks, the option "Transfer files to a computer USB" was indeed turned on.

I've turned it off.

Turning it off does not change behavior; it crashes immediately, or most of the times within several seconds.
Stacktraces differ a lot, although frequently either in Garbage Collection, or in libc_free, suggesting memory
corruption.

Yeah 7.1 also turned it on for me, which is silly since it disables the second USB port when its enabled.There is something else we can do that finishes what was started in https://github.com/dolphin-emu/dolphin/pull/7301 where android returns 0 on a bad read so that the native code correctly catches it. I didn't put it in then just due to not testing enough and it didn't seem like it caused any issues outside crashing if the remote disconnected mid emulation. I'll put it in a PR later today and post the apk link and see if that works. Forget this, doesn't work. Misremembered things.

Ok, so I went out and bought an official wiimote and it does crash. I've been using EEEkit wiimotes since they were a quarter of the price(and included nunchuks). So at least I can now recreate the crash locally. And it does crash for every game. Thanks for the info provided!

It looks like the crash has to do with wiimotionplus. I'll try to dig deeper into it when I have time so you may have to get different controllers if its not a quick fix. I can confirm the EEEkit controllers from amazon work, they were $30 for two including nunchuks.

Great that you are able to reproduce the crash, and thanks for the EEEkit advise ;-) .

It indeed happens at all games.

I had to google what the wiimotionplus is: I have no such device, I only have 2 original Wiimotes (which might be different versions, though).

My hesitance on buying a clone is that I had one clone-controller before (unbranded, from China) when I was using the real-Wii. That worked fine. However, I convinced my family that with upgrading to the Shield they could continue playing Super Mario multiplayer, so we got a Shield and installed Dolphin on that, together with a DolphinBar.

Then a new problem arised: The clone-controller failed to connect to the DolphinBar, so to I took no changes from that point on and ordered a second-hand real Wiimote (from the US). That solved the issue and we could indeed play Super Mario again. Until the Oreo upgrade, that is :-)

Back to the wiimotionplus: both my controllers do NOT seem to have a wiimotionplus embedded, if I understand https://en.wikipedia.org/wiki/Wii_MotionPlus well enough. At least, it does not say 'Wii Motion Plus' on the outside of the controllers. Does that still make the bug wiimotionplus related?

I tried to boot it in several ways, and it always reliably started up with working controllers and no crashes.

Small things I noticed:
- First time after installation 'continuous scanning' was turned on, but after first time starting it was turned off(?). However, a manual 'refresh controllers' worked OK, and re-checking the option made it work stable.
- There is a new message saying 'Controller disconnected by emulator' (or something), but has no adverse effects.
- It seems even more stable than before Oreo: before that, I had to start a game sometimes two times to have the controllers detected. Not sure though...

I closed it. Was a bit too hacky of a solution to be merged and I just don't know enough about wiimote/dolphin bar usb comm to fix it. I plan to go back and actually learn how it works but there are bigger things to tackle atm. For now if you want to use an up to date build you can sometimes avoid the crash by smashing buttons on the wiimote for about 5 seconds.

After thinking about this, a solution may be to have a more graceful way of handling read failures instead of just straight up crashing emulation, in case this isn't an easy fix.