Clicking the recovery button in the bottom toolbar

I tried clicking the Recovery button in the toolbar last night after troubleshooting an issue to enable Recovery, and SGPro crashed. There was nothing in the SGPro log (will be uploading for another issue soon :)) but the Windows Event log had this entry … thanks!

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name=".NET Runtime" /> 
  <EventID Qualifiers="0">1026</EventID> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2015-01-28T06:15:54.000000000Z" /> 
  <EventRecordID>78030</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>Caribou</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Application: Sequence Generator.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.ComponentModel.Win32Exception Stack: at System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams) at System.Windows.Forms.Control.CreateHandle() at System.Windows.Forms.Control.get_Handle() at System.Windows.Forms.Control.CreateGraphicsInternal() at System.Windows.Forms.ThreadExceptionDialog..ctor(System.Exception) at System.Windows.Forms.Application+ThreadContext.OnThreadException(System.Exception) at System.Windows.Forms.Control.WndProcException(System.Exception) at System.Windows.Forms.Control+ControlNativeWindow.OnThreadException(System.Exception) at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at bj+b.SetWindowPos(Int32, Int32, Int32, Int32, Int32, Int32, Int32) at bj+c.a(Int32, Int32, Int32) at SequenceGenerator.WindowsHelper.SetWindowPos(IntPtr, IntPtr, Int32, Int32, Int32, Int32, FlagsSetWindowPos) at h.a(System.Windows.Forms.Form, System.Windows.Forms.Form) at SequenceGenerator.MainForm.ToolsMenu_Options(Int32) at SequenceGenerator.MDIImageForm.f(System.Object, System.EventArgs) at System.Windows.Forms.ToolStripItem.RaiseEvent(System.Object, System.EventArgs) at System.Windows.Forms.ToolStripItem.OnClick(System.EventArgs) at System.Windows.Forms.ToolStripItem.HandleClick(System.EventArgs) at System.Windows.Forms.ToolStripItem.HandleMouseUp(System.Windows.Forms.MouseEventArgs) at System.Windows.Forms.ToolStripItem.FireEventInteractive(System.EventArgs, System.Windows.Forms.ToolStripItemEventType) at System.Windows.Forms.ToolStripItem.FireEvent(System.EventArgs, System.Windows.Forms.ToolStripItemEventType) at System.Windows.Forms.ToolStrip.OnMouseUp(System.Windows.Forms.MouseEventArgs) at System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32) at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.ScrollableControl.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.ToolStrip.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.StatusStrip.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef) at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef) at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef) at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32) at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext) at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext) at System.Windows.Forms.Application.Run(System.Windows.Forms.Form) at b.a(System.String[])</Data> 
  </EventData>
  </Event>

Thanks for the report. Unfortunately, there is very little we can do with this. Does this happen every time or does it seem random?

What OS are you using?

Hey Ken –

No, doesn’t happen all the time, this one or maybe one other time. I’ll see if I can repro, but haven’t had any luck (which is a good thing, I guess!).

Do you handle the AppDomain.UnhandledException event? Was thinking you can potentially dump context into the log file before terminating.

Thanks. We are not catching that… BUT, a lot of stuff happens when recovery mode is enabled so I have no idea what’s throwing it. Instead, I have placed a super generic try / catch around all the commands issued. If you can make happen again in Beta 9, we will go exception fishing.