Wrestling the Anaconda

I’ve decided to affectionally call the MySQL Workbench Product “The Anaconda”. It’s been a wrestle so far to get all the features and functionality I wanted in this product. Of course I’d much rather have seen this product at say version 0.5, or 0.6, as I would not feel as guilty towards my comments of a 1.0 product when I’m having issues. I also have great respect for Mike Zinner and this small team of GUI developers that are developing and supporting the MySQL GUI products. Nevertheless, here is my latest round of analysis of the product across various platforms.

Hardware

Machines

  1. Dell Inspiron 5150 P4 3.2GHz 1GB RAM, 80GB & 120GB HDD
  2. Generic Desktop PIII 866MHz
  3. Dell Inspiron 500 PIII 600MHz

Operating Systems

For the purposes of these tests I’m going to run multiple OS’s installed on seperate drives to attempt to isolate and reproduce problems.

  1. CentOS 4.3 (latest updates) and Ubuntu Dappa 6.06 RC (latest updates)
  2. CentOS 4.0 and RedHat Fedora Core 5
  3. Windows XP

MySQL Workbench Software Versions

I’m also going to be testing various versions from the MySQL Workbench downloads pages as ast June 2nd 2006. These include

  • Linux x86 generic RPM (statically linked against glibc 2.2.5) – Linux (x86, libc6) – mysql-workbench-1.0.6beta-1.i386.rpm
  • Linux x86 generic RPM (statically linked against glibc 2.2.5) – Red Hat Enterprise Linux 4 (x86) – mysql-workbench-1.0.6beta-1.rhel4.i386.rpm
  • Linux (non RPM package) – Linux (x86, glibc-2.2, “standard” is static, gcc) – mysql-workbench-1.0.6beta-linux-i386.tar.gz
  • Source downloads – Tarball (tar.gz) – mysql-workbench-1.0.6beta.tar.gz
  • Source downloads – Source RPM – mysql-workbench-1.0.6beta-1.src.rpm

The Problems

Presently I have a number of recent outstanding MySQL Bugs including Bug: #20106: Errors when starting the GRT Console , Bug: #20107: Export as PDF and Export an PNG fails and Bug: #20105: Unable to Export Model as Image .

Machine 1 – OS 1 – CentOS 4.3

su -
rpm -ivh mysql-workbench-1.0.6beta-1.i386.rpm
# Run as normal user
exit
mysql-workbench

So this successfully starts, however I’ve had many earlier failed attempts and build from source versions on this machine and platform.

Machine 1 – OS 2 Ubuntu Dapper 6.06

I haven’t had the chance to reboot my laptop and install my second drive that I’m currently building for this exercise. This is on my todo list for the next few days.

Machine 2 – OS 1 CentOS 4.0

$ uname -a
Linux marvin 2.6.9-5.0.3.EL #1 Sat Feb 19 18:26:49 CST 2005 i686 i686 i386 GNU/Linux
$ rpm -qa
pango-devel-1.6.0-7
pango-1.6.0-7
atk-1.8.0-2
atk-devel-1.8.0-2
glibc-2.3.4-2
glibc-headers-2.3.4-2
glibc-common-2.3.4-2
glibc-kernheaders-2.4-9.1.87
glibc-devel-2.3.4-2
glib2-2.4.7-1
glib2-devel-2.4.7-1
$ rpm -ivh mysql-workbench-1.0.6beta-1.i386.rpm
$ mysql-workbench
/usr/bin/mysql-workbench-bin: symbol lookup error: /usr/bin/mysql-workbench-bin: undefined symbol: pango_renderer_get_type

Realising this OS is now a little old, and having had issues compiling Workbench previously with requirements for new GTK packages as well as comments in bugs like ‘works with FC5′, I’ve taken to re-install a new OS.

Machine 2 – OS 2 Fedora Core 5

Using a fresh install selecting For Software Developers as the default installation environment.

su -
rpm -ivh mysql-workbench-1.0.6beta-1.i386.rpm
mysql-workbench
(mysql-workbench-bin:2784): GLib-GObject-CRITICAL **: gtype.c:2215: initialization assertion failed, use IA__g_type_init() prior to this function

(mysql-workbench-bin:2784): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed

(mysql-workbench-bin:2784): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed

(mysql-workbench-bin:2784): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
...
(mysql-workbench-bin:2784): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
/usr/bin/mysql-workbench: line 18:  2784 Segmentation fault      $PRG-bin $*

Seems I’m not the first person to experience this, already recorded as Bug #19595.

Checking the current rpm list against Compiling dependancies as a rough guide:

gtk2-devel-2.8.15-1
gtk2-2.8.15-1
glibc-2.4-4
glibc-devel-2.4-4
glib2-2.10.1-1
glib2-devel-2.10.1-1
pcre-6.3-1.2.1
libstdc++-4.1.0-3
libstdc++-devel-4.1.0-3
atk-devel-1.11.3-1
atk-1.11.3-1
pango-1.12.0-1
pango-devel-1.12.0-1

No libsigc++20, ,gtkmm, glibmm indeed these rpm’s are not even on the 5 FC5 Cd’s.
I think we need a pre-checker executable which checks the health of your OS to determine if all dependancies are in place.

Also of interest is the official GTK download site lists the current GTK as 2.8, yet the atk and pango versions that are included in FC5 aren’t available from the official download site???

tar xvfz mysql-workbench-1.0.6beta-linux-i386.tar.gz
mysql-workbench/bin/mysql-workbench

Same errors. Well at least that’s one thing.

I’m waiting on some feedback from the MySQL AB team before I go installing more software. In particular I’d like to get a run-time environment under FC5, rather then compiling from source.

Machine 3 – Windows XP

In summary, Workbench starts and works reasonably well here. Problem is the first model I created, I wanted to export, and the Export as Image option is disabled? Still waiting on a response here.

Tagged with: General

Related Posts

More CPUs or Newer CPUs

In a CPU-bound database workload, regardless of price, would you scale-up or scale-new? What if price was the driving factor, would you scale-up or scale-new? I am using as a baseline the first available AWS Graviton2 processor for RDS (r6g).

Read more

An Interesting Artifact with AWS RDS Aurora Storage

As part of using public datasets with my own Benchmarking Suite I wanted upsize a dataset for larger volume testing. I have always used the INFORMATION_SCHEMA.TABLES data_length and index_length columns as a sufficiently accurate measurement for actual disk space used.

Read more

How long does it take the ReadySet cache to warm up?

During my setup of benchmarking I run a quick test-sysbench script to ensure my configuration is right before running an hour+ duration test. When pointing to a Readyset cache where I have cached the 5 queries used in the sysbench test, but I have not run any execution of the SQL, throughput went up 10x in 5 seconds.

Read more