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.
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 ):
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

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!