[MDEV-5426] Assertion `toku_ft_needed_unlocked(src_h)' failed (errno=11) on INSERT .. SELECT after EXPLAIN INSERT Created: 2013-12-10  Updated: 2014-01-21  Resolved: 2014-01-21

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.0.6
Fix Version/s: 10.0.8

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Petrunia
Resolution: Fixed Votes: 0
Labels: tokudb


 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



 Comments   
Comment by Sergei Golubchik [ 2013-12-10 ]

Rich, could you please look whether it's TokuDB issue or something that should be fixed in MariaDB? Feel free to reassign it back to me, if needed.

Comment by Rich Prohaska [ 2013-12-11 ]

when processing the 'explain insert' command, ha_tokudb::start_bulk_insert is called but ha_tokudb::end_bulk_insert is not called. this left a tokudb 'loader' object in the ha_tokudb object. the 'insert' command from the other client uses the same ha_tokudb object and tries to close the 'loader' that was created in the context the first client's transaction.

either
1. and end_bulk_insert call is added to the 'explain insert' code, or
2. tokudb cleans up the dangling loader somehow.

Comment by Sergei Golubchik [ 2013-12-11 ]

Thanks!
I believe it's our bug, then.

For every start_bulk_insert() there always should be a matching end_bulk_insert().

Comment by Elena Stepanova [ 2013-12-13 ]

I've got the following stack trace in another test. It looks similar, but there was no assertion, just a sig 11. Does anyone think that it might be a different issue which requires a separate investigation?

#3 <signal handler called>
#4 __pthread_mutex_lock (mutex=0x0) at pthread_mutex_lock.c:50
#5 0x00007f9d47481bf2 in toku_mutex_lock (mutex=0x5a5a5a5a5a5a5bca) at 10.0/storage/tokudb/ft-index/portability/toku_pthread.h:204
#6 0x00007f9d474827c3 in toku_txn_lock (txn=0x5a5a5a5a5a5a5a5a) at 10.0/storage/tokudb/ft-index/ft/txn.cc:143
#7 0x00007f9d474f404a in toku_txn_maybe_note_ft (txn=0x5a5a5a5a5a5a5a5a, ft=0x7f9d36ce11a0) at 10.0/storage/tokudb/ft-index/ft/rollback.cc:279
#8 0x00007f9d47502644 in toku_dictionary_redirect (dst_fname_in_env=0x7f9d5613d900 "./_test_table_2_key_col_int_key_47e_1_18_B_0.tokudb", old_ft_h=0x7f9d5347d150, txn=0x5a5a5a5a5a5a5a5a) at 10.0/storage/tokudb/ft-index/ft/ft.cc:782
#9 0x00007f9d4750964a in ft_loader_close_and_redirect (loader=0x7f9d562860d0) at 10.0/storage/tokudb/ft-index/src/loader.cc:221
#10 0x00007f9d4750a406 in toku_loader_close (loader=0x7f9d562860d0) at 10.0/storage/tokudb/ft-index/src/loader.cc:467
#11 0x00007f9d47424f0a in ha_tokudb::end_bulk_insert (this=0x7f9d50caf088, abort=false) at 10.0/storage/tokudb/ha_tokudb.cc:3425
#12 0x00007f9d47425329 in ha_tokudb::end_bulk_insert (this=0x7f9d50caf088) at 10.0/storage/tokudb/ha_tokudb.cc:3489
#13 0x00000000006332b4 in handler::ha_end_bulk_insert (this=0x7f9d50caf088) at 10.0/sql/handler.h:2628
#14 0x0000000000630f74 in select_insert::send_eof (this=0x7f9d36971f78) at 10.0/sql/sql_insert.cc:3690
#15 0x000000000069ac0c in return_zero_rows (join=0x7f9d36972010, result=0x7f9d36971f78, tables=..., fields=..., send_row=false, select_options=3490056960, info=0xfe430c "Impossible WHERE", having=0x0, all_fields=...) at 10.0/sql/sql_select.cc:11835
#16 0x0000000000682a28 in JOIN::exec_inner (this=0x7f9d36972010) at 10.0/sql/sql_select.cc:2493
#17 0x0000000000682146 in JOIN::exec (this=0x7f9d36972010) at 10.0/sql/sql_select.cc:2354
#18 0x0000000000685709 in mysql_select (thd=0x7f9d57813070, rref_pointer_array=0x7f9d57817688, tables=0x7f9d369718b8, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=3489925888, result=0x7f9d36971f78, unit=0x7f9d57816d38, select_lex=0x7f9d57817418) at 10.0/sql/sql_select.cc:3292
#19 0x000000000067bb20 in handle_select (thd=0x7f9d57813070, lex=0x7f9d57816c78, result=0x7f9d36971f78, setup_tables_done_option=1073741824) at 10.0/sql/sql_select.cc:371
#20 0x000000000064a4d7 in mysql_execute_command (thd=0x7f9d57813070) at 10.0/sql/sql_parse.cc:3501
#21 0x00000000006524ea in mysql_parse (thd=0x7f9d57813070, rawbuf=0x7f9d36971088 "INSERT INTO table_2 SELECT * FROM table_2 LIMIT 0", length=49, parser_state=0x7f9d781144b0) at 10.0/sql/sql_parse.cc:6365
#22 0x0000000000644ef4 in dispatch_command (command=COM_QUERY, thd=0x7f9d57813070, packet=0x7f9d57829071 " INSERT INTO table_2 SELECT * FROM table_2 LIMIT 0", packet_length=50) at 10.0/sql/sql_parse.cc:1296
#23 0x0000000000644242 in do_command (thd=0x7f9d57813070) at 10.0/sql/sql_parse.cc:993
#24 0x0000000000763531 in do_handle_one_connection (thd_arg=0x7f9d57813070) at 10.0/sql/sql_connect.cc:1379
#25 0x0000000000763284 in handle_one_connection (arg=0x7f9d57813070) at 10.0/sql/sql_connect.cc:1293
#26 0x0000000000e4673f in pfs_spawn_thread (arg=0x7f9d57bfe350) at 10.0/storage/perfschema/pfs.cc:1853
#27 0x00007f9d772dae9a in start_thread (arg=0x7f9d78115700) at pthread_create.c:308
#28 0x00007f9d767f5cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

Comment by Rich Prohaska [ 2013-12-13 ]

This crash was probably caused by a txn pointer held by the tokudb loader and used after the txn object was freed. This crash can be explained by a missing end_bulk_insert on a previous operation.

Comment by Sergei Petrunia [ 2014-01-21 ]

Pushed a fix. The testcase is currently at storage/tokudb/mysql-test/tokudb_mariadb/t/mdev5426.test . There is a discussion at maria-developers@ about whether it should be moved somewhere else

Generated at Thu Feb 08 07:04:18 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.