Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7804

Segfault when creating CONNECT table



    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 10.0.17-galera
    • Fix Version/s: N/A
    • Labels:
    • Environment:
      CentOS release 6.6 (Final)

      Linux 2.6.32-504.12.2.el6.x86_64 #1 SMP Wed Mar 11 22:03:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

      VMWare guest w/ SAN storage

      2 vCPUs
      16 GB RAM


      I installed MariaDB-Galera-server and MariaDB-connect-engine via the yum repository. Whenever I tried creating a CONNECT table via ODBC, I get this error:

      > CREATE TABLE local_table ENGINE=CONNECT TABLE_TYPE=ODBC tabname='remote_table' CONNECTION='RemoteDSN' OPTION_LIST='UseDSN=Yes';

      ERROR 1113 (42000): A table must have at least 1 column

      I thought that maybe the CONNECT engine wasn't installed, but when I ran SHOW ENGINES it had a "Yes" under support. Oh well. It's annoying that it won't auto-detect the column names, but whatever. So I tried connecting to a different MySQL database using TABLE_TYPE=MYSQL, and I get this instead:

      > CREATE TABLE local_table (
      report_id int(10) unsigned NOT NULL,
      name varchar(255) DEFAULT NULL,
      year smallint(5) unsigned DEFAULT NULL,
      file_id int(10) unsigned DEFAULT NULL,
      status tinyint(3) unsigned DEFAULT NULL,
      type varchar(45) DEFAULT NULL
      ) ENGINE=CONNECT table_type=MYSQL CONNECTION='mysql://user:password@server/schema/table';

      ERROR 1911 (HY000): Unknown option 'table_type'

      Weird. So I tried taking table_type out...

      ERROR 2013 (HY000): Lost connection to MySQL server during query

      Uh oh. Sure enough, the error log has a nice little stacktrace telling me all about the segfault it just encountered, and I'm left with a shell of a table that causes additional segfaults any time I try to SELECT against it. The attached error log contains two segfaults: one from the CREATE and one from the SELECT.

      I've tried uninstalling and reinstalling the various MarisDB packages in different order to no avail. This was a clean OS install, so there is currently nothing else installed on it other than the CentOS stock packages, Puppet, and unixODBC.

      I don't know if this is relevant or not, but while the CONNECT engine does show up when I run SHOW ENGINES, it does not show up in the list of engines available when using the MySQL Workbench GUI to create a table.


        1. mariadb_connect.cnf
          0.0 kB
        2. mariadb_error_2015-03-19.txt
          13 kB
        3. mariadb_server.cnf
          2 kB
        4. my.cnf
          0.3 kB



            nirbhay_c Nirbhay Choubey (Inactive)
            chris.casto Chris Casto
            1 Vote for this issue
            6 Start watching this issue