MySQL Workbench doesn't start

Hello,

I decided to unify my development (+daily driver) and production environments. After some investigation I decided that openSUSE ecosystem might be a good choice. I am currently migrating all my tools from Arch linux to Tumbleweed.

However, I have issues with running MySQL Workbench. When I run it from the menu it doesn’t start. When started from the command line it prints the following information:


method return time=1597062886.674015 sender=:1.12 -> destination=:1.111 serial=16 reply_serial=2
   string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
                      "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!-- GDBus 2.64.4 -->
<node>
  <interface name="org.freedesktop.DBus.Properties">
    <method name="Get">
      <arg type="s" name="interface_name" direction="in"/>
      <arg type="s" name="property_name" direction="in"/>
      <arg type="v" name="value" direction="out"/>
    </method>
    <method name="GetAll">
      <arg type="s" name="interface_name" direction="in"/>
      <arg type="a{sv}" name="properties" direction="out"/>
    </method>
    <method name="Set">
      <arg type="s" name="interface_name" direction="in"/>
      <arg type="s" name="property_name" direction="in"/>
      <arg type="v" name="value" direction="in"/>
    </method>
    <signal name="PropertiesChanged">
      <arg type="s" name="interface_name"/>
      <arg type="a{sv}" name="changed_properties"/>
      <arg type="as" name="invalidated_properties"/>
    </signal>
  </interface>
  <interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
      <arg type="s" name="xml_data" direction="out"/>
    </method>
  </interface>
  <interface name="org.freedesktop.DBus.Peer">
    <method name="Ping"/>
    <method name="GetMachineId">
      <arg type="s" name="machine_uuid" direction="out"/>
    </method>
  </interface>
  <interface name="org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface">
    <method name="ChangeWithMasterPassword">
      <arg type="o" name="collection" direction="in"/>
      <arg type="(oayays)" name="original" direction="in"/>
      <arg type="(oayays)" name="master" direction="in"/>
    </method>
    <method name="ChangeWithPrompt">
      <arg type="o" name="collection" direction="in"/>
      <arg type="o" name="prompt" direction="out"/>
    </method>
    <method name="CreateWithMasterPassword">
      <arg type="a{sv}" name="attributes" direction="in"/>
      <arg type="(oayays)" name="master" direction="in"/>
      <arg type="o" name="collection" direction="out"/>
    </method>
    <method name="UnlockWithMasterPassword">
      <arg type="o" name="collection" direction="in"/>
      <arg type="(oayays)" name="master" direction="in"/>
    </method>
  </interface>
  <interface name="org.freedesktop.Secret.Service">
    <method name="OpenSession">
      <arg type="s" name="algorithm" direction="in"/>
      <arg type="v" name="input" direction="in"/>
      <arg type="v" name="output" direction="out"/>
      <arg type="o" name="result" direction="out"/>
    </method>
    <method name="CreateCollection">
      <arg type="a{sv}" name="properties" direction="in"/>
      <arg type="s" name="alias" direction="in"/>
      <arg type="o" name="collection" direction="out"/>
      <arg type="o" name="prompt" direction="out"/>
    </method>
    <method name="SearchItems">
      <arg type="a{ss}" name="attributes" direction="in"/>
      <arg type="ao" name="unlocked" direction="out"/>
      <arg type="ao" name="locked" direction="out"/>
    </method>
    <method name="Unlock">
      <arg type="ao" name="objects" direction="in"/>
      <arg type="ao" name="unlocked" direction="out"/>
      <arg type="o" name="prompt" direction="out"/>
    </method>
    <method name="Lock">
      <arg type="ao" name="objects" direction="in"/>
      <arg type="ao" name="locked" direction="out"/>
      <arg type="o" name="Prompt" direction="out"/>
    </method>
    <method name="LockService"/>
    <method name="ChangeLock">
      <arg type="o" name="collection" direction="in"/>
      <arg type="o" name="prompt" direction="out"/>
    </method>
    <method name="GetSecrets">
      <arg type="ao" name="items" direction="in"/>
      <arg type="o" name="session" direction="in"/>
      <arg type="a{o(oayays)}" name="secrets" direction="out"/>
    </method>
    <method name="ReadAlias">
      <arg type="s" name="name" direction="in"/>
      <arg type="o" name="collection" direction="out"/>
    </method>
    <method name="SetAlias">
      <arg type="s" name="name" direction="in"/>
      <arg type="o" name="collection" direction="in"/>
    </method>
    <signal name="CollectionCreated">
      <arg type="o" name="collection"/>
    </signal>
    <signal name="CollectionDeleted">
      <arg type="o" name="collection"/>
    </signal>
    <signal name="CollectionChanged">
      <arg type="o" name="collection"/>
    </signal>
    <property type="ao" name="Collections" access="read"/>
  </interface>
  <node name="collection"/>
</node>
"
Found /usr/lib64/libproj.so.19

**What I did:
**When I first tried to install MySQL Workbench using YaST software it said that gtkmm30 is not installed so below is the script which I prepared and run:


sudo zypper refresh
sudo zypper update -y

mkdir ~/rpm
cd ~/rpm
wget https://dev.mysql.com/get/mysql80-community-release-sl15-3.noarch.rpm
sudo rpm -ivh mysql80-community-release-sl15-3.noarch.rpm
sudo zypper refresh
sudo zypper install mysql-community-server
mysql --version

cd ~
sudo zypper install -y gtkmm3-devel
sudo zypper install -y mysql-workbench
sudo systemctl start mysql
echo
echo
echo !!! The MySQL password :
grep temporary /var/log/mysql/mysqld.log
echo
echo
sudo mysql_secure_installation
sudo systemctl stop mysql

While troubleshooting I also uninstalled the MySQL Workbench via the CLI and installed it via YaST Software. The problem didn’t disappear.

My environment
Tumbleweed in Oracle VirtualBox VM
Kernel release: 5.7.11-1-default
DE: Xfce

Please, help me to find out why MySQL Workbench does not start.

Thank you.

You are not alone:
https://forums.opensuse.org/showthread.php/541693-mysql-workbench-doesn-t-start

If you care enough, please open a bugreport at openSUSE’s bugzilla.

Hendrik

Hello Hendrik,

I followed your advise and started opening a bug report. I’ve got suggestions for already registered similar bugs. What worked for me and solved my problem is:

sudo chmod -r /usr/share/mysql-workbench/libraries/wb.py

After removing the permissions from that python library I was able to start MySQL Workbench.

Some additional information: I have installed Tumbleweed on real hardware and the problem was still there. So it is not dependent on the VirtualBox. The fix worked on the hardware machine.

Thank you.

sudo chmod -r /usr/share/mysql-workbench/libraries/wb.py

I’ve been wracking my brain to figure out what that highlighted option is. There’s a “-R” which is for recursive, but no “-r”.
Can you please inform me where you’ve seen “-r”?

This “-r” means: remove the read flag from the list of permissions.
On my system:

hendrik@schleppi:~> ll /usr/share/mysql-workbench/libraries/wb.py
-rw-r--r-- 1 root root 10844 15. Dez 2019  /usr/share/mysql-workbench/libraries/wb.py
hendrik@schleppi:~> sudo chmod -r /usr/share/mysql-workbench/libraries/wb.py
[sudo] Passwort für root: 
hendrik@schleppi:~> ll /usr/share/mysql-workbench/libraries/wb.py
--w------- 1 root root 10844 15. Dez 2019  /usr/share/mysql-workbench/libraries/wb.py
hendrik@schleppi:~> 

But this did not solve my problem. I’m still getting:

mysql-workbench 
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
Found /usr/lib64/libproj.so.19
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>:<exec_prefix>]
ImportError: No module named site

Hello hendwolt,

While looking for a solution I saw that in some cases there is one additional file with the same name and with .pyc extension (compiled version of that python script). So, it was recommended to run:

sudo chmod -r /usr/share/mysql-workbench/libraries/wb.*

Do you have any other files in the /usr/share/mysql-workbench/libraries directory? I have only this only file there.

If I understand the workaround correctly, by removing the read permissions from the python library file it has the same result as simply removing/deleting the file. However with this workaround the file is still available just in case it will need to be recovered.

This workaround worked for me on both - virtual machine and laptop installations of openSUSE.

I hope you will have your issue sorted out soon.

Hello hendwolt,

I’ve just saw that you are getting a specific python error.

Does this stackoverflow link helps you to solve it?

The error i receive when i try to start mysql-workbench looks different:

# mysql-workbench
Failed to open connection to "session" message bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Found /usr/lib64/libproj.so.19
ImportError: No module named site
#

None of the solutions discussed in this thread so far worked for me.

My system:

Operating System: openSUSE Tumbleweed 20200810
KDE Plasma Version: 5.19.4
KDE Frameworks Version: 5.72.0
Qt Version: 5.15.0
Kernel Version: 5.8.0-1-default
OS Type: 64-bit

mysql-workbench-8.0.19-1.2
mariadb 10.4.13-3.1

python 2.7.18-2.1
python38 3.8.4-1.1

Regards

susejunky

No, if I set export PYTHONHOME to /usr/lib64 I get the same output as susejunky.

There are more files:

endrik@schleppi:~> ll /usr/share/mysql-workbench/libraries/
insgesamt 36
-rw-r--r-- 1 root root   373 15. Dez 2019  db_utils.py
-rw-r--r-- 1 root root 14343 15. Dez 2019  grt_python_debugger.py
--w------- 1 root root 10844 15. Dez 2019  wb.py
drwxr-xr-x 3 root root  4096 12. Aug 21:17 workbench