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

Assertion `toku_ft_needed_unlocked(src_h)' failed (errno=11) on INSERT .. SELECT after EXPLAIN INSERT

    Details

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

      Description

      I can't re-check it on a Tokutek port of MariaDB or MySQL because the scenario involves EXPLAIN INSERT which is not in 5.5.

      Test case:

      # Make sure TokuDB engine is enabled. 
      # Depending on the flavor of server,
      #   it can happen automatically, or be done 
      #   by providing correct plugin_dir and plugin-load=ha_tokudb on server startup, 
      #   or by providing correct plugin_dir on startup and running 
      #     INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so'.
      # If the test is run via MTR, it can be done by adding an <testname>.opt file
      #   containing 
      #     --tokudb --plugin-load=ha_tokudb
      #   or by adding 
      #      INSTALL PLUGIN tokudb SONAME 'ha_tokudb.so'
      #   to the test case.
       
      CREATE TABLE t1 (i INT) ENGINE=TokuDB;
      EXPLAIN INSERT INTO t1 SELECT * FROM t1;
       
      --connect (con1,localhost,root,,test)
      INSERT INTO t1 SELECT * FROM t1;

      Version: '10.0.7-MariaDB-debug'  socket: '10.0/data/tmp/mysql.sock'  port: 3306  Source distribution
      10.0/storage/tokudb/ft-index/ft/ft.cc:689 dictionary_redirect_internal: Assertion `toku_ft_needed_unlocked(src_h)' failed (errno=11)
      : Resource temporarily unavailable
      Backtrace: (Note: toku_do_assert=0x0x7f4e1292cca7)

      Engine status:
      BUILD_ID = 0
      Env panic code: 11
      Env panic string: 10.0/storage/tokudb/ft-index/ft/ft.cc:689 dictionary_redirect_internal: Assertion `toku_ft_needed_unlocked(src_h)' failed (errno=11)
       
      time of environment creation: Tue Dec 10 13:16:55 2013
      time of engine startup: Tue Dec 10 13:16:54 2013
      time now: Tue Dec 10 13:18:00 2013
      db opens: 12
      db closes: 9
      num open dbs now: 2
      max open dbs: 2
      period, in ms, that recovery log is automatically fsynced: 0
      dictionary inserts: 20
      dictionary inserts fail: 0
      dictionary deletes: 3
      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: 2
      le: max provisional xr: 2
      le: expanded: 0
      le: max memsize: 466
      checkpoint: period: 60
      checkpoint: footprint: 0
      checkpoint: last checkpoint began : Tue Dec 10 13:17:55 2013
      checkpoint: last complete checkpoint began : Tue Dec 10 13:17:55 2013
      checkpoint: last complete checkpoint ended: Tue Dec 10 13:17:55 2013
      checkpoint: last complete checkpoint LSN: 94
      checkpoint: checkpoints taken : 2
      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
      cachetable: miss: 8
      cachetable: miss time: 489
      cachetable: prefetches: 0
      cachetable: size current: 3160
      cachetable: size limit: 4617302835
      cachetable: size writing: 0
      cachetable: size nonleaf: 0
      cachetable: size leaf: 2920
      cachetable: size rollback: 240
      cachetable: size cachepressure: 0
      cachetable: evictions: 10
      cachetable: cleaner executions: 65
      cachetable: cleaner period: 1
      cachetable: cleaner iterations: 5
      locktree: memory size: 24
      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: 5
      locktree: number of pending lock requests: 0
      locktree: number of locktrees eligible for the STO: 1
      locktree: number of times a locktree ended the STO early: 0
      locktree: time spent ending the STO early (seconds): 0.000000
      brt: dictionary updates: 0
      brt: dictionary broadcast updates: 0
      brt: descriptor set: 2
      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): 4
      brt: leaf nodes flushed to disk (not for checkpoint) (bytes): 2048
      brt: leaf nodes flushed to disk (not for checkpoint) (uncompressed bytes): 1508
      brt: leaf nodes flushed to disk (not for checkpoint) (seconds): 0.000048
      brt: nonleaf nodes flushed to disk (not for checkpoint): 0
      brt: nonleaf nodes flushed to disk (not for checkpoint) (bytes): 0
      brt: nonleaf nodes flushed to disk (not for checkpoint) (uncompressed bytes): 0
      brt: nonleaf nodes flushed to disk (not for checkpoint) (seconds): 0.000000
      brt: leaf nodes flushed to disk (for checkpoint): 5
      brt: leaf nodes flushed to disk (for checkpoint) (bytes): 2560
      brt: leaf nodes flushed to disk (for checkpoint) (uncompressed bytes): 824
      brt: leaf nodes flushed to disk (for checkpoint) (seconds): 0.000028
      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: 10
      brt: leaf node full evictions (bytes): 7200
      brt: nonleaf node full evictions: 0
      brt: nonleaf node full evictions (bytes): 0
      brt: leaf nodes created: 10
      brt: nonleaf nodes created: 0
      brt: leaf nodes destroyed: 17
      brt: nonleaf nodes destroyed: 0
      brt: bytes of messages injected at root (all trees): 0
      brt: bytes of messages flushed from h1 nodes to leaves: 0
      brt: bytes of messages currently in trees (estimate): 0
      brt: messages injected at root: 0
      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.004002
      brt: leaf serialization to memory (seconds): 0.000174
      brt: leaf decompression to memory (seconds): 0.000092
      brt: leaf deserialization to memory (seconds): 0.000197
      brt: nonleaf compression to memory (seconds): 0.000000
      brt: nonleaf serialization to memory (seconds): 0.000000
      brt: nonleaf decompression to memory (seconds): 0.000000
      brt: nonleaf deserialization to memory (seconds): 0.000000
      brt: promotion: roots split: 0
      brt: promotion: leaf roots injected into: 26
      brt: promotion: h1 roots injected into: 0
      brt: promotion: injections at depth 0: 0
      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: 0
      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: 0
      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: 51
      txn: begin read only: 0
      txn: successful commits: 39
      txn: aborts: 11
      logger: next LSN: 101
      logger: ilock count: 145
      logger: olock count: 124
      logger: swap count: 22
      logger: writes: 22
      logger: writes (bytes): 6874
      logger: writes (uncompressed bytes): 6874
      logger: writes (seconds): 0.000563
      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: 2
      loader: number of calls to toku_loader_create_loader() that failed: 0
      loader: number of calls to loader->put() succeeded: 0
      loader: number of calls to loader->put() failed: 0
      loader: number of calls to loader->close() that succeeded: 1
      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: 0
      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: 4771096
      filesystem: fsync count: 64
       
      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
      131210 13:18:00 [ERROR] mysqld got signal 6 ;

      #5  0x00007f4e401116f0 in *__GI_abort () at abort.c:92
      #6  0x00007f4e1292ca20 in toku_do_backtrace_abort () at 10.0/storage/tokudb/ft-index/portability/toku_assert.cc:190
      #7  0x00007f4e1292cb0f in toku_do_assert_fail (expr_as_string=0x7f4e1298e3f0 "toku_ft_needed_unlocked(src_h)", function=0x7f4e1298ea10 "dictionary_redirect_internal", file=0x7f4e1298e0d0 "10.0/storage/tokudb/ft-index/ft/ft.cc", line=689, caller_errno=11) at 10.0/storage/tokudb/ft-index/portability/toku_assert.cc:211
      #8  0x00007f4e12902441 in dictionary_redirect_internal (dst_fname_in_env=0x7f4e14cd66a0 "./_test_t1_main_27_1_18_B_0.tokudb", src_h=0x7f4e14cbcaa0, txn=0x0, dst_hp=0x7f4dd9bfc490) at 10.0/storage/tokudb/ft-index/ft/ft.cc:689
      #9  0x00007f4e1290265c in toku_dictionary_redirect (dst_fname_in_env=0x7f4e14cd66a0 "./_test_t1_main_27_1_18_B_0.tokudb", old_ft_h=0x7f4e14d1c470, txn=0x0) at 10.0/storage/tokudb/ft-index/ft/ft.cc:786
      #10 0x00007f4e1290964a in ft_loader_close_and_redirect (loader=0x7f4e14cd6670) at 10.0/storage/tokudb/ft-index/src/loader.cc:221
      #11 0x00007f4e1290a406 in toku_loader_close (loader=0x7f4e14cd6670) at 10.0/storage/tokudb/ft-index/src/loader.cc:467
      #12 0x00007f4e12824f0a in ha_tokudb::end_bulk_insert (this=0x7f4e14c14088, abort=false) at 10.0/storage/tokudb/ha_tokudb.cc:3425
      #13 0x00007f4e12825329 in ha_tokudb::end_bulk_insert (this=0x7f4e14c14088) at 10.0/storage/tokudb/ha_tokudb.cc:3489
      #14 0x000000000064f5be in handler::ha_end_bulk_insert (this=0x7f4e14c14088) at 10.0/sql/handler.h:2628
      #15 0x000000000064d3d2 in select_insert::send_eof (this=0x7f4e1506aeb8) at 10.0/sql/sql_insert.cc:3690
      #16 0x00000000006c18c1 in do_select (join=0x7f4e1506af50, fields=0x7f4e1506b2e8, table=0x0, procedure=0x0) at 10.0/sql/sql_select.cc:17037
      #17 0x000000000069f1a2 in JOIN::exec_inner (this=0x7f4e1506af50) at 10.0/sql/sql_select.cc:3064
      #18 0x000000000069c6c6 in JOIN::exec (this=0x7f4e1506af50) at 10.0/sql/sql_select.cc:2354
      #19 0x000000000069fa35 in mysql_select (thd=0x7f4e1bb08070, rref_pointer_array=0x7f4e1bb0c688, tables=0x7f4e1506a890, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=3489925888, result=0x7f4e1506aeb8, unit=0x7f4e1bb0bd38, select_lex=0x7f4e1bb0c418) at 10.0/sql/sql_select.cc:3292
      #20 0x0000000000696123 in handle_select (thd=0x7f4e1bb08070, lex=0x7f4e1bb0bc78, result=0x7f4e1506aeb8, setup_tables_done_option=1073741824) at 10.0/sql/sql_select.cc:371
      #21 0x000000000066609e in mysql_execute_command (thd=0x7f4e1bb08070) at 10.0/sql/sql_parse.cc:3501
      #22 0x000000000066dd78 in mysql_parse (thd=0x7f4e1bb08070, rawbuf=0x7f4e1506a088 "INSERT INTO t1 SELECT * FROM t1", length=31, parser_state=0x7f4dd9bfd630) at 10.0/sql/sql_parse.cc:6365
      #23 0x0000000000660cba in dispatch_command (command=COM_QUERY, thd=0x7f4e1bb08070, packet=0x7f4e1b789071 "INSERT INTO t1 SELECT * FROM t1", packet_length=31) at 10.0/sql/sql_parse.cc:1296
      #24 0x000000000066005c in do_command (thd=0x7f4e1bb08070) at 10.0/sql/sql_parse.cc:993
      #25 0x0000000000777fb9 in do_handle_one_connection (thd_arg=0x7f4e1bb08070) at 10.0/sql/sql_connect.cc:1379
      #26 0x0000000000777d0c in handle_one_connection (arg=0x7f4e1bb08070) at 10.0/sql/sql_connect.cc:1293
      #27 0x0000000000a987cd in pfs_spawn_thread (arg=0x7f4e1bbe6e90) at 10.0/storage/perfschema/pfs.cc:1853
      #28 0x00007f4e41667b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
      #29 0x00007f4e401b6a7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

      revision-id: bar@mnogosearch.org-20131206150255-und2j89f85by7imn
      revno: 3915
      branch-nick: 10.0

        Attachments

          Activity

            People

            • Assignee:
              psergey Sergei Petrunia
              Reporter:
              elenst Elena Stepanova
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: