Bug #109671 Crash after a select
Submitted: 18 Jan 2023 9:08 Modified: 31 Mar 2023 17:34
Reporter: Paolo Meroni Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S1 (Critical)
Version:8.0.32 OS:MacOS (Ventura)
Assigned to: CPU Architecture:Any (M1, x86)
Tags: crash

[18 Jan 2023 9:08] Paolo Meroni
Description:
Doing any select on a mysql 5.7 db will crash the program.
I can't check if the problem persists with different mysql version.

Starting mysqlworkbench from command line gives the following message after the crash:
2023-01-18 09:52:47.796 MySQLWorkbench[62617:4862748] invalid icon for toolbar
2023-01-18 09:52:47.895 MySQLWorkbench[62617:4862748] -[MQIndicatorCell setIsNull:]: unrecognized selector sent to instance 0x600000eb0870
zsh: illegal hardware instruction  ./MySQLWorkbench

How to repeat:
- Install mysqlworkbench 8.0.32 on a ARM M1 mac.
- Open a mysql 5.7 db.
- Do a select on any table
[18 Jan 2023 9:09] Paolo Meroni
Crash report

Attachment: MySQLWorkbench-2023-01-18-095248.ips (application/octet-stream, text), 24.23 KiB.

[18 Jan 2023 10:37] Russ Bubley
I experience the same bug. For the avoidance of doubt, it worked fine with 8.0.31

Some versions and architecture (mysqlworkbench 8.0.32 on a ARM M1 mac).
Connecting to a different server version - in my case MySQL 8.0.16
Same method to precipitate a crash: so a select on any table (or any view, as it happens)

MacOS crash reporter says:

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000

Termination Reason:    Namespace SIGNAL, Code 4 Illegal instruction: 4
[20 Jan 2023 23:31] Isaac Ordonez
Confirming that this occurs on MySQLWorkbench 8.0.32 on a ARM M1 Mac.

Opening an any table the running a select causes the crash.  8.0.31 doesn't have this issue.

/Applications/MySQLWorkbench.app/Contents/MacOS/MySQLWorkbench
2023-01-20 15:28:55.479 MySQLWorkbench[94775:9645584] -[MQIndicatorCell setIsNull:]: unrecognized selector sent to instance 0x60000272b1b0
zsh: illegal hardware instruction  /Applications/MySQLWorkbench.app/Contents/MacOS/MySQLWorkbench
[25 Jan 2023 7:11] MySQL Verification Team
Hello Paolo Meroni,

Thank you for the bug report. 
We are able to reproduce the issue on MacOS with the help of a colleague but we found a similar one i.e Bug #102284, please see Bug #102284.
Hence, If you have no objections then I would like to close this as a duplicate of Bug #102284. Thank you.

Regards,
Ashwini Patil
[25 Jan 2023 9:44] Russ Bubley
Hello Ashwini Patil,

This bug does *not* look like a dupe of Bug #102284 -- that bug:
 
* Crashes on startup rather than crashes on select.
* Is reported on Intel not Arm
* Affected 8.0.23 but not 8.0.22 -- this bug affects 8.0.32 but not 8.0.31
[25 Jan 2023 12:11] MySQL Verification Team
Thank you, Russ.

Regards,
Ashwini Patil
[25 Jan 2023 12:23] MySQL Verification Team
Bug #109686 marked as duplicate of this one
[25 Jan 2023 12:40] MySQL Verification Team
Bug #109729 marked as duplicate of this one
[25 Jan 2023 13:12] MySQL Verification Team
Bug #109732 marked as duplicate of this one
[25 Jan 2023 13:14] MySQL Verification Team
Bug #109734 marked as duplicate of this one
[25 Jan 2023 13:16] MySQL Verification Team
Bug #109766 marked as duplicate of this one
[25 Jan 2023 19:58] Orin Eman
From 109732:

The problem is here in, lines 458 on in MResultsetViewer.mm.  It is assuming aCell is an MQResultSetCell that has setIsNull and setIsBlob whereas in fact aCell is an MQIndicatorCell which has neither.  Adding dummy setIsNull and setIsBlob methods to MQIndicatorCell prevents the crash.

Whether aCell being an MQIndicatorCell is expected or not is unknown to me and needs further investigation.

  if (columnIndex >= 0)
    {
      [aCell setIsNull: (*mData)->is_field_null(rowIndex, columnIndex)];
      [aCell setIsBlob: (*mData)->get_column_type(columnIndex) == bec::GridModel::BlobType];
    }
    else
    {
      [aCell setIsNull: NO];
      [aCell setIsBlob: NO];
    }
[26 Jan 2023 6:45] MySQL Verification Team
Bug #109783 marked as duplicate of this one
[26 Jan 2023 6:46] MySQL Verification Team
Bug #109778 marked as duplicate of this one
[27 Jan 2023 5:32] MySQL Verification Team
Bug #109801 marked as duplicate of this one
[28 Jan 2023 6:36] Chuck Wolber
I can confirm this also happens on an Intel Mac (2.4 Ghz, 8 Core i9) running macOS 13.1. All forms of select as well as "show tables" immediately causes MySQL Workbench to crash.
[29 Jan 2023 17:07] Abdelkarim LYOUSSI
Unfortunately, I'm experiencing the same crash while working with MySql Workbench. However, when I downloaded the older version (mysql-workbench-community-8.0.31-macos-x86_64.dmg), it worked perfectly fine. I'm using a MacBook pro M1 arm64.
[29 Jan 2023 20:15] Orin Eman
IF you feel like building from source (clone from GitHub or you'll be in a world of hurt), the following change will prevent the crash:

diff --git a/frontend/mac/resultset/MQIndicatorCell.h b/frontend/mac/resultset/MQIndicatorCell.h
index c0f2ba60f..6832ac2f0 100644
--- a/frontend/mac/resultset/MQIndicatorCell.h
+++ b/frontend/mac/resultset/MQIndicatorCell.h
@@ -33,4 +33,7 @@
 - (void)setSelected:(BOOL)flag;
 - (void)setPlaceholder:(BOOL)flag;
 
+- (void)setIsNull:(BOOL)flag;
+- (void)setIsBlob:(BOOL)flag;
+
 @end
diff --git a/frontend/mac/resultset/MQIndicatorCell.m b/frontend/mac/resultset/MQIndicatorCell.m
index 2593016b8..de7295936 100644
--- a/frontend/mac/resultset/MQIndicatorCell.m
+++ b/frontend/mac/resultset/MQIndicatorCell.m
@@ -102,6 +102,17 @@ - (void)setPlaceholder: (BOOL)flag {
   _placeholder= flag;
 }
 
+//----------------------------------------------------------------------------------------------------------------------
+
+- (void)setIsBlob:(BOOL)flag {
+}
+
+//----------------------------------------------------------------------------------------------------------------------
+
+- (void)setIsNull:(BOOL)flag {
+}
+
+
 @end
 
 //----------------------------------------------------------------------------------------------------------------------
[31 Jan 2023 4:31] MySQL Verification Team
Bug #109849 marked as duplicate of this one
[31 Jan 2023 5:46] MySQL Verification Team
Bug #109855 marked as duplicate of this one
[6 Feb 2023 11:24] MySQL Verification Team
Bug #109930 marked as duplicate of this one
[6 Feb 2023 11:27] MySQL Verification Team
Bug #109924 marked as duplicate of this one
[6 Feb 2023 11:29] MySQL Verification Team
Bug #109925 marked as duplicate of this one
[6 Feb 2023 11:31] MySQL Verification Team
Bug #109932 marked as duplicate of this one
[6 Feb 2023 11:33] MySQL Verification Team
Bug #109927 marked as duplicate of this one
[6 Feb 2023 11:36] MySQL Verification Team
Bug #109933 marked as duplicate of this one
[9 Feb 2023 11:03] MySQL Verification Team
Bug #109995 marked as duplicate of this one
[13 Feb 2023 12:35] MySQL Verification Team
Bug #110035 marked as duplicate of this one
[21 Feb 2023 11:30] MySQL Verification Team
Bug #110143 marked as duplicate of this one
[22 Feb 2023 18:10] Jean Francois Brodeur
Hi you could change the CPU Architecture on the bug summary header to include both Intel and ARM.
[22 Feb 2023 18:59] Paolo Meroni
added x86 architecture among CPUs
[23 Feb 2023 9:59] MySQL Verification Team
Bug #110173 marked as duplicate of this one
[1 Mar 2023 11:48] MySQL Verification Team
Bug #110240 marked as duplicate of this one
[1 Mar 2023 11:50] MySQL Verification Team
Bug #110248 marked as duplicate of this one
[1 Mar 2023 11:57] MySQL Verification Team
Bug #110249 marked as duplicate of this one
[3 Mar 2023 12:27] MySQL Verification Team
Bug #110264 marked as duplicate of this one
[9 Mar 2023 10:03] MySQL Verification Team
Bug #110308 marked as duplicate of this one
[9 Mar 2023 13:00] MySQL Verification Team
Bug #110324 marked as duplicate of this one
[14 Mar 2023 10:41] MySQL Verification Team
Bug #110351 marked as duplicate of this one
[15 Mar 2023 12:21] David Andrade Bolanos
Error on my MAC

Attachment: errormysqlwb.txt (text/plain), 42.52 KiB.

[17 Mar 2023 6:45] MySQL Verification Team
Bug #110403 marked as duplicate of this one
[20 Mar 2023 12:24] MySQL Verification Team
Bug #110425 marked as duplicate of this one
[20 Mar 2023 12:26] MySQL Verification Team
Bug #110426 marked as duplicate of this one
[20 Mar 2023 12:46] MySQL Verification Team
Bug #110428 marked as duplicate of this one
[21 Mar 2023 12:17] MySQL Verification Team
Bug #110449 marked as duplicate of this one
[21 Mar 2023 12:22] Jean Francois Brodeur
Hi, are we getting closer to resolution, Oracle seems to be wasting more time closing other bug than resolving it, the solution is known. Thanks
[27 Mar 2023 11:32] MySQL Verification Team
Bug #110504 marked as duplicate of this one
[27 Mar 2023 12:03] MySQL Verification Team
Bug #110505 marked as duplicate of this one
[29 Mar 2023 10:30] MySQL Verification Team
Bug #110540 marked as duplicate of this one
[31 Mar 2023 17:34] Christine Cole
Posted by developer:
 
Fixed as of the upcoming MySQL Workbench 8.0.33 release, and here's the proposed changelog entry from the documentation team:

When running on some architecture and macOS combinations, MySQL Workbench
could exit unexpectedly while attempting to execute a SELECT or SHOW
TABLES statement.

Thank you for the bug report.
[4 Apr 2023 11:35] MySQL Verification Team
Bug #110602 marked as duplicate of this one
[29 Jan 5:04] B L
I have this issue on 8.0.36. I also had this on the 2 previosly reported versions too (8.0.32, 8.0.34)

Runnin on MPB M2 Max
[29 Jan 5:07] B L
apologies. I posted in wrong thread (supposed to bin in 110786)