Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin dev builds past 5.0 3977 crash on startup with my controller plugged in
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
So I decided to update to the newest Dolphin dev builds and upon starting up they immediately crash. I narrowed the issue down to my Dualshock 1 controller, as unplugging it everything seems fine. I thought there might be a conflict with the config files so I removed the DOlhpin Emulator folder out of Documents to start fresh, but that didn't help.

If the controller is unplugged I can use everything just fine, but that means I can't play anything. Going into the controller settings and clicking refresh will crash once it detects the pad. The controller registers as a Dinput pad under the name Twinstick USB Network if that helps. The changes made to build 5.0-3981 are "Allow (but don't force) ASLR (PR #5271)
Is 5.0-3981 the first build where the problem happens, or are you mentioning it for another reason?
(06-08-2017, 07:39 AM)JosJuice Wrote: [ -> ]Is 5.0-3981 the first build where the problem happens, or are you mentioning it for another reason?

It's the first build where the issue happens.
Code:
CONTEXT:  (.ecxr)
rax=0000000000000000 rbx=00007ff8f6ef4bc0 rcx=0000000049d40080
rdx=0000000000000000 rsi=0000000000000010 rdi=0000000010001af0
rip=0000000010003654 rsp=000000c449f3fbc0 rbp=0000000049d40080
r8=000000c449f3fad8  r9=0000000049d40080 r10=0000000000000000
r11=0000000000000287 r12=000000007ffe000c r13=000000007ffe0008
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
811EZFRD64+0x3654:
00000000`10003654 837c011000      cmp     dword ptr [rcx+rax+10h],0 ds:00000000`49d40090=????????
Resetting default scope

FAULTING_IP:
811EZFRD64+3654
00000000`10003654 837c011000      cmp     dword ptr [rcx+rax+10h],0

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 0000000010003654 (811EZFRD64+0x0000000000003654)
  ExceptionCode: c0000005 (Access violation)
 ExceptionFlags: 00000000
NumberParameters: 2
  Parameter[0]: 0000000000000000
  Parameter[1]: 0000000049d40090
Attempt to read from address 0000000049d40090
You are using something which loads C:\Windows\USB Vibration\dr100&110\811EZFRD64.DLL to provide force-feedback support, apparently.
Other people have problems with it. According to this thread, just disabling vibration should cause it not to be used: https://steamcommunity.com/app/271590/discussions/0/615085406665759609/
Other people say you can just delete the file.
You could also search for updated drivers / software...

I haven't looked in depth, but it seems the dll has hardcoded the program base (pre-ASLR program images almost always load @ 0x40000000). So it's probably not too hard to fix by patching the broken dll.
btw, here is another case of a similar dll causing problems with dolphin (some searching shows it causes problems with cemu and others, as well): https://forums.dolphin-emu.org/Thread-solved-dolphin-game-freezes-when-closed?page=2

Maybe dolphin should keep some blacklist of these binaries and warn the user or take some other action..
So, whats your advise?
I also have the USB Vibration folder which the Mayflash driver created (regarding to my thread https://forums.dolphin-emu.org/Thread-mayflash-gc-controller-adapter-for-pc-makes-dolphin-crash ):
[Image: F0lrFgR.png]

Whats the fault? Deleting/Renaming the USB Vibration folder fixes the crash for me, but without it, I don't have Rumble. Rumble is part of the GC/Wii gameplay and I don't want miss it.
People recommended the Mayflash adapter here.
Anyway the driver works fine and Build 5.0-3977 and below also do. So I can't imagine it's drivers fault.
I can assure you, it is a bug in the driver - not dolphin Smile
You can try this tool https://blog.didierstevens.com/2010/10/17/setdllcharacteristics/
Use it to disable the ASLR flag on dolphin.exe
Code:
setdllcharacteristics -d dolphin.exe

I will probably add a blacklist of drivers to dolphin, so we can warn the user when known-buggy dlls have been loaded into dolphin. Unfortunately actually fixing the issues is a tricky problem (if the vendor doesn't provide a fixed dll).
(06-09-2017, 06:14 AM)shuffle2 Wrote: [ -> ]
Code:
CONTEXT:  (.ecxr)
rax=0000000000000000 rbx=00007ff8f6ef4bc0 rcx=0000000049d40080
rdx=0000000000000000 rsi=0000000000000010 rdi=0000000010001af0
rip=0000000010003654 rsp=000000c449f3fbc0 rbp=0000000049d40080
r8=000000c449f3fad8  r9=0000000049d40080 r10=0000000000000000
r11=0000000000000287 r12=000000007ffe000c r13=000000007ffe0008
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
811EZFRD64+0x3654:
00000000`10003654 837c011000      cmp     dword ptr [rcx+rax+10h],0 ds:00000000`49d40090=????????
Resetting default scope

FAULTING_IP:
811EZFRD64+3654
00000000`10003654 837c011000      cmp     dword ptr [rcx+rax+10h],0

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 0000000010003654 (811EZFRD64+0x0000000000003654)
  ExceptionCode: c0000005 (Access violation)
 ExceptionFlags: 00000000
NumberParameters: 2
  Parameter[0]: 0000000000000000
  Parameter[1]: 0000000049d40090
Attempt to read from address 0000000049d40090
You are using something which loads C:\Windows\USB Vibration\dr100&110\811EZFRD64.DLL to provide force-feedback support, apparently.
Other people have problems with it. According to this thread, just disabling vibration should cause it not to be used: https://steamcommunity.com/app/271590/discussions/0/615085406665759609/
Other people say you can just delete the file.
You could also search for updated drivers / software...

I haven't looked in depth, but it seems the dll has hardcoded the program base (pre-ASLR program images almost always load @ 0x40000000). So it's probably not too hard to fix by patching the broken dll.

Yup this seemed to fix it. Alrighty, I guess this controller will be vibrationless at least for Dolphin use. Thanks for taking the time out to help!
Pages: 1 2 3