Bug #32794 Forward Engineer Alter script- unhandled exception
Submitted: 27 Nov 2007 21:16 Modified: 27 Nov 2007 22:44
Reporter: Pamela Goloskie Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:5.0.9 OSS Beta OS:Microsoft Windows
Assigned to: CPU Architecture:Any

[27 Nov 2007 21:16] Pamela Goloskie
Description:
Using Workbench beta on Microsoft Windows, I reverse engineered a MySQL database from a Linux server by doing a mysqldump and reverse engineering the resulting sql. 
I then made changes to a column datatype. I attemtpted to forward engineer the alter script by doing a sync of the model to the original sql script. I get an unhandled exception- object reference not set to an instance of the object. I have tried saving and re-opening the program several times, behavior is consistent. 

When the exception box is closed, this message appears: 
Unknown Exception caught in c:\documents and settings\mysqldev\my documents\visual studio 2005\projects\mysql-workbench-pro\backend\windows\wb.wr\src\Wb.h at line 986

Details of unhandled exception error message are below:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at MySQL.Grt.TreeModel.get_root()
   at MySQL.Grt.SimpleGrtTreeModel.<GetChildren>d__0.MoveNext()
   at Aga.Controls.Tree.TreeViewAdv.ReadChilds(TreeNodeAdv parentNode, Boolean performFullUpdate)
   at Aga.Controls.Tree.TreeViewAdv.SetIsExpanded(TreeNodeAdv node, Boolean value)
   at Aga.Controls.Tree.TreeViewAdv.SetIsExpanded(ExpandArgs eargs)
   at Aga.Controls.Tree.TreeViewAdv.SetIsExpanded(TreeNodeAdv node, Boolean value, Boolean ignoreChildren)
   at Aga.Controls.Tree.TreeNodeAdv.SetIsExpanded(Boolean value, Boolean ignoreChildren)
   at Aga.Controls.Tree.TreeViewAdv.CreateNodes()
   at Aga.Controls.Tree.TreeViewAdv.set_Model(ITreeModel value)
   at MySQL.GUI.Workbench.Plugins.Sync.DiffTreeControl.InitializeDiffTree(GrtValue catalog)
   at MySQL.GUI.Workbench.Plugins.Sync.DiffTreeControl..ctor(DbMySQLScriptSync be, GrtValue catalog)
   at MySQL.GUI.Workbench.Plugins.DbMySQLScriptSync.SQLScriptSyncWizardPages.InitTreePage()
   at MySQL.GUI.Workbench.Plugins.WizardPlugin.InitializeActivePage()
   at MySQL.GUI.Workbench.Plugins.WizardPlugin.UpdateAfterPageProcessing(String errMsg)
   at MySQL.GUI.Workbench.Plugins.WizardPlugin.RestoreControlsState(String errMsg)
   at MySQL.GUI.Workbench.Plugins.WizardPlugin.btnNext_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.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)

************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
MySQLWorkbench
    Assembly Version: 5.0.9.2131
    Win32 Version: 5.0.9.2131
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLWorkbench.exe
----------------------------------------
wb.wr
    Assembly Version: 0.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/wb.wr.DLL
----------------------------------------
grt.wr
    Assembly Version: 0.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/grt.wr.DLL
----------------------------------------
MySQLCsUtilities
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLCsUtilities.DLL
----------------------------------------
msvcm80
    Assembly Version: 8.0.50727.762
    Win32 Version: 8.00.50727.762
    CodeBase: file:///C:/WINDOWS/WinSxS/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700/msvcm80.dll
----------------------------------------
MySQLGrtShell
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLGrtShell.EXE
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.832 (QFE.050727-8300)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
WeifenLuo.WinFormsUI.Docking
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
MySQLWorkbenchEditors
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/MySQLWorkbenchEditors.DLL
----------------------------------------
Aga.Controls
    Assembly Version: 1.6.0.0
    Win32 Version: 1.6.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/Aga.Controls.DLL
----------------------------------------
grt.helpers.be
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/grt.helpers.be.DLL
----------------------------------------
db.mysql.editors.wbp.fe
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/db.mysql.editors.wbp.fe.DLL
----------------------------------------
db.mysql.editors.wbp.wr
    Assembly Version: 0.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/db.mysql.editors.wbp.wr.DLL
----------------------------------------
grt.db.wr
    Assembly Version: 0.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/grt.db.wr.DLL
----------------------------------------
db.mysql.wbp.fe
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/db.mysql.wbp.fe.DLL
----------------------------------------
db.mysql.wbp.wr
    Assembly Version: 0.0.0.0
    Win32 Version: 
    CodeBase: file:///C:/Program%20Files/MySQL/MySQL%20Workbench%205.0%20OSS/db.mysql.wbp.wr.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

When the exception box is closed, this message appears: 
Unknown Exception caught in c:\documents and settings\mysqldev\my documents\visual studio 2005\projects\mysql-workbench-pro\backend\windows\wb.wr\src\Wb.h at line 986
---------------------------
OK   
---------------------------

How to repeat:
Use mysqldump to generate a create script. Reverse engineer database from the create script, modify, and save model. With the model in active focus, select File -> Export->Forward Engineer SQL ALTER script. in the SQL Sync Options box, select the original .sql file used for reverse engineering. click next. SQL Script Synchronization generates exception message. 

Suggested fix:
If this is generated by user error, catch error and give useful feedback. If error is in program, fix cause of exception.
[27 Nov 2007 22:44] Pamela Goloskie
Sorry, just noticed that there is another bug (32721) that addresses the same issue. This can be used for additional information if needed, or closed out.