OpenTabletDriver icon indicating copy to clipboard operation
OpenTabletDriver copied to clipboard

[OTD.Ux.Wpf] crashes after sleep when opening tablet debugger

Open C0D3-M4513R opened this issue 2 years ago • 1 comments

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

  1. Use Windows
  2. Plug in tablet start OTD-Daemon, and forget about it.
  3. Put the Computer to Sleep for an extended time (over night) (not consistent?)
  4. Wake Computer
  5. Tablet doesn't work, and wonder why.
  6. Go to OTD.UX.wpf, and see, that the tablet is still registered.
  7. 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). crash  windows After a look in the console afterwards, These are the error messages:

Crash Logs from Console in UX.wpf
[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
    },

C0D3-M4513R avatar Aug 02 '22 12:08 C0D3-M4513R

Gonna restart the daemon for now. Here is the complete log of the daemon, since I have it available. daemon-log.txt

C0D3-M4513R avatar Aug 02 '22 12:08 C0D3-M4513R

Does #2236 help with this?

gonX avatar Nov 13 '22 04:11 gonX

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.

C0D3-M4513R avatar Nov 24 '22 11:11 C0D3-M4513R