Bug #114226 Compare Schema Crash on Differences Report
Submitted: 5 Mar 2024 17:06 Modified: 7 Mar 2024 12:38
Reporter: Dale Wood Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Workbench: Modeling Severity:S3 (Non-critical)
Version:8.0.36 OS:Windows
Assigned to: CPU Architecture:Any

[5 Mar 2024 17:06] Dale Wood
Description:
Faulting application name: MySQLWorkbench.exe, version: 8.0.36.0, time stamp: 0x65836021
Faulting module name: db.mysql.grt.dll, version: 0.0.0.0, time stamp: 0x65835fc2
Exception code: 0xc0000005
Fault offset: 0x000000000000c4b6
Faulting process id: 0x35b8
Faulting application start time: 0x01da6f1d2133b849
Faulting application path: C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQLWorkbench.exe
Faulting module path: C:\Program Files\MySQL\MySQL Workbench 8.0 CE\db.mysql.grt.dll
Report Id: dd346b10-1afa-49a3-943f-8b1e64a9e26a
Faulting package full name: 
Faulting package-relative application ID: 

Application: MySQLWorkbench.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
   at <Module>.mforms.Wizard.next_clicked(mforms.Wizard*)
   at MySQL.Forms.WizardForm.NextClick(System.Object, System.EventArgs)
   at System.Windows.Forms.Control.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.SendMessage(System.Runtime.InteropServices.HandleRef, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.Control.SendMessage(Int32, IntPtr, IntPtr)
   at System.Windows.Forms.Control.ReflectMessageInternal(IntPtr, System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control.WmCommand(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.NativeWindow.DefWndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window)
   at <Module>.mforms.MenuItem.callback(mforms.MenuItem*)
   at MenuItemEventTarget.MenuItemClick(System.Object, System.EventArgs)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(System.Object, System.EventArgs)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(System.EventArgs)
   at System.Windows.Forms.ToolStripItem.HandleClick(System.EventArgs)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(System.Windows.Forms.MouseEventArgs)
   at System.Windows.Forms.ToolStrip.OnMouseUp(System.Windows.Forms.MouseEventArgs)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(System.Windows.Forms.MouseEventArgs)
   at System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ToolStrip.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ToolStripDropDown.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at MySQL.GUI.Workbench.Program.Main(System.String[])

How to repeat:
database -> compare schemas ->

Suggested fix:
I reinstall
[6 Mar 2024 11:47] MySQL Verification Team
Hello!

Thank you for the bug report. 
I tried to reproduce your issue on windows 11 with workbench 8.0.36 but I am not seeing any issues at my end. 
Please see the screenshot below. Thanks. 

Regards,
Ashwini Patil
[6 Mar 2024 11:49] MySQL Verification Team
8.0.36 test results

Attachment: 114226_test_results.png (image/png, text), 257.50 KiB.

[6 Mar 2024 14:55] Dale Wood
I have tried uninstalling and full re-install three times.
Versions 8.0.32, 8.0.33 and 8.0.36. Running on a PC with Windows 10 Pro.

An employee (Drew) on another Windows 10 PC crashes with version 8.0.31 same error as I have.
Another employee (Tim) on another Windows 10 PC works with version 8.0.28 and 8.0.36.  It seems to work. 

So, it seems like it could be a database structure issue. As that seems to be the only variable other possible than environment configuration.

 
Logs are not written during the crash they always end at the compare step. 
Is there a patch so the correct windows framework is found / accessed for Windows 10.

C:\Program Files\MySQL\MySQL Workbench 8.0 CE\db.mysql.grt.dll 
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
   at <Module>.mforms.Wizard.next_clicked(mforms.Wizard*)
   at MySQL.Forms.WizardForm.NextClick(System.Object, System.EventArgs)

Seems to work on my personal laptop with windows 11 with version WB 8.0.28 and 8.0.36.

Any suggestions on how I can proceed to geta working version of compare on my PC?
[6 Mar 2024 15:10] Dale Wood
I used another tool DeForge (30 trial) the only difference in the database we are comparing and failing on is...
Events 
Triggers
and Comments in table structure
[7 Mar 2024 4:28] Dale Wood
comparing indexes one unique and not causes the hard crash.

-- MySQL dump 10.13  Distrib 8.0.36, for Win64 (x86_64)
--
-- Host: 127.0.0.1    Database: mmc
-- ------------------------------------------------------
-- Server version	8.0.36

DROP SCHEMA IF EXISTS `mmc`;
CREATE SCHEMA IF NOT EXISTS `mmc`;
USE `mmc`;
--
-- Table structure for table `condition`
--
DROP TABLE IF EXISTS `mmc`.`condition`;
CREATE TABLE `mmc`.`condition` (
  condition_id int NOT NULL AUTO_INCREMENT COMMENT 'Table Pk, Record ID',
  format_id int NOT NULL DEFAULT '0' COMMENT 'Format ID Foreign Key',
  conditionSequence int unsigned NOT NULL DEFAULT '0' COMMENT 'Condition Sequence',
  conditionName varchar(64) DEFAULT '' COMMENT 'Condition Name',
  `description` varchar(255) DEFAULT NULL COMMENT 'Condition Description',
  isDeleted tinyint DEFAULT '0' COMMENT 'Flag to mark row as deleted',
  user_id int NOT NULL DEFAULT '0' COMMENT 'Created by User ID owner filter ',
  created_ts timestamp(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) COMMENT 'Record created date ',
  modified_ts timestamp(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2) COMMENT 'Record last modified date ',
  modUser_id int NOT NULL DEFAULT '0' COMMENT 'Record last modified by user ',
  PRIMARY KEY (condition_id),
  KEY idx_formatid_conditionSequence (format_id,conditionSequence)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 COMMENT='Format Conditions in execute order conditionSequence';

DROP SCHEMA IF EXISTS `mmc-dev`;
CREATE SCHEMA IF NOT EXISTS `mmc-dev`;
USE `mmc-dev`;

DROP TABLE IF EXISTS  `mmc-dev`.`condition`;
CREATE TABLE  `mmc-dev`.`condition` (
  condition_id int NOT NULL AUTO_INCREMENT COMMENT 'Table Pk, Record ID',
  format_id int NOT NULL DEFAULT '0' COMMENT 'Format ID Foreign Key',
  conditionSequence int unsigned NOT NULL DEFAULT '0' COMMENT 'Condition Sequence',
  conditionName varchar(64) DEFAULT '' COMMENT 'Condition Name',
  `description` varchar(255) DEFAULT NULL COMMENT 'Condition Description',
  isDeleted tinyint DEFAULT '0' COMMENT 'Flag to mark row as deleted',
  user_id int NOT NULL DEFAULT '0' COMMENT 'Created by User ID owner filter ',
  created_ts timestamp(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) COMMENT 'Record created date ',
  modified_ts timestamp(2) NOT NULL DEFAULT CURRENT_TIMESTAMP(2) ON UPDATE CURRENT_TIMESTAMP(2) COMMENT 'Record last modified date ',
  modUser_id int NOT NULL DEFAULT '0' COMMENT 'Record last modified by user ',
  PRIMARY KEY (condition_id),
  -- UNIQUE KEY idx_formatid_conditionSequence (format_id,conditionSequence)
 KEY idx_formatid_conditionSequence (format_id,conditionSequence)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 COMMENT='Conditions';
[7 Mar 2024 12:38] MySQL Verification Team
Hello!

Thank you for the sql files.
Verified as described.

Regards,
Ashwini Patil