OpenTabletDriver
OpenTabletDriver copied to clipboard
[OTD.Ux.Wpf] crashes after sleep when opening tablet debugger
Acknowledgements
- [X] I have installed OpenTabletDriver by following its official installation instructions.
- [X] I have checked the OpenTabletDriver Wiki and respective FAQ pages, and my issue was not covered or actually fixed.
- [X] I have searched the existing issues and this new issue is not a duplicate of any.
- [X] I have written a concise and meaningful title.
Steps to Reproduce
- Use Windows
- Plug in tablet start OTD-Daemon, and forget about it.
- Put the Computer to Sleep for an extended time (over night) (not consistent?)
- Wake Computer
- Tablet doesn't work, and wonder why.
- Go to OTD.UX.wpf, and see, that the tablet is still registered.
- Open Tablet debugger
Expected Behavior
The tablet should just work after sleep, without doing anything.
~~Detaching the tablet's usb cable and reattaching it seems to work.~~ EDIT: It does seem to work most of the time, but not this time?
Observed Behavior
When doing step 7. These two windows will appear (left, then right).
After a look in the console afterwards, These are the error messages:
[TargetInvocationException:Error] Exception has been thrown by the target of an invocation.
at System.RuntimeType.CreateInstanceOfT()
at System.Activator.CreateInstance[T]()
at OpenTabletDriver.UX.Windows.WindowSingleton`1.Show()
at OpenTabletDriver.UX.MainForm.<>c.<ConstructMenu>b__9_10(Object sender, EventArgs e)
at Eto.Forms.Command.OnExecuted(EventArgs e)
at Eto.Forms.Command.Execute()
at Eto.Forms.Command.System.Windows.Input.ICommand.Execute(Object parameter)
at Eto.PropertyStore.CommandWrapper.Command_Execute(Object sender, EventArgs e)
at Eto.Forms.MenuItem.OnClick(EventArgs e)
at Eto.Forms.MenuItem.Callback.OnClick(MenuItem widget, EventArgs e)
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.OnClick()
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.<Initialize>b__2_0(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[TargetInvocationException:Error] Exception has been thrown by the target of an invocation.
at System.RuntimeType.CreateInstanceOfT()
at System.Activator.CreateInstance[T]()
at OpenTabletDriver.UX.Windows.WindowSingleton`1.Show()
at OpenTabletDriver.UX.MainForm.<>c.<ConstructMenu>b__9_10(Object sender, EventArgs e)
at Eto.Forms.Command.OnExecuted(EventArgs e)
at Eto.Forms.Command.Execute()
at Eto.Forms.Command.System.Windows.Input.ICommand.Execute(Object parameter)
at Eto.PropertyStore.CommandWrapper.Command_Execute(Object sender, EventArgs e)
at Eto.Forms.MenuItem.OnClick(EventArgs e)
at Eto.Forms.MenuItem.Callback.OnClick(MenuItem widget, EventArgs e)
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.OnClick()
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.<Initialize>b__2_0(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
[TargetInvocationException:Error] Exception has been thrown by the target of an invocation.
at System.RuntimeType.CreateInstanceOfT()
at System.Activator.CreateInstance[T]()
at OpenTabletDriver.UX.Windows.WindowSingleton`1.Show()
at OpenTabletDriver.UX.MainForm.<>c.<ConstructMenu>b__9_10(Object sender, EventArgs e)
at Eto.Forms.Command.OnExecuted(EventArgs e)
at Eto.Forms.Command.Execute()
at Eto.Forms.Command.System.Windows.Input.ICommand.Execute(Object parameter)
at Eto.PropertyStore.CommandWrapper.Command_Execute(Object sender, EventArgs e)
at Eto.Forms.MenuItem.OnClick(EventArgs e)
at Eto.Forms.MenuItem.Callback.OnClick(MenuItem widget, EventArgs e)
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.OnClick()
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.<Initialize>b__2_0(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at Eto.Wpf.Forms.ApplicationHandler.Run()
at Eto.Forms.Application.Run(Form mainForm)
at OpenTabletDriver.UX.App.Run(String platform, String[] args)
at OpenTabletDriver.UX.Wpf.Program.Main(String[] args)
[TargetInvocationException:Error] Exception has been thrown by the target of an invocation.
at System.RuntimeType.CreateInstanceOfT()
at System.Activator.CreateInstance[T]()
at OpenTabletDriver.UX.Windows.WindowSingleton`1.Show()
at OpenTabletDriver.UX.MainForm.<>c.<ConstructMenu>b__9_10(Object sender, EventArgs e)
at Eto.Forms.Command.OnExecuted(EventArgs e)
at Eto.Forms.Command.Execute()
at Eto.Forms.Command.System.Windows.Input.ICommand.Execute(Object parameter)
at Eto.PropertyStore.CommandWrapper.Command_Execute(Object sender, EventArgs e)
at Eto.Forms.MenuItem.OnClick(EventArgs e)
at Eto.Forms.MenuItem.Callback.OnClick(MenuItem widget, EventArgs e)
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.OnClick()
at Eto.Wpf.Forms.Menu.MenuItemHandler`3.<Initialize>b__2_0(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at Eto.Wpf.Forms.ApplicationHandler.Run()
at Eto.Forms.Application.Run(Form mainForm)
at OpenTabletDriver.UX.App.Run(String platform, String[] args)
at OpenTabletDriver.UX.Wpf.Program.Main(String[] args)
Tablet Device
Wacom MTE-450 rev. B
Diagnostic Information
{
"DevicePath": "\\\\?\\hid#vid_056a&pid_0065&col01#8&21c0faf1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}",
"Manufacturer": "Wacom Co.,Ltd.",
"ProductName": "MTE-450",
"SerialNumber": "",
"FriendlyName": "MTE-450",
"VendorID": 1386,
"ProductID": 101,
"InputReportLength": 5,
"OutputReportLength": 0,
"FeatureReportLength": 0,
"CanOpen": false
},
{
"DevicePath": "\\\\?\\hid#vid_056a&pid_0065&col02#8&21c0faf1&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}",
"Manufacturer": "Wacom Co.,Ltd.",
"ProductName": "MTE-450",
"SerialNumber": "",
"FriendlyName": "MTE-450",
"VendorID": 1386,
"ProductID": 101,
"InputReportLength": 9,
"OutputReportLength": 0,
"FeatureReportLength": 17,
"CanOpen": true
},
Gonna restart the daemon for now. Here is the complete log of the daemon, since I have it available. daemon-log.txt
Does #2236 help with this?
I didn't test with #2236 yet, but this bug has bug not been happening once since I reported this. In the past I downclocked my ram below it's spec and recently I had to touch it again, because windows was endlessly bootlooping after I turned on executable integrity checks. Let's consider this as memory-corruption during S3-Sleep, until it is replicated again. I will reopen this issue, should that happen.