Bug #73854 MySQLWorkbench 6.2.2 RC for OSX cannot be installed/launched
Submitted: 9 Sep 2014 11:53 Modified: 2 Oct 2014 8:50
Reporter: Flemming Jønsson Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:6.2.2 OS:MacOS (10.9.4)
Assigned to: CPU Architecture:Any

[9 Sep 2014 11:53] Flemming Jønsson
Description:
I have downloaded the MySQLWorkbench community edition version 6.2.2 development release for OSx.

I can verify the checksum and the dmg opens fine. I can also copy the MySQLWorkbench application to my Applications folder. 

However when launching the application the MySQLWorkbench icon starts jumping and continues to do so for about 20-30 seconds after which I get an "This application is damaged and cannot be opened".

I have verified this on two different systems.

If I copy the .app folder to my tmp dir and open the application using the Terminal I can get the ui to display - but I am unable to connect to any of my old server connections.
Also no matter what "Connection method" I choose for any new connection gives me this error: Cannot start SSH tunnel manager

frj@dhcp-97:~/tmp/MySQLWorkbench.app/Contents/MacOS $ ./MySQLWorkbench --verbose
Ready.

2014-09-09 13:38:05.466 MySQLWorkbench[79380:507] TODO: restore edit menu
Traceback (most recent call last):
  File "/Users/frj/tmp/MySQLWorkbench.app/Contents/Resources/sshtunnel.py", line 20, in <module>
    import threading
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 13, in <module>
    from collections import deque as _deque
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/collections.py", line 8, in <module>
    from _collections import deque, defaultdict
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_collections.so, 2): no suitable image found.  Did find:
	/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_collections.so: mach-o, but wrong architecture

** (process:79380): WARNING **: Tunnel manager could not be executed

How to repeat:
Download the development release dmg version 6.2.2 with checksum 'd24d17a5c11c0a9469719484bbbe28b0' from http://dev.mysql.com/downloads/workbench/

Open the dmg and see if the MySQLWorkbench application can be launched.

Suggested fix:
Check python libraries required and/or bundle them if specific versions are needed.
[9 Sep 2014 11:56] Flemming Jønsson
I have only tested this using this dmg: 
Mac OS X (x86, 32-bit), DMG Archive 		6.2.2 	51.5M 	
(mysql-workbench-community-6.2.2-osx-i686.dmg) 	MD5: d24d17a5c11c0a9469719484bbbe28b0
[9 Sep 2014 13:19] MySQL Verification Team
WorkBench installed

Attachment: WB_6.2.2.png (image/png, text), 340.17 KiB.

[9 Sep 2014 13:21] MySQL Verification Team
I couldn't repeat on:

MySQL Workbench Community (GPL) for Mac OS X version 6.2.2  revision 12242 build 2167 (32 bit)
Configuration Directory: /Users/miguel/Library/Application Support/MySQL/Workbench
Data Directory: /Volumes/MySQL Workbench/MySQLWorkbench.app/Contents/Resources
Cairo Version: 1.10.2
OS: OS X 10.9.x Mavericks
CPU: 4x Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz - 16.00GiB RAM

Which is your OS version?. Thanks.
[9 Sep 2014 14:23] Flemming Jønsson
I am using OSx 10.9.4 

I just noticed that the Python error when running MySQLWorkbench from Terminal referenced my Python framework from my MacPorts install. 

If I remove my Macports /opt/local folders from PATH and thus fall back to the Python framework supplied with osx I can start MySQLWorkbench from terminal and open existing connections without the SSH error.

However I am still not able to simply double click the MySQLWorkbench app and launch it. It continues to report this error:
 "MySQLWorkbench" is damaged and can't be opened. You should move it to the trash.

Well since I can launch it using the Terminal I'm guessing it is path issue as well.

FYI I never had any issues using 6.1.x Workbench with the Macports python on my path - it is only 6.2.2 that fails for me .
[9 Sep 2014 14:52] Flemming Jønsson
To work around the path issue and enforce using the Apple provided Python I created a MySQLWorkbench.sh script next to the MySQLWorkbench binary with this content:

#!/bin/sh
## PATH workaround as described here: http://apple.stackexchange.com/questions/51677/how-to-set-path-for-finder-launched-applica...
##
. ~/.bash_profile

export PATH=/usr/bin:$PATH

logger "`dirname \"$0\"`/MySQLWorkbench"

exec "`dirname \"$0\"`/MySQLWorkbench" $@

I then updated the Info.plist in the MySQLWorkbench.app directory and changed the CFBundleExecutable to refer to the sh script instead.

	<key>CFBundleExecutable</key>
<!--	<string>MySQLWorkbench</string> -->
    <string>MySQLWorkbench.sh</string>

Finally I ran:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/MySQLWorkbench.app/

And now I can launch the MySQLWorkbench no matter if Macports is installed or not.
[22 Sep 2014 0:05] Mike H
See http://bugs.mysql.com/bug.php?id=74000
[23 Sep 2014 18:36] Alfredo Kojima
Please try version 6.2.3, about to be released
[2 Oct 2014 8:49] Flemming Jønsson
Version 6.2.3 works for me out of the box (both with- and without Macports installed).
[2 Oct 2014 8:50] Flemming Jønsson
6.2.3 fixes this issue