Bug #63025 Object reference not set to an instance of an object
Submitted: 30 Oct 2011 23:12 Modified: 9 Feb 2012 20:18
Reporter: Eric Kent Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S3 (Non-critical)
Version:5.2.35, 5.2.36 OS:Windows (Windows 7)
Assigned to: CPU Architecture:Any
Tags: Object reference not set

[30 Oct 2011 23:12] Eric Kent
Description:
I attempted to add a table to a model and got this.

Exception = System.NullReferenceException
Message = Object reference not set to an instance of an object.
FullText = System.NullReferenceException: Object reference not set to an instance of an object.
   at MySQL.GUI.Workbench.Plugins.PhysicalLayerEditor.RefreshFormData()
   at MySQL.GUI.Workbench.Plugins.ObjectEditorPlugin.CallRefreshFormData()
   at MySQL.GUI.Workbench.Plugins.ObjectEditorPlugin.RefreshFormDataInvoke()
   at MySQL.Grt.RunWrappedDelegate0<void\,void\,MySQL::Grt::DelegateSlot0<void\,void>::ManagedDelegate>.native_callback()
   at boost.detail.function.void_function_invoker0<void (__cdecl*)(void),void>.invoke(function_buffer* function_ptr)
   at wb.WBContext.flush_idle_tasks(WBContext* )
   at MySQL.Workbench.WbContext.flush_idle_tasks()
   at MySQL.GUI.Workbench.Program.timer_Tick(Object sender, EventArgs e)

How to repeat:
Another in a series of annoying random bugs.
[31 Oct 2011 4:47] Valeriy Kravchuk
What you tried to do when you've got this error? Please, send also the output of Help > System Info menu item.
[31 Oct 2011 12:13] Eric Kent
System Info:

MySQL Workbench CE for Windows version 5.2.35
Configuration Directory: C:\Users\Eric\AppData\Roaming\MySQL\Workbench
Data Directory: C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE
Cairo Version: 1.8.8
Rendering Mode: OpenGL is available on this system, so OpenGL is used for rendering.
OpenGL Driver Version: 3.1.0 - Build 8.15.10.2462
OS: Microsoft Windows 7 Home Premium Edition Service Pack 1 (build 7601), 64-bit
CPU: 4x Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz, 3.9 GiB RAM
Active video adapter: Intel(R) HD Graphics Family
Installed video RAM: 1813 MB
Current video mode: 1366 x 768 x 4294967296 colors
Used bit depth: 32
Driver version: 8.15.10.2462
Installed display drivers: igdumd64.dll,igd10umd64.dll,igd10umd64.dll,igdumdx32,igd10umd32,igd10umd32
Current user language: English (United States)

When I get these errors, I try to save the model to a new file, then exit the workbench.  Sometimes the app crashes before I can do that.
When I start workbench again, usually I get the Document Recovery dialog, and sometimes I the bug described in Bug #62951.  

I have not lost any work, yet.  I have been regularly saving the model to different file names as backup files, in case the existing file does become unusable.  If the cause of these errors is some corruption in my model file, I have considered exporting the model to a SQL script and then importing it to a new model file.  However, I would lose the diagram, and any long comments.  Is there a way to do this with out losing the diagram?

Thanks,
Eric

See also my other bug reports: 
Bug #63017
Bug #62951
[5 Dec 2011 8:46] Valeriy Kravchuk
Please, check if the same problem still happens with a newer version, 5.2.36.
[10 Dec 2011 16:09] Eric Kent
I tried the newer version, 5.2.36.  The same problem occurs.  It crashes considerably more often than 5.2.35.  In the two days since I upgraded, the workbench has crashed 10 times.  I am going back to the old version.  It crashes, but not as often.
[17 Dec 2011 15:03] Eric Kent
I keep getting errors.  I thought there might be some corruption in the model file, because I get so many errors.  So I exported the model to a schema file, then imported it into a new model.  I was recreating the diagram, and moving a table slightly, and I got this error again.

The workbench has crashed over 80 times in the 7 weeks I have been working with it.  This is ridiculous.  I had upgraded to 5.2.36, but that only made things worse, so I re-installed 5.2.35.  Is this instability normal with workbench?  Do you have any suggestions?  Is there an earlier version that might be more stable?

Three times in the past week, after the workbench crashed, and I restarted it, the document recovery lost many of the procs and functions in the database.  I had to go back to an earlier version of the model, and re-create the work I had done.  Since I have been saving the model very frequently with different names, at least every time it crashes, I didn't loose too much work.  If there isn't some fix to these problems, I will have to switch to a different product.

Exception = System.NullReferenceException
Message = Object reference not set to an instance of an object.
FullText = System.NullReferenceException: Object reference not set to an instance of an object.
   at MySQL.GUI.Workbench.Plugins.PhysicalLayerEditor.RefreshFormData()
   at MySQL.GUI.Workbench.Plugins.ObjectEditorPlugin.CallRefreshFormData()
   at MySQL.GUI.Workbench.Plugins.ObjectEditorPlugin.RefreshFormDataInvoke()
   at MySQL.Grt.RunWrappedDelegate0<void\,void\,MySQL::Grt::DelegateSlot0<void\,void>::ManagedDelegate>.native_callback()
   at boost.detail.function.void_function_invoker0<void (__cdecl*)(void),void>.invoke(function_buffer* function_ptr)
   at wb.ModelDiagramForm.handle_mouse_button(ModelDiagramForm* , MouseButton , Boolean , Int32 , Int32 , EventState )
   at MySQL.Workbench.ModelViewForm.OnMouseUp(MouseEventArgs e, Int32 X, Int32 Y, Keys keystate, MouseButtons buttons)
   at MySQL.GUI.Workbench.ModelDiagramForm.CanvasPanel_MouseUp(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)
   at MySQL.Utilities.WindowsCanvasViewerPanel.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
[17 Dec 2011 15:18] Eric Kent
I don't know if this simply coincidence, but the last crash was very shortly after I selected align to grid.  I had added about half the tables to the diagram of the new model, and then I realized that the align wasn't set.  I set it, and then about two minutes later, while I was adjusting the alignment of the tables, it crashed.  I turned align off, and will see if that helps.  Has there been any problems associated with the align to grid?
[18 Dec 2011 18:20] Eric Kent
And again.
De-selecting align grid hasn't made any difference.  I am still regularly getting errors, after exporting the model to a script, then re-importing it.  

Exception = System.NullReferenceException
Message = Object reference not set to an instance of an object.
FullText = System.NullReferenceException: Object reference not set to an instance of an object.
   at MySQL.GUI.Workbench.Plugins.PhysicalLayerEditor.RefreshFormData()
   at MySQL.GUI.Workbench.Plugins.ObjectEditorPlugin.CallRefreshFormData()
   at MySQL.GUI.Workbench.Plugins.ObjectEditorPlugin.RefreshFormDataInvoke()
   at MySQL.Grt.RunWrappedDelegate0<void\,void\,MySQL::Grt::DelegateSlot0<void\,void>::ManagedDelegate>.native_callback()
   at boost.detail.function.void_function_invoker0<void (__cdecl*)(void),void>.invoke(function_buffer* function_ptr)
   at wb.ModelDiagramForm.handle_mouse_button(ModelDiagramForm* , MouseButton , Boolean , Int32 , Int32 , EventState )
   at MySQL.Workbench.ModelViewForm.OnMouseUp(MouseEventArgs e, Int32 X, Int32 Y, Keys keystate, MouseButtons buttons)
   at MySQL.GUI.Workbench.ModelDiagramForm.CanvasPanel_MouseUp(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)
   at MySQL.Utilities.WindowsCanvasViewerPanel.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
[9 Feb 2012 20:18] Philip Olson
Fixed as of 5.2.38:

The object editor could leak memory and crash Workbench while
handling notifications.