Bug #60733 WB Crashes on Exit
Submitted: 2 Apr 2011 14:18 Modified: 15 Nov 2011 3:36
Reporter: Mike van Engelen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S2 (Serious)
Version:5.2.33.7508 CE, 5.2.34 OS:Windows (Windows 7 Professional 64bit)
Assigned to: CPU Architecture:Any
Tags: bug, closing, crash, exit, exiting, stacktrace

[2 Apr 2011 14:18] Mike van Engelen
Description:
The MySQL Workbench on exit/close crashes.

Application itself has no problems, the crash only occurs during the close of the application.

The following message is thrown:
Problem signature:
  Problem Event Name:	BEX
  Application Name:	MySQLWorkbench.exe
  Application Version:	5.2.33.7508
  Application Timestamp:	4d820632
  Fault Module Name:	StackHash_0a9e
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	00000000
  Exception Offset:	0c987258
  Exception Code:	c0000005
  Exception Data:	00000008
  OS Version:	6.1.7601.2.1.0.256.48
  Locale ID:	1043
  Additional Information 1:	0a9e
  Additional Information 2:	0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:	0a9e
  Additional Information 4:	0a9e372d3b4ad19135b953a78882e789

In the Windows Event Viewer the following messages arise:
Message 1: .NET Runtime Error
Application: MySQLWorkbench.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.~BaseWindowsCanvasView()
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose(Boolean)
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose()
   at MySQL.Utilities.WindowsCanvasViewerPanel.FinalizeCanvas()
   at MySQL.Utilities.WindowsCanvasViewer.FinalizeCanvas()
   at MySQL.GUI.Workbench.ModelDiagramForm.Destroy()
   at MySQL.GUI.Workbench.ModelDiagramForm.Dispose(Boolean)
   at System.ComponentModel.Component.Finalize()

Message 2: Application Error
Faulting application name: MySQLWorkbench.exe, version: 5.2.33.7508, time stamp: 0x4d820632
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0c987258
Faulting process id: 0x1348
Faulting application start time: 0x01cbf13d94f9f08d
Faulting application path: C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE\MySQLWorkbench.exe
Faulting module path: unknown
Report Id: d9e008a2-5d30-11e0-82d9-1c659df72fb4

How to repeat:

Situation 1:
1) Start MySQL Workbench
2) Open or create workflow
3) Do anything OR no do anything (for behaviour of this error it doesn't matter)
4) Close MySQL Workbench by the X right-up in the window.

Situation 2:
1) Start MySQL Workbench
2) Open or create workflow
3) Do anything OR no do anything (for behaviour of this error it doesn't matter)
4) Close MySQL Workbench by File -> Exit
[2 Apr 2011 14:23] Mike van Engelen
WER file with more information of stack trace (loaded modules). Can be opened with Notepad

Attachment: Report.wer (application/octet-stream, text), 24.87 KiB.

[6 Apr 2011 8:48] Valeriy Kravchuk
Please, send the output of Help > System Info menu item.
[6 Apr 2011 17:56] Mike van Engelen
I would like to, however I get another stop error when I try to open the System Info window:

Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	MySQLWorkbench.exe
  Application Version:	5.2.33.7508
  Application Timestamp:	4d820632
  Fault Module Name:	wbprivate.be.dll
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	4d8204b5
  Exception Code:	c0000005
  Exception Offset:	00288d0e
  OS Version:	6.1.7601.2.1.0.256.48
  Locale ID:	1043
  Additional Information 1:	0a9e
  Additional Information 2:	0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:	0a9e
  Additional Information 4:	0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt
[8 Apr 2011 13:48] Neil Swartz
I am also seeing this consistently.
Here is my sysinfo:
SQL Script Export CompletedMySQL Workbench CE for Windows version 5.2.31
Configuration Directory: C:\Documents and Settings\nswartz\Application Data\MySQL\Workbench
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.1.0 - Build 6.14.10.5258
OS: Microsoft Windows XP Professional Service Pack 3 (build 2600)
CPU: 4x Intel(R) Core(TM) i5 CPU       M 520  @ 2.40GHz, 2.9 GiB RAM
Active video adapter: ConfigMgr Remote Control Driver
Installed video RAM: 256 MB
Current video mode: 1920 x 1080 x 4294967296 colors
Used bit depth: 32
Driver version: 4.00.6163.1000
Installed display drivers: igxprd32.dll
Current user language: English (United States)

From Event Viewer:
Faulting application mysqlworkbench.exe, version 5.2.31.7115, stamp 4d04ebea, faulting module unknown, version 0.0.0.0, stamp 00000000, debug? 0, fault address 0x0aa4416a.

I dont know how to get to the other logs.
[11 Apr 2011 22:45] MySQL Verification Team
I couldn't repeat on Vista 64-bit.
[20 Apr 2011 19:08] Neil Swartz
Given that stack trace I am willing to guess that the code has a "catch-all" finalize() to clean up the GUI objects when objects holding references are garbage collected. The GUI objects were probably already destroyed since the app is exiting.
Maybe you need a general exception catch block in MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose() where you log a message somewhere and ignore any exceptions. You could also do this higher in the call stack.

Just a suggestion.

Stack:
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.~BaseWindowsCanvasView()
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose(Boolean)
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose()
   at MySQL.Utilities.WindowsCanvasViewerPanel.FinalizeCanvas()
   at MySQL.Utilities.WindowsCanvasViewer.FinalizeCanvas()
   at MySQL.GUI.Workbench.ModelDiagramForm.Destroy()
   at MySQL.GUI.Workbench.ModelDiagramForm.Dispose(Boolean)
   at System.ComponentModel.Component.Finalize()
[16 May 2011 21:05] MySQL Verification Team
Are you tried the version 5.2.33b?. Thanks.
[17 May 2011 18:17] Neil Swartz
That version still crashes.
[27 May 2011 9:37] Valeriy Kravchuk
Please, uninstall 5.2.33b, remove its folder in Program Files, install 5.2.34 released recently and check if the problem is still repeatable with this version.
[27 May 2011 12:16] Neil Swartz
It is still crashing on exit. Not a lot more info for you.
Is there any way to run with debug to provide more info?

AppName: mysqlworkbench.exe      AppVer: 5.2.34.7780     AppStamp:4ddbbfe9
ModName: unknown      ModVer: 0.0.0.0      ModStamp:00000000
fDebug: 0       Offset: 07359978

Faulting application mysqlworkbench.exe, version 5.2.34.7780, stamp 4ddbbfe9, faulting module unknown, version 0.0.0.0, stamp 00000000, debug? 0, fault address 0x0acaaa10.
0000: 41 00 70 00 70 00 6c 00   A.p.p.l.
0008: 69 00 63 00 61 00 74 00   i.c.a.t.
0010: 69 00 6f 00 6e 00 20 00   i.o.n. .
0018: 46 00 61 00 69 00 6c 00   F.a.i.l.
0020: 75 00 72 00 65 00 20 00   u.r.e. .
0028: 20 00 6d 00 79 00 73 00    .m.y.s.
0030: 71 00 6c 00 77 00 6f 00   q.l.w.o.
0038: 72 00 6b 00 62 00 65 00   r.k.b.e.
0040: 6e 00 63 00 68 00 2e 00   n.c.h...
0048: 65 00 78 00 65 00 20 00   e.x.e. .
0050: 35 00 2e 00 32 00 2e 00   5...2...
0058: 33 00 34 00 2e 00 37 00   3.4...7.
0060: 37 00 38 00 30 00 20 00   7.8.0. .
0068: 34 00 64 00 64 00 62 00   4.d.d.b.
0070: 62 00 66 00 65 00 39 00   b.f.e.9.
0078: 20 00 69 00 6e 00 20 00    .i.n. .
0080: 75 00 6e 00 6b 00 6e 00   u.n.k.n.
0088: 6f 00 77 00 6e 00 20 00   o.w.n. .
0090: 30 00 2e 00 30 00 2e 00   0...0...
0098: 30 00 2e 00 30 00 20 00   0...0. .
00a0: 30 00 30 00 30 00 30 00   0.0.0.0.
00a8: 30 00 30 00 30 00 30 00   0.0.0.0.
00b0: 20 00 66 00 44 00 65 00    .f.D.e.
00b8: 62 00 75 00 67 00 20 00   b.u.g. .
00c0: 30 00 20 00 61 00 74 00   0. .a.t.
00c8: 20 00 6f 00 66 00 66 00    .o.f.f.
00d0: 73 00 65 00 74 00 20 00   s.e.t. .
00d8: 30 00 61 00 63 00 61 00   0.a.c.a.
00e0: 61 00 61 00 31 00 30 00   a.a.1.0.
00e8: 0d 00 0a 00               ....
[7 Jun 2011 13:00] Neil Swartz
I had my PC upgraded to Windows 7 and now I do not get a popup when MWB exits.
The event view still logs the error, but it is not so obvious a problem.
I am using 5.2.34
------------------
Faulting application name: MySQLWorkbench.exe, version: 5.2.34.7780, time stamp: 0x4ddbbfe9
Faulting module name: sigc-2.0.dll, version: 2.2.3.1, time stamp: 0x4ddbb981
Exception code: 0xc0000005
Fault offset: 0x000038e2
Faulting process id: 0x192c
Faulting application start time: 0x01cc2510bbbcaebc
Faulting application path: C:\Program Files\MySQL\MySQL Workbench 5.2 CE\MySQLWorkbench.exe
Faulting module path: C:\Program Files\MySQL\MySQL Workbench 5.2 CE\sigc-2.0.dll
Report Id: 668f42d8-9105-11e0-af2e-70f1a19bccec
------------------ : .NET Runtime event 1026:
Application: MySQLWorkbench.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.~BaseWindowsCanvasView()
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose(Boolean)
   at MySQL.GUI.Mdc.BaseWindowsCanvasView.Dispose()
   at MySQL.Utilities.WindowsCanvasViewerPanel.FinalizeCanvas()
   at MySQL.Utilities.WindowsCanvasViewer.FinalizeCanvas()
   at MySQL.GUI.Workbench.ModelDiagramForm.Destroy()
   at MySQL.GUI.Workbench.ModelDiagramForm.Dispose(Boolean)
   at System.ComponentModel.Component.Finalize()
[7 Jun 2011 15:35] Armando Lopez Valencia
Thanks a lot for your report Mike.
[15 Nov 2011 3:36] Philip Olson
Fixed as of 5.2.36:

+        Fixed a crash bug, which would happen on exit.