Bug #65571 mysqldbcopy crashes [IndexError: list index out of range]
Submitted: 8 Jun 2012 20:27 Modified: 9 Jul 2012 15:50
Reporter: Joel Koglin Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Utilities Severity:S3 (Non-critical)
Version:5.2 CE OS:Microsoft Windows (Microsoft Windows [Version 6.1.7601])
Assigned to: CPU Architecture:Any

[8 Jun 2012 20:27] Joel Koglin
Description:
I have reproduced this twice once on wamp with mysql 5.1.x and again on 5.1.55-MariaDB running on Gentoo Linux Kernel 3.2.1-gentoo-r2

I ran an extended myisam check on both databases that returned clean.

The last line of output from the command below is:
"# TABLE     search_total                            pass    FAIL   "

Here is the schema for the table:
--
-- Table structure for table `search_total`
--

DROP TABLE IF EXISTS `search_total`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `search_total` (
  `word` varchar(50) NOT NULL DEFAULT '',
  `count` float DEFAULT NULL,
  PRIMARY KEY (`word`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

C:\Program Files\MySQL\MySQL Workbench 5.2 CE\utilities>mysqldbcompare.exe --server1=root:***@*** --server2=root:***@*** current:prod -a > \diff.txt
Traceback (most recent call last):
  File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\utilities\scripts\mysqldbcompare.py", line 160, in <module>
    parts[0], parts[1], options)
  File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\python\mysql_libs.zip\mysql\utilities\command\dbcompare.py", line 467, in database_compare
  File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\python\mysql_libs.zip\mysql\utilities\command\dbcompare.py", line 308, in _check_data_consistency
  File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\python\mysql_libs.zip\mysql\utilities\common\dbcompare.py", line 856, in check_consistency
  File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\python\mysql_libs.zip\mysql\utilities\common\dbcompare.py", line 699, in _get_rows_span
IndexError: list index out of range
Unable to start mysqldbcompare, please verify that your installation is correct

How to repeat:
Run mysqldbcompare.exe --server1=root:***@*** --server2=root:***@*** current:prod -a on a database with a table with a varchar key
[9 Jun 2012 15:50] Valeriy Kravchuk
What exact version of MySQL Workbench (or mysqldbcompare utility) do you use?

For me the following version (from Workbench 5.2.40) works without any problem:

C:\Program Files\MySQL\MySQL Workbench 5.2 CE\utilities>mysqldbcompare --server1
=root:root@127.0.0.1:3308 --server2=root:root@localhost:3308 test:test
# server1 on 127.0.0.1: ... connected.
# server2 on localhost: ... connected.
# Checking databases test on server1 and test on server2
#
#                                                   Defn    Row     Data
# Type      Object Name                             Diff    Count   Check
# -------------------------------------------------------------------------
# FUNCTION  FN_APP_PRINCIPAL                        pass    -       -
# PROCEDURE SEC_WSMGR_CREATE_MENU                   pass    -       -
# PROCEDURE new_routine                             pass    -       -
# TABLE     alarms                                  pass    pass    pass
# TABLE     new_table                               pass    pass    pass
# TABLE     search_total                            pass    pass    pass
# TABLE     sec_apps                                pass    pass    pass
# TABLE     sec_client_x_apps                       pass    pass    pass
# TABLE     sec_group_member                        pass    pass    pass
# TABLE     sec_modules                             pass    pass    pass
# TABLE     sec_principal_permission                pass    pass    pass
# TABLE     sec_session_data                        pass    pass    SKIP
#
No primary key found.

# TABLE     tbig                                    pass    pass    pass
# TABLE     test_table                              pass    pass    pass
# TABLE     tif                                     pass    pass    SKIP
#
No primary key found.

# TABLE     tinno                                   pass    pass    SKIP
#
No primary key found.

# Database consistency check failed.
#
# ...done

C:\Program Files\MySQL\MySQL Workbench 5.2 CE\utilities>mysqldbcompare --version

MySQL Utilities mysqldbcompare version 1.0.5
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
This program is free software; see the source for copying
conditions. There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law.
[10 Jul 2012 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".