Assertion open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && prelocked_mode == NON_PRELOCKED && m_reprepare_observer == __null in THD::restore_backup_open_tables_state(Open_tables_state*)

Bug #933719 reported by Elena Stepanova
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
Fix Released
Medium
Michael Widenius

Bug Description

Version: '5.3.4-MariaDB-rc-debug-log'
mysqld: sql_class.cc:3443: void THD::restore_backup_open_tables_state(Open_tables_state*): Assertion `open_tables == 0 && temporary_tables == 0 && handler_tables == 0 && derived_tables == 0 && lock == 0 && locked_tables == 0 && prelocked_mode == NON_PRELOCKED && m_reprepare_observer == __null' failed.
[ERROR] mysqld got signal 6 ;

#6 0x00007ff27d674235 in __assert_fail () from /lib64/libc.so.6
#7 0x00000000006ccdeb in THD::restore_backup_open_tables_state (this=0x7ff26107daa8, backup=0x7ff25209f360)
    at sql_class.cc:3439
#8 0x000000000075da9d in open_performance_schema_table (thd=0x7ff26107daa8, one_table=0x7ff25209ed70,
    backup=0x7ff25209f360) at sql_base.cc:9616
#9 0x00000000007e09e8 in Log_to_csv_event_handler::log_general (this=0x7ff260fe3680, thd=0x7ff26107daa8,
    event_time=..., user_host=0x7ff25209f490 "root[root] @ [127.0.0.1]", user_host_len=25, thread_id=12,
    command_type=0xd992bd "Query", command_type_len=5, sql_text=0x2886d40 "SELECT DATABASE()",
    sql_text_len=17, client_cs=0x1311260) at log.cc:450
#10 0x00000000007e27f3 in LOGGER::general_log_write (this=0x131e980, thd=0x7ff26107daa8, command=COM_QUERY,
    query=0x2886d40 "SELECT DATABASE()", query_length=17) at log.cc:1109
#11 0x00000000007ec8ce in general_log_write (thd=0x7ff26107daa8, command=COM_QUERY,
    query=0x2886d40 "SELECT DATABASE()", query_length=17) at log.cc:4815
#12 0x00000000006f373f in dispatch_command (command=COM_QUERY, thd=0x7ff26107daa8,
    packet=0x7ff2610c8fa9 "SELECT DATABASE()", packet_length=17) at sql_parse.cc:1218
#13 0x00000000006f2b44 in do_command (thd=0x7ff26107daa8) at sql_parse.cc:923
#14 0x00000000006efa22 in handle_one_connection (arg=0x7ff26107daa8) at sql_connect.cc:1193
#15 0x00007ff27e32fa4f in start_thread () from /lib64/libpthread.so.0
#16 0x00007ff27d71982d in clone () from /lib64/libc.so.6

Query (0x2886d40): SELECT DATABASE()
Connection ID (thread ID): 12
Status: NOT_KILLED

bzr version-info
revision-id: <email address hidden>
date: 2012-02-16 20:15:57 +0400
build-date: 2012-02-16 21:51:16 +0200
revno: 3424

Could not reproduce on maria-5.5, mysql-5.1.60, mysql-5.5.20; however, the RQG test is not deterministic.
If you don't get the failure, try a few times, also changing the number of threads might help.

perl runall.pl \
--no-mask \
--threads=16 \
--duration=600 \
--queries=100M \
--grammar=./test.yy \
--views \
--engine=MyISAM \
--mysqld=--log-output=TABLE \
--vardir=<your vardir> \
--basedir=<debug basedir>

# cat test.yy

query:
        update | trigger ;
dml:
        insert | update | delete ;
insert:
        INSERT INTO view_table ( _field ) VALUES ( value ) ;
update:
        UPDATE view SET _field = value where ;
delete:
        DELETE FROM view_table where LIMIT 1 ;
trigger:
        CREATE TRIGGER _letter AFTER UPDATE ON table FOR EACH ROW BEGIN dml ; dml ; dml ; END ;
where:
        WHERE _field > value | WHERE _field < value ;
value:
        _digit ;
view_table:
        view | table ;
table:
        A | AA | B | BB | C | CC ;
view:
        view_A | view_AA | view_B | view_BB | view_C | view_CC ;

# EOF

Elena Stepanova (elenst)
Changed in maria:
importance: Undecided → Medium
Michael Widenius (monty)
Changed in maria:
assignee: Sergei (sergii) → Michael Widenius (monty)
status: New → In Progress
Revision history for this message
Michael Widenius (monty) wrote :

Fixed in 5.3
(Crash happens when using logging to tables and one was running a stored procedures/trigger while the table definition was changed (by adding a trigger)

Michael Widenius (monty)
Changed in maria:
status: In Progress → Fix Released
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.