Snoothy / UCR

Universal Control Remapper [Alpha]
MIT License
895 stars 90 forks source link

SharpDX_XInput NullReferenceException #128

Closed hannsen closed 4 years ago

hannsen commented 4 years ago

Hello,

when I try to start a profile where I map my X360 or X1 controller to dualshock it fails with this log message (program crashes). With keyboard (interception) it works.

2019-11-10 21:07:08.1371 FATAL Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei SharpDX_XInput.XiDeviceHandler.PollThread()
   bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()
2019-11-10 21:07:08.1371 DEBUG SubscriptionState successfully activated 

Any Idea what I can do? Documentation says SharpDX_XInput is included and I do not need to install anything.

hannsen commented 4 years ago

When I uninstall the X360 Gamepad drivers and reboot, it works for the first time. When I then stop and start the profile again it crashes

It only works for the first time after each reboot. When I then stop and start the profile, or close UCR and open it again it crashes.

Will try with another PC

Edit: Also not working on other pc

hannsen commented 4 years ago

0.8 > Bug 0.7 > Bug 0.3 > No bug

Edit: now 0.3 doesnt work too, either it launches and doesnt register gamepad key presses or it crashes. Sorry for the spam but it does seem quite random and works maybe 5% of the time.

Snoothy commented 4 years ago

Can you try this build and test if it still crashes? https://ci.appveyor.com/project/Snoothy/ucr/builds/28828417/artifacts

hannsen commented 4 years ago

Sadly it still crashes with the same error

2019-11-13 19:16:15.2941 DEBUG Activating profile: {x1 ds4} 
2019-11-13 19:16:15.3051 DEBUG Successfully populated subscription state 
2019-11-13 19:16:15.3051 DEBUG Successfully configured filters for subscription state 
2019-11-13 19:16:15.3181 DEBUG Subscribing output device: {Device:{ViGEm DS4 Controller 1} Provider:{Core_ViGEm} Handle:{ds4} Num:{0}} 
2019-11-13 19:16:15.3377 FATAL Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei SharpDX_XInput.XiDeviceHandler.PollThread()
   bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bei System.Threading.ThreadHelper.ThreadStart()
2019-11-13 19:16:15.3377 DEBUG SubscriptionState successfully activated 
hannsen commented 4 years ago

My cheap direct input controller works btw

evilC commented 4 years ago

My cheap direct input controller works btw Can you clarify, which provider are you trying to read the XInput controller with? DirectInput or XInput?

Cos saying that your DI controller works with DirectInput but your XI controller does not work with XInput does not really mean anything

hannsen commented 4 years ago

I was just saying that I only have problems with xinput not directinput to narrow down the problem

Snoothy commented 4 years ago

I have also encountered this while developing v0.9.0. I have not been able to do it consistently, however, it happens for Xbox -> DS4 with a simple button to button plugin. It seems to happen more often the first time such profile is created and activated

slime7 commented 4 years ago

Some problem here when emulate Xbox to DS4. Only not crash when the profile only set LX, LY, RX and RY.

hannsen commented 4 years ago

I think you fixed it with 0.9, right? So I close it