pbxt temporary table crashes server

Bug #615232 reported by Monty Taylor
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Confirmed
Critical
Brian Aker
Dexter
Confirmed
Critical
Brian Aker

Bug Description

drizzled --plugin-add=pbxt,blitzdb

create table t1 (x int) engine=innodb;

alter table t1 engine=pbxt; -- Crash
alter table t1 engine=blitzdb; -- Crash

I vote that at some point we make the functionality work again - but at the very least we don't want to crash here.

Tags: crash
Monty Taylor (mordred)
tags: added: crash
Changed in drizzle:
assignee: nobody → Brian Aker (brianaker)
importance: Undecided → Critical
status: New → Confirmed
Revision history for this message
Brian Aker (brianaker) wrote :

This seems to be working.

Revision history for this message
David Shrewsbury (dshrews) wrote :

Crashed for me when using --plugin-add=pbxt and then altering from InnoDB to PBXT, or from Archive to PBXT.

Revision history for this message
Brian Aker (brianaker) wrote : Re: [Bug 615232] Re: alter table engine= crashes server

Do you have gdb output from where this failed?

On Aug 11, 2010, at 1:04 PM, David Shrewsbury wrote:

> Crashed for me when using --plugin-add=pbxt and then altering from
> InnoDB to PBXT, or from Archive to PBXT.
>
> ** Changed in: drizzle/dexter
> Status: Invalid => Confirmed
>
> --
> alter table engine= crashes server
> https://bugs.launchpad.net/bugs/615232
> You received this bug notification because you are a member of Drizzle-
> developers, which is subscribed to Drizzle.
>
> Status in A Lightweight SQL Database for Cloud and Web: Confirmed
> Status in Drizzle dexter series: Confirmed
>
> Bug description:
> drizzled --plugin-add=pbxt,blitzdb
>
> create table t1 (x int) engine=innodb;
>
> alter table t1 engine=pbxt; -- Crash
> alter table t1 engine=blitzdb; -- Crash
>
> I vote that at some point we make the functionality work again - but at the very least we don't want to crash here.
>
>

Revision history for this message
David Shrewsbury (dshrews) wrote : Re: alter table engine= crashes server
Download full text (3.3 KiB)

(gdb) bt 20
#0 0x00007ffff2a0fc57 in myxt_setup_dictionary (self=0x2d8f668, dic=0x2fc08e0)
    at plugin/pbxt/src/myxt_xt.cc:2656
#1 0x00007ffff2a10739 in myxt_load_dictionary (self=0x2d8f668, dic=0x2fc08e0,
    db=0x297d508, tab_path=0x2daf288) at plugin/pbxt/src/myxt_xt.cc:2951
#2 0x00007ffff2a2ab2f in tab_new_handle (self=0x2d8f668,
    r_tab=0x7fffd7bf2150, db=0x297d508, tab_id=3, tab_path=0x2daf288,
    missing_ok=0, dic=0x0) at plugin/pbxt/src/table_xt.cc:1318
#3 0x00007ffff2a2bf70 in xt_use_table_no_lock (self=0x2d8f668, db=0x297d508,
    name=0x2daf288, no_load=0, missing_ok=0, dic=0x0)
    at plugin/pbxt/src/table_xt.cc:1488
#4 0x00007ffff2a304ac in xt_use_table (self=0x2d8f668, name=0x2daf288,
    no_load=0, missing_ok=0) at plugin/pbxt/src/table_xt.cc:2496
#5 0x00007ffff29c369e in ha_open_share (self=0x2d8f668, share=0x2d94698)
    at plugin/pbxt/src/ha_pbxt.cc:357
#6 0x00007ffff29c6b17 in ha_pbxt::open (this=0x2d8e4f0,
    table_path=0x2d8e188 "./test/#sql-7c55_1")
    at plugin/pbxt/src/ha_pbxt.cc:2316
#7 0x0000000000603d99 in drizzled::Cursor::doOpen (this=0x2d8e4f0,
    identifier=..., mode=2, test_if_locked=2) at drizzled/cursor.cc:222
#8 0x0000000000603e64 in drizzled::Cursor::ha_open (this=0x2d8e4f0,
    identifier=..., table_arg=0x2d93a50, name=0x2d8ec18 "./test/#sql-7c55_1",
    mode=2, test_if_locked=2) at drizzled/cursor.cc:241
#9 0x00000000008159d9 in drizzled::TableShare::open_table_from_share (
    this=0x2d8e720, session=0x2d7db10, identifier=...,
    alias=0x2daf168 "#sql-7c55_1", db_stat=7, ha_open_flags=0, outparam=...)
    at drizzled/table_share.cc:1981
#10 0x00000000007856b7 in drizzled::Session::open_temporary_table (
    this=0x2d7db10, identifier=..., link_in_list=false)
    at drizzled/sql_base.cc:2365
#11 0x00000000007eade0 in open_alter_table (session=0x2d7db10,
    table=0x2d8a780, identifier=...) at drizzled/statement/alter_table.cc:1588
#12 0x00000000007e94e2 in internal_alter_table (session=0x2d7db10,
    table=0x2d8a780, original_table_identifier=..., new_table_identifier=...,
    create_info=0x2d8a5f8, original_proto=..., create_proto=...,
    table_list=0x2d82d10, alter_info=0x2d8a630, order_num=0, order=0x0,
    ignore=false) at drizzled/statement/alter_table.cc:1020
#13 0x00000000007e9fbb in drizzled::alter_table (session=0x2d7db10,
    original_table_identifier=..., new_table_identifier=...,
    create_info=0x2d8a5f8, original_proto=..., create_proto=...,
    table_list=0x2d82d10, alter_info=0x2d8a630, order_num=0, order=0x0,
    ignore=false) at drizzled/statement/alter_table.cc:1335
#14 0x00000000007e6f49 in drizzled::statement::AlterTable::execute (
    this=0x2d8a4c0) at drizzled/statement/alter_table.cc:161
#15 0x00000000007a3ec8 in mysql_execute_command (session=0x2d7db10)
    at drizzled/sql_parse.cc:479
#16 0x00000000007a4bbe in drizzled::mysql_parse (session=0x2d7db10,
    inBuf=0x2dae4d8 "alter table t engine=pbxt", length=25)
    at drizzled/sql_parse.cc:738
#17 0x00000000007a3861 in drizzled::dispatch_command (
    command=drizzled::COM_QUERY, session=0x2d7db10,
    packet=0x2978f61 "alter table t engine=pbxt", packet_length=25)
    at drizzled/sql_pars...

Read more...

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

Also see bug#617517 where alter table ... engine=blackhole doesn't crash but creates a stale temp table and erases the original schema but tells drizzled it succeeded.

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

scratch my last comment

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

Had a quick look at this. It appears as though pbxt is not opening the temporary table correctly and processing on an empty table object. I need to look deeper into this though to figure out why.

With BlitzDB and the latest trunk the alter doesn't crash for me, but after the alter:

drizzle> show create table t5\G

       Table: t5
Create Table: CREATE TABLE `#sql-54dc_2` (
  `a` int DEFAULT NULL
) ENGINE=BLITZDB COLLATE = utf8_general_ci
1 row in set (0 sec)

I am guessing this is another bug.

Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

Easier way to reproduce:

create temporary table tt1 (a int) engine=pbxt;

summary: - alter table engine= crashes server
+ pbxt temporary table crashes server
Revision history for this message
Andrew Hutchings (linuxjedi) wrote :

grr... also SHOW CREATE TABLE on any pbxt table also gives same backtrace :/

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.