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

Assertion `Handlerton: r==0 ' failed (errno=0) on EXPLAIN with TokuDB tables

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.34, 10.0.6
    • Fix Version/s: 5.5.35, 10.0.8
    • Component/s: None
    • Labels:

      Description

      Engine status:
      BUILD_ID = 0
      Env panic code: 18446744073709551615
      Env panic string: 5.5/storage/tokudb/ha_tokudb.cc:4684 index_end: Assertion `Handlerton: r==0 ' failed (errno=0)
       
      time of environment creation: Thu Dec  5 21:16:55 2013
      time of engine startup: Thu Dec  5 21:16:53 2013
      time now: Thu Dec  5 21:17:04 2013
      db opens: 15
      db closes: 7
      num open dbs now: 8
      max open dbs: 8
      period, in ms, that recovery log is automatically fsynced: 0
      dictionary inserts: 31
      dictionary inserts fail: 0
      dictionary deletes: 0
      dictionary deletes fail: 0
      dictionary updates: 0
      dictionary updates fail: 0
      dictionary broadcast updates: 0
      dictionary broadcast updates fail: 0
      dictionary multi inserts: 0
      dictionary multi inserts fail: 0
      dictionary multi deletes: 0
      dictionary multi deletes fail: 0
      dictionary updates multi: 0
      dictionary updates multi fail: 0
      le: max committed xr: 1
      le: max provisional xr: 2
      le: expanded: 0
      le: max memsize: 8576
      checkpoint: period: 60
      checkpoint: footprint: 0
      checkpoint: last checkpoint began : Thu Dec  5 21:16:55 2013
      checkpoint: last complete checkpoint began : Thu Dec  5 21:16:55 2013
      checkpoint: last complete checkpoint ended: Thu Dec  5 21:16:55 2013
      checkpoint: last complete checkpoint LSN: 8
      checkpoint: checkpoints taken : 1
      checkpoint: checkpoints failed: 0
      checkpoint: waiters now: 0
      checkpoint: waiters max: 0
      checkpoint: non-checkpoint client wait on mo lock: 0
      checkpoint: non-checkpoint client wait on cs lock: 0
      checkpoint: checkpoint begin time: 37
      checkpoint: long checkpoint begin time: 0
      checkpoint: long checkpoint begin count: 0
      cachetable: miss: 1
      cachetable: miss time: 87
      cachetable: prefetches: 0
      cachetable: size current: 109112
      cachetable: size limit: 4617302835
      cachetable: size writing: 0
      cachetable: size nonleaf: 5144
      cachetable: size leaf: 103728
      cachetable: size rollback: 240
      cachetable: size cachepressure: 4912
      cachetable: evictions: 4
      cachetable: cleaner executions: 10
      cachetable: cleaner period: 1
      cachetable: cleaner iterations: 5
      cachetable: number of waits on cache pressure: 0
      cachetable: time waiting on cache pressure: 0
      cachetable: number of long waits on cache pressure: 0
      cachetable: long time waiting on cache pressure: 0
      locktree: memory size: 0
      locktree: memory size limit: 524693504
      locktree: number of times lock escalation ran: 0
      locktree: time spent running escalation (seconds): 0.000000
      locktree: latest post-escalation memory size: 0
      locktree: number of locktrees open now: 10
      locktree: number of pending lock requests: 0
      locktree: number of locktrees eligible for the STO: 0
      locktree: number of times a locktree ended the STO early: 0
      locktree: time spent ending the STO early (seconds): 0.000000
      locktree: number of wait locks: 0
      locktree: time waiting for locks: 0
      locktree: number of long wait locks: 0
      locktree: long time waiting for locks: 0
      locktree: number of lock timeouts: 0
      locktree: number of waits on lock escalation: 0
      locktree: time waiting on lock escalation: 0
      locktree: number of long waits on lock escalation: 0
      locktree: long time waiting on lock escalation: 0
      brt: dictionary updates: 0
      brt: dictionary broadcast updates: 0
      brt: descriptor set: 4
      brt: messages ignored by leaf due to msn: 0
      brt: total search retries due to TRY_AGAIN: 0
      brt: searches requiring more tries than the height of the tree: 0
      brt: searches requiring more tries than the height of the tree plus three: 0
      brt: leaf nodes flushed to disk (not for checkpoint): 9
      brt: leaf nodes flushed to disk (not for checkpoint) (bytes): 4608
      brt: leaf nodes flushed to disk (not for checkpoint) (uncompressed bytes): 26883
      brt: leaf nodes flushed to disk (not for checkpoint) (seconds): 0.000136
      brt: nonleaf nodes flushed to disk (not for checkpoint): 1
      brt: nonleaf nodes flushed to disk (not for checkpoint) (bytes): 512
      brt: nonleaf nodes flushed to disk (not for checkpoint) (uncompressed bytes): 212
      brt: nonleaf nodes flushed to disk (not for checkpoint) (seconds): 0.000012
      brt: leaf nodes flushed to disk (for checkpoint): 3
      brt: leaf nodes flushed to disk (for checkpoint) (bytes): 1536
      brt: leaf nodes flushed to disk (for checkpoint) (uncompressed bytes): 393
      brt: leaf nodes flushed to disk (for checkpoint) (seconds): 0.000019
      brt: nonleaf nodes flushed to disk (for checkpoint): 0
      brt: nonleaf nodes flushed to disk (for checkpoint) (bytes): 0
      brt: nonleaf nodes flushed to disk (for checkpoint) (uncompressed bytes): 0
      brt: nonleaf nodes flushed to disk (for checkpoint) (seconds): 0.000000
      brt: nonleaf node partial evictions: 0
      brt: nonleaf node partial evictions (bytes): 0
      brt: leaf node partial evictions: 0
      brt: leaf node partial evictions (bytes): 0
      brt: leaf node full evictions: 4
      brt: leaf node full evictions (bytes): 1024
      brt: nonleaf node full evictions: 0
      brt: nonleaf node full evictions (bytes): 0
      brt: leaf nodes created: 17
      brt: nonleaf nodes created: 1
      brt: leaf nodes destroyed: 11
      brt: nonleaf nodes destroyed: 0
      brt: bytes of messages injected at root (all trees): 37
      brt: bytes of messages flushed from h1 nodes to leaves: 0
      brt: bytes of messages currently in trees (estimate): 37
      brt: messages injected at root: 1
      brt: broadcast messages injected at root: 0
      brt: basements decompressed as a target of a query: 0
      brt: basements decompressed for prelocked range: 0
      brt: basements decompressed for prefetch: 0
      brt: basements decompressed for write: 0
      brt: buffers decompressed as a target of a query: 0
      brt: buffers decompressed for prelocked range: 0
      brt: buffers decompressed for prefetch: 0
      brt: buffers decompressed for write: 0
      brt: pivots fetched for query: 0
      brt: pivots fetched for query (bytes): 0
      brt: pivots fetched for query (seconds): 0.000000
      brt: pivots fetched for prefetch: 0
      brt: pivots fetched for prefetch (bytes): 0
      brt: pivots fetched for prefetch (seconds): 0.000000
      brt: pivots fetched for write: 0
      brt: pivots fetched for write (bytes): 0
      brt: pivots fetched for write (seconds): 0.000000
      brt: basements fetched as a target of a query: 0
      brt: basements fetched as a target of a query (bytes): 0
      brt: basements fetched as a target of a query (seconds): 0.000000
      brt: basements fetched for prelocked range: 0
      brt: basements fetched for prelocked range (bytes): 0
      brt: basements fetched for prelocked range (seconds): 0.000000
      brt: basements fetched for prefetch: 0
      brt: basements fetched for prefetch (bytes): 0
      brt: basements fetched for prefetch (seconds): 0.000000
      brt: basements fetched for write: 0
      brt: basements fetched for write (bytes): 0
      brt: basements fetched for write (seconds): 0.000000
      brt: buffers fetched as a target of a query: 0
      brt: buffers fetched as a target of a query (bytes): 0
      brt: buffers fetched as a target of a query (seconds): 0.000000
      brt: buffers fetched for prelocked range: 0
      brt: buffers fetched for prelocked range (bytes): 0
      brt: buffers fetched for prelocked range (seconds): 0.000000
      brt: buffers fetched for prefetch: 0
      brt: buffers fetched for prefetch (bytes): 0
      brt: buffers fetched for prefetch (seconds): 0.000000
      brt: buffers fetched for write: 0
      brt: buffers fetched for write (bytes): 0
      brt: buffers fetched for write (seconds): 0.000000
      brt: leaf compression to memory (seconds): 0.010213
      brt: leaf serialization to memory (seconds): 0.000371
      brt: leaf decompression to memory (seconds): 0.000011
      brt: leaf deserialization to memory (seconds): 0.000033
      brt: nonleaf compression to memory (seconds): 0.005504
      brt: nonleaf serialization to memory (seconds): 0.000045
      brt: nonleaf decompression to memory (seconds): 0.000000
      brt: nonleaf deserialization to memory (seconds): 0.000000
      brt: promotion: roots split: 1
      brt: promotion: leaf roots injected into: 30
      brt: promotion: h1 roots injected into: 0
      brt: promotion: injections at depth 0: 1
      brt: promotion: injections at depth 1: 0
      brt: promotion: injections at depth 2: 0
      brt: promotion: injections at depth 3: 0
      brt: promotion: injections lower than depth 3: 0
      brt: promotion: stopped because of a nonempty buffer: 0
      brt: promotion: stopped at height 1: 1
      brt: promotion: stopped because the child was locked or not at all in memory: 0
      brt: promotion: stopped because the child was not fully in memory: 0
      brt: promotion: stopped anyway, after locking the child: 0
      brt flusher: total nodes potentially flushed by cleaner thread: 0
      brt flusher: height-one nodes flushed by cleaner thread: 0
      brt flusher: height-greater-than-one nodes flushed by cleaner thread: 0
      brt flusher: nodes cleaned which had empty buffers: 0
      brt flusher: nodes dirtied by cleaner thread: 0
      brt flusher: max bytes in a buffer flushed by cleaner thread: 0
      brt flusher: min bytes in a buffer flushed by cleaner thread: 18446744073709551615
      brt flusher: total bytes in buffers flushed by cleaner thread: 0
      brt flusher: max workdone in a buffer flushed by cleaner thread: 0
      brt flusher: min workdone in a buffer flushed by cleaner thread: 18446744073709551615
      brt flusher: total workdone in buffers flushed by cleaner thread: 0
      brt flusher: times cleaner thread tries to merge a leaf: 0
      brt flusher: cleaner thread leaf merges in progress: 0
      brt flusher: cleaner thread leaf merges successful: 0
      brt flusher: nodes dirtied by cleaner thread leaf merges: 0
      brt flusher: total number of flushes done by flusher threads or cleaner threads: 0
      brt flusher: number of in memory flushes: 0
      brt flusher: number of flushes that read something off disk: 0
      brt flusher: number of flushes that triggered another flush in child: 0
      brt flusher: number of flushes that triggered 1 cascading flush: 0
      brt flusher: number of flushes that triggered 2 cascading flushes: 0
      brt flusher: number of flushes that triggered 3 cascading flushes: 0
      brt flusher: number of flushes that triggered 4 cascading flushes: 0
      brt flusher: number of flushes that triggered 5 cascading flushes: 0
      brt flusher: number of flushes that triggered over 5 cascading flushes: 0
      brt flusher: leaf node splits: 2
      brt flusher: nonleaf node splits: 0
      brt flusher: leaf node merges: 0
      brt flusher: nonleaf node merges: 0
      brt flusher: leaf node balances: 0
      hot: operations ever started: 0
      hot: operations successfully completed: 0
      hot: operations aborted: 0
      hot: max number of flushes from root ever required to optimize a tree: 0
      txn: begin: 41
      txn: begin read only: 1
      txn: successful commits: 35
      txn: aborts: 7
      logger: next LSN: 112
      logger: writes: 26
      logger: writes (bytes): 32647
      logger: writes (uncompressed bytes): 32647
      logger: writes (seconds): 0.000696
      indexer: number of indexers successfully created: 0
      indexer: number of calls to toku_indexer_create_indexer() that failed: 0
      indexer: number of calls to indexer->build() succeeded: 0
      indexer: number of calls to indexer->build() failed: 0
      indexer: number of calls to indexer->close() that succeeded: 0
      indexer: number of calls to indexer->close() that failed: 0
      indexer: number of calls to indexer->abort(): 0
      indexer: number of indexers currently in existence: 0
      indexer: max number of indexers that ever existed simultaneously: 0
      loader: number of loaders successfully created: 3
      loader: number of calls to toku_loader_create_loader() that failed: 0
      loader: number of calls to loader->put() succeeded: 6
      loader: number of calls to loader->put() failed: 0
      loader: number of calls to loader->close() that succeeded: 3
      loader: number of calls to loader->close() that failed: 0
      loader: number of calls to loader->abort(): 0
      loader: number of loaders currently in existence: 0
      loader: max number of loaders that ever existed simultaneously: 1
      memory: number of malloc operations: 0
      memory: number of free operations: 0
      memory: number of realloc operations: 0
      memory: number of malloc operations that failed: 0
      memory: number of realloc operations that failed: 1
      memory: number of bytes requested: 0
      memory: number of bytes used (requested + overhead): 0
      memory: number of bytes freed: 0
      memory: estimated maximum memory footprint: 0
      memory: mallocator version: 3.3.1-0-g9ef9d9e8c271cdf14f664b871a8f98c827714784
      memory: mmap threshold: 4194304
      filesystem: ENOSPC redzone state: 0
      filesystem: threads currently blocked by full disk: 0
      filesystem: number of operations rejected by enospc prevention (red zone): 0
      filesystem: most recent disk full: Thu Jan  1 03:00:00 1970
      filesystem: number of write operations that returned ENOSPC: 0
      filesystem: fsync time: 8608201
      filesystem: fsync count: 72
      filesystem: long fsync time: 0
      filesystem: long fsync count: 0
       
      Memory usage:
      Arena 0:
      system bytes     =          0
      in use bytes     =          0
      Total (incl. mmap):
      system bytes     =          0
      in use bytes     =          0
      max mmap regions =          0
      max mmap bytes   =          0
      131205 21:17:04 [ERROR] mysqld got signal 6 ;

      #5  0x00007f47f7ca16f0 in *__GI_abort () at abort.c:92
      #6  0x00007f47f312a9c0 in toku_do_backtrace_abort () at 5.5/storage/tokudb/ft-index/portability/toku_assert.cc:191
      #7  0x00007f47f312aaaf in toku_do_assert_fail (expr_as_string=0x7f47f95c3560 "Handlerton: r==0 ", function=0x7f47f316c5f4 "index_end", file=0x7f47f31671c8 "5.5/storage/tokudb/ha_tokudb.cc", line=4684, caller_errno=0) at 5.5/storage/tokudb/ft-index/portability/toku_assert.cc:212
      #8  0x00007f47f304b6d5 in env_crash (db_env=0x7f47f744f100, msg=0x7f47f95c3560 "Handlerton: r==0 ", fun=0x7f47f316c5f4 "index_end", file=0x7f47f31671c8 "5.5/storage/tokudb/ha_tokudb.cc", line=4684, caller_errno=0) at 5.5/storage/tokudb/ft-index/src/ydb.cc:2236
      #9  0x00007f47f303a35f in toku_hton_assert_fail (expr_as_string=0x7f47f316747c "r==0", fun=0x7f47f316c5f4 "index_end", file=0x7f47f31671c8 "5.5/storage/tokudb/ha_tokudb.cc", line=4684, caller_errno=0) at 5.5/storage/tokudb/hatoku_hton.cc:193
      #10 0x00007f47f3022cbc in ha_tokudb::index_end (this=0x7f47e1e40078) at 5.5/storage/tokudb/ha_tokudb.cc:4684
      #11 0x00000000005c91f9 in handler::ha_index_end (this=0x7f47e1e40078) at 5.5/sql/handler.h:1867
      #12 0x00000000006100b7 in handler::ha_index_or_rnd_end (this=0x7f47e1e40078) at 5.5/sql/handler.h:1911
      #13 0x00000000006785e8 in st_join_table::cleanup (this=0x7f47e1e98078) at 5.5/sql/sql_select.cc:10417
      #14 0x0000000000679329 in JOIN::cleanup (this=0x7f47e1ce0988, full=true) at 5.5/sql/sql_select.cc:10819
      #15 0x00000000006655d5 in JOIN::destroy (this=0x7f47e1ce0988) at 5.5/sql/sql_select.cc:2920
      #16 0x00000000006dfef7 in st_select_lex::cleanup (this=0x7f47e1e95078) at 5.5/sql/sql_union.cc:995
      #17 0x00000000006dfacd in st_select_lex_unit::cleanup (this=0x7f47e1e953d0) at 5.5/sql/sql_union.cc:860
      #18 0x00000000006dff51 in st_select_lex::cleanup (this=0x7f47f37d2a50) at 5.5/sql/sql_union.cc:1002
      #19 0x00000000006dfacd in st_select_lex_unit::cleanup (this=0x7f47f37d2378) at 5.5/sql/sql_union.cc:860
      #20 0x00000000006359b2 in mysql_execute_command (thd=0x7f47f37cf060) at 5.5/sql/sql_parse.cc:4578
      #21 0x0000000000638622 in mysql_parse (thd=0x7f47f37cf060, rawbuf=0x7f47e1d2f078 "EXPLAIN SELECT * FROM t1\nWHERE a IN ( SELECT b FROM t2 ) OR ( 'qux' ) IN ( SELECT c FROM t3 )", length=93, parser_state=0x7f47f95c4630) at 5.5/sql/sql_parse.cc:5798
      #22 0x000000000062c643 in dispatch_command (command=COM_QUERY, thd=0x7f47f37cf060, packet=0x7f47f3770061 "", packet_length=93) at 5.5/sql/sql_parse.cc:1078
      #23 0x000000000062b7e6 in do_command (thd=0x7f47f37cf060) at 5.5/sql/sql_parse.cc:793
      #24 0x000000000072ce2a in do_handle_one_connection (thd_arg=0x7f47f37cf060) at 5.5/sql/sql_connect.cc:1266
      #25 0x000000000072c8e9 in handle_one_connection (arg=0x7f47f37cf060) at 5.5/sql/sql_connect.cc:1181
      #26 0x0000000000984bd1 in pfs_spawn_thread (arg=0x7f47f36862a0) at 5.5/storage/perfschema/pfs.cc:1015
      #27 0x00007f47f91f7b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
      #28 0x00007f47f7d46a7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

      revision-id: monty@askmonty.org-20131202202243-4cmcfmthkyggmpw5
      revno: 3993
      branch-nick: 5.5

      Couldn't reproduce on mariadb-5.5.30-tokudb-7.1.0.

      Test case (to be run with TokuDB enabled):

       
      SET NAMES latin1;
       
      CREATE TABLE t1 (a INT) ENGINE=TokuDB;
      INSERT INTO t1 VALUES (1),(2);
       
      CREATE TABLE t2 (b INT) ENGINE=TokuDB;
      INSERT INTO t2 VALUES (3),(4);
       
      CREATE TABLE t3 (c VARCHAR(3), INDEX(c)) ENGINE=TokuDB;
      INSERT INTO t3 VALUES ('foo'),('bar');
       
      EXPLAIN SELECT * FROM t1
      WHERE a IN ( SELECT b FROM t2 ) OR ( 'qux' ) IN ( SELECT c FROM t3 );

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: