Bug #57201 Unknown Exception in Canvas.h line 171
Submitted: 2 Oct 2010 21:19 Modified: 14 Oct 2010 5:56
Reporter: CHRIS FOURNIER Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S1 (Critical)
Version:5.2.28CE OS:Windows (Vista SP2)
Assigned to: CPU Architecture:Any

[2 Oct 2010 21:19] CHRIS FOURNIER
Description:
Upon trying to create a new ERR Diagram from an existing Model, the error "Unknown Exception caught in C:\documents and settings\mysqldev\build\mysql-workbench-gpl-5.2.28-src\backend\windows\wbpublic.wr\Canvas.h at line 171".

After pressing OK, any interaction with the ERR Diagram window, or related UI causes the same error to pop up over and over. 

the Tabs and menu still function and I am able to close out the ERR Diagram window and use any other functionality other than the Diagram functions.

How to repeat:
Create a new model
Add multiple tables with columns
Double click on the "Add Diagram" icon and error appears
[2 Oct 2010 23:26] MySQL Verification Team
Thank you for the bug report. I couldn't repeat on Vista Ultimate 64-bit, please provide the output of Help->System Info.
[2 Oct 2010 23:46] CHRIS FOURNIER
MySQL Workbench CE for Windows version 5.2.28
Data Directory: C:\Program Files\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: 2.0.6747 Release
OS: Microsoft Windows Vista Home Premium Edition Service Pack 2 (build 6002),32-bit
CPU: 2x AMD Athlon(tm) 64 X2 Dual-Core Processor TK-53, 1.9 GiB RAM
Video adapter info:
Adapter type: ATI Radeon X1200
Chip Type: ATI Radeon Graphics Processor (0x791F)
BIOS String: RS690
Video Memory: 131072 KB
Current user language: English (United States)
[2 Oct 2010 23:48] CHRIS FOURNIER
Workbench file in use at time of error

Attachment: acctpay.mwb (application/octet-stream, text), 5.79 KiB.

[3 Oct 2010 0:19] Alfredo Kojima
Seems to be same as bug #56941, which couldnt be repeated either. 
If you can repeat this, please provide instructions on how to do it.
If you can't reliably repeat but do happen to stumble upon it again,
right click on the bug dialog and select the option to Copy the Stack trace
and paste here.
[3 Oct 2010 0:26] CHRIS FOURNIER
Exception = System.ObjectDisposedException
Message = Cannot access a disposed object.
Object name: 'ModelDiagramForm'.
FullText = System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'ModelDiagramForm'.
   at System.Windows.Forms.Control.CreateHandle()
   at System.Windows.Forms.Form.CreateHandle()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.ControlCollection.Add(Control value)
   at System.Windows.Forms.TabControl.ControlCollection.Add(Control value)
   at System.Windows.Forms.TabControl.TabPageCollection.Add(TabPage value)
   at MySQL.Controls.FlatTabControl.AddDocument(ITabDocument document)
   at MySQL.GUI.Workbench.MainForm.DockDocument(ITabDocument document, Boolean main, Boolean activate)
   at MySQL.GUI.Workbench.MainForm.SwitchedView(BaseWindowsCanvasView canvasView)
   at MySQL.Workbench.WbFrontendCallbacks.switched_view_wrapper(CanvasView* canvas_view)
   at sigc.pointer_functor1<mdc::CanvasView *,void>.()(pointer_functor1<mdc::CanvasView \*\,void>* , CanvasView** _A_a1)
   at sigc.adaptor_functor<sigc::pointer_functor1<mdc::CanvasView *,void> >.operator()<class mdc::CanvasView * const &>(adaptor_functor<sigc::pointer_functor1<mdc::CanvasView \*\,void> >* , CanvasView** _A_arg1)
   at sigc.internal.slot_call1<sigc::pointer_functor1<mdc::CanvasView *,void>,void,mdc::CanvasView *>.call_it(slot_rep* rep, CanvasView** a_1)
   at MySQL.Grt.ListModel.activate_node(NodeId node)
   at MySQL.GUI.Workbench.ModelOverviewForm.listViewDoubleClick(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
   at System.Windows.Forms.ListView.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)
[3 Oct 2010 0:37] CHRIS FOURNIER
I am able to recreate this on my computer however no one else seems to be able to. Actually I'm not able to use the Diagram function as it always fails when the mouse interacts with the canvas.
[4 Oct 2010 11:22] MySQL Verification Team
Thank you for the feedback. I tried with the model file provided without to repeat the issue, is there a missed step in the how to repeat?. Thanks in advance.
[4 Oct 2010 21:33] CHRIS FOURNIER
It appears to be limited to my laptop (the primary machine I need to have it on) on an XP machine it appears to run fine. Others appear to have had the same situation where it recurs but is not reproducible by others.

The issue is that it seems to be throwing UnknownBackendException from the Canvas.h:repaint(), this does not directly produce the "BUG" window and provides no way generate the stack while in this exception state. 

The canvas fails to paint, parts of the prior screen image remain on the canvas and the grid fails to draw. Any clicks cause the exception to be thrown again and again.
[9 Oct 2010 13:45] Valeriy Kravchuk
Looks like a duplicate of bug #56093.
[14 Oct 2010 5:56] CHRIS FOURNIER
Per Bug #56093... Using command line option -swrendering resolves the issue.
[29 Nov 2010 1:14] John McMurry
Reproduced 5.2.30CE, Revision 6790 

Vista 32 Bit home, AMD 64bit processor 

Simply opening the tab "data modeling" throws the Canvas.h line 171 error