Bug #47025 When undoing relationships, the application crash
Submitted: 31 Aug 2009 15:53 Modified: 31 Aug 2009 16:51
Reporter: Tomás Peralta Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Workbench Severity:S2 (Serious)
Version:OSS 5.1.17 OS:Linux (Ubuntu 8.04 LTS)
Assigned to: CPU Architecture:Any
Tags: crash, EER Diagram, undo

[31 Aug 2009 15:53] Tomás Peralta
Description:
When working on a EER diagram, creating tables and placing relationships with a table would cause the application to crash under certain coditions.

MySQL Workbench installed from mysql-workbench-oss-5.1.17-1ubu804-i386.deb

What I did:
 I created several tables with relationships to one table and then I tried to undo all the process.

What I wanted to happen:
 I wanted to have only the first table I've created at the begging, without any relationship or other table in the diagram.

What actually happened:
 The application crashed losing all the information not saved.

Output from the console:
tomas@newells:~/Escritorio$ mysql-workbench
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/db.mysql.grt.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/tools.grt.lua' (lua)
** Message: Initialized Lua module /usr/lib/mysql-workbench/modules/tools.grt.lua (WbTools)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/wb_utils_grt.py' (python)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/wb.mysql.import.grt.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/forms.grt.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/wb.mysql.validation.grt.so' (cpp)
** Message: WARNING: Could not get pointer to grt_module_init in module /usr/lib/mysql-workbench/modules/wb.mysql.validation.grt.so (`grt_module_init': /usr/lib/mysql-workbench/modules/wb.mysql.validation.grt.so: undefined symbol: grt_module_init) 
** Message: WARNING: Could not load wb.mysql.validation.grt.so: Invalid module /usr/lib/mysql-workbench/modules/wb.mysql.validation.grt.so
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/dbutils.grt.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/wb.model.grt.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/wb.validation.grt.so' (cpp)
** Message: WARNING: Could not get pointer to grt_module_init in module /usr/lib/mysql-workbench/modules/wb.validation.grt.so (`grt_module_init': /usr/lib/mysql-workbench/modules/wb.validation.grt.so: undefined symbol: grt_module_init)
** Message: WARNING: Could not load wb.validation.grt.so: Invalid module /usr/lib/mysql-workbench/modules/wb.validation.grt.so
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/table_utils.grt.lua' (lua)
** Message: Initialized Lua module /usr/lib/mysql-workbench/modules/table_utils.grt.lua (WbTableUtils)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/catalog_utils.grt.lua' (lua)
** Message: Initialized Lua module /usr/lib/mysql-workbench/modules/catalog_utils.grt.lua (WbUtils)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/db.mysql.sqlparser.grt.so' (cpp)

** (mysql-workbench-bin:8366): WARNING **: Native C++ module classes must have the suffix Impl to avoid confusion between implementation and wrapper classes (MysqlSqlFacade)
** Message: Trying to load module '/usr/lib/mysql-workbench/modules/db.mysql.sqlide.grt.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/plugins/db.mysql.editors.wbp.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/plugins/wb.printing.wbp.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/plugins/db.mysql.diff.reporting.wbp.so' (cpp)
** Message: WARNING: Could not open module /usr/lib/mysql-workbench/plugins/db.mysql.diff.reporting.wbp.so (/usr/lib/mysql-workbench/plugins/db.mysql.diff.reporting.wbp.so: undefined symbol: _ZTV9Wb_plugin)
** Message: WARNING: Could not load db.mysql.diff.reporting.wbp.so: Cannot open /usr/lib/mysql-workbench/plugins/db.mysql.diff.reporting.wbp.so
** Message: Trying to load module '/usr/lib/mysql-workbench/plugins/wb.model.editors.wbp.so' (cpp)
** Message: Trying to load module '/usr/lib/mysql-workbench/plugins/db.mysql.wbp.so' (cpp)

** (mysql-workbench-bin:8366): WARNING **: Plugin 'wb.tools.quickTables' from module WbTools has invalid type ''

** (mysql-workbench-bin:8366): WARNING **: :1474: link 'com.mysql.wb.menu.tools.debug' <object app.MenuItem> key=owner could not be resolved

** (mysql-workbench-bin:8366): WARNING **: :1483: link 'com.mysql.wb.menu.tools.debug' <object app.MenuItem> key=owner could not be resolved

** (mysql-workbench-bin:8366): WARNING **: /home/tomas/.mysql/workbench/wb_options.xml:321: link '2b10daec-9645-11de-a3d0-001e90c6945e' <object GrtObject> key=owner could not be resolved
** Message: dropping on reset RefreshLayers
** Message: dropping on reset RefreshZoom
** Message: dropping on reset RefreshMenubar
** Message: dropping on reset RefreshToolbar
** Message: dropping on reset RefreshToolbar
** Message: dropping on reset RefreshHistory

(mysql-workbench-bin:8366): Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper: assertion `node != NULL' failed
** Message: item_activated: 0x8b95500 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
** Message: item_activated: 0x9201e88 -> 'builtin:undo'
Segmentation fault

How to repeat:
1) Add ab EER diagram.
2) Create a table.
3) Add a column to the table. In my case, I added an "id" column with the datatype "INT".
4) Create 4 new tables.
5) Place a new 1:n Non-Identifying Relationship (2) between the empty tables and the table created in the step 2.
6) Undo all the way to the step 3.
7) Undo "Add column 'table1.id'. The application should crash.
[31 Aug 2009 16:37] Valeriy Kravchuk
Can't repeat this crash on Mac OS X. Should be Linux-specific bug.
[31 Aug 2009 16:51] MySQL Verification Team
I couldn't repeat on Ubuntu 9.04.