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

btr_cur_t::search_leaf() assertion failure in row_purge_reposition_pcur() after ALTER TABLE…DISCARD TABLESPACE

    XMLWordPrintable

Details

    • Can result in hang or crash

    Description

      CS 10.11.14 11d1ac7285221ab4df7d9ef7cc8ee949b01c9b32 (Debug, Clang) Build 09/06/2025

      mariadbd: /test/10.11_dbg/storage/innobase/btr/btr0cur.cc:1246: dberr_t btr_cur_t::search_leaf(const dtuple_t *, page_cur_mode_t, btr_latch_mode, mtr_t *): Assertion `"corrupted" == 0' failed.
      

      CS 10.11.14 11d1ac7285221ab4df7d9ef7cc8ee949b01c9b32 (Debug, Clang) Build 09/06/2025

      Core was generated by `/test/MD090625-mariadb-10.11.14-linux-x86_64-dbg/bin/mariadbd --no-defaults --m'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 3900858)]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #3  0x00007103f424527e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x00007103f42288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x00007103f422881b in __assert_fail_base (fmt=0x7103f43d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x59fd195b3fed "\"corrupted\" == 0", file=file@entry=0x59fd195b3bde "/test/10.11_dbg/storage/innobase/btr/btr0cur.cc", line=line@entry=1246, function=function@entry=0x59fd195b3c7a "dberr_t btr_cur_t::search_leaf(const dtuple_t *, page_cur_mode_t, btr_latch_mode, mtr_t *)")at ./assert/assert.c:96
      #6  0x00007103f423b517 in __assert_fail (assertion=0x59fd195b3fed "\"corrupted\" == 0", file=0x59fd195b3bde "/test/10.11_dbg/storage/innobase/btr/btr0cur.cc", line=1246, function=0x59fd195b3c7a "dberr_t btr_cur_t::search_leaf(const dtuple_t *, page_cur_mode_t, btr_latch_mode, mtr_t *)") at ./assert/assert.c:105
      #7  0x000059fd18f9ff72 in btr_cur_t::search_leaf (this=0x59fd48338c28, tuple=0x59fd4833c290, mode=PAGE_CUR_LE, latch_mode=BTR_MODIFY_LEAF, mtr=0x710263ffe508) at /test/10.11_dbg/storage/innobase/btr/btr0cur.cc:1246
      #8  0x000059fd18cb40ce in btr_pcur_open (tuple=0x59fd4833c290, mode=PAGE_CUR_LE, latch_mode=BTR_MODIFY_LEAF, cursor=0x59fd48338c28, mtr=0x710263ffe508) at include/btr0pcur.h:430
      #9  0x000059fd18ec5511 in row_search_on_row_ref (pcur=0x59fd48338c28, mode=BTR_MODIFY_LEAF, table=0x7102e80fb870, ref=0x59fd4833c290, mtr=0x710263ffe508) at /test/10.11_dbg/storage/innobase/row/row0row.cc:1227
      #10 0x000059fd18eb2916 in row_purge_reposition_pcur (mode=BTR_MODIFY_LEAF, node=0x59fd48338ba0, mtr=0x710263ffe508)at /test/10.11_dbg/storage/innobase/row/row0purge.cc:83
      #11 0x000059fd18eb84ca in row_purge_reset_trx_id (node=0x59fd48338ba0, mtr=0x710263ffe508)at /test/10.11_dbg/storage/innobase/row/row0purge.cc:1092
      #12 0x000059fd18eb6783 in row_purge_record_func (node=0x59fd48338ba0, undo_rec=0x7103c0d4426e "\002}\v", thr=0x59fd48338b00, updated_extern=false)at /test/10.11_dbg/storage/innobase/row/row0purge.cc:1582
      #13 0x000059fd18eb3375 in row_purge (node=0x59fd48338ba0, undo_rec=0x7103c0d4426e "\002}\v", thr=0x59fd48338b00)at /test/10.11_dbg/storage/innobase/row/row0purge.cc:1626
      #14 0x000059fd18eb32dc in row_purge_step (thr=0x59fd48338b00)at /test/10.11_dbg/storage/innobase/row/row0purge.cc:1689
      #15 0x000059fd18e18bfa in que_thr_step (thr=0x59fd48338b00)at /test/10.11_dbg/storage/innobase/que/que0que.cc:553
      #16 0x000059fd18e181e3 in que_run_threads_low (thr=0x59fd48338b00)at /test/10.11_dbg/storage/innobase/que/que0que.cc:609
      #17 0x000059fd18e17f94 in que_run_threads (thr=0x59fd48338b00)at /test/10.11_dbg/storage/innobase/que/que0que.cc:629
      #18 0x000059fd18f0e272 in srv_task_execute ()at /test/10.11_dbg/storage/innobase/srv/srv0srv.cc:1436
      #19 0x000059fd18f0e02c in srv_purge_worker_task_low ()at /test/10.11_dbg/storage/innobase/srv/srv0srv.cc:1567
      #20 0x000059fd18f0cbb9 in purge_worker_callback ()at /test/10.11_dbg/storage/innobase/srv/srv0srv.cc:1578
      #21 0x000059fd1912097a in tpool::task_group::execute (this=0x59fd1a849420 <purge_task_group>, t=0x59fd1a8494b8 <purge_worker_task>)at /test/10.11_dbg/tpool/task_group.cc:70
      #22 0x000059fd19120ebc in tpool::task::execute (this=0x59fd1a8494b8 <purge_worker_task>)at /test/10.11_dbg/tpool/task.cc:32
      #23 0x000059fd19119b03 in tpool::thread_pool_generic::worker_main (this=0x59fd48291f70, thread_var=0x59fd48292780)at /test/10.11_dbg/tpool/tpool_generic.cc:573
      #24 0x000059fd1911e304 in std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(__f=@0x7103c80018f8: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x59fd191199e0 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=@0x7103c80018f0: 0x59fd48291f70, __args=@0x7103c80018e8: 0x59fd48292780)at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:74
      #25 0x000059fd1911e225 in std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> (__fn=@0x7103c80018f8: (void (tpool::thread_pool_generic::*)(class tpool::thread_pool_generic * const, struct tpool::worker_data *)) 0x59fd191199e0 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __args=@0x7103c80018e8: 0x59fd48292780, __args=@0x7103c80018e8: 0x59fd48292780)at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96
      #26 0x000059fd1911e1f3 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::_M_invoke<0ul, 1ul, 2ul> (this=0x7103c80018e8)at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292
      #27 0x000059fd1911e1a5 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator() (this=0x7103c80018e8)at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299
      #28 0x000059fd1911e019 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run (this=0x7103c80018e0)at /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244
      #29 0x00007103f46ecdb4 in std::execute_native_thread_routine (__p=0x7103c80018e0)at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
      #30 0x00007103f429caa4 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #31 0x00007103f4329c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      All attempts at creating a testcase have failed this far, however core dumps + bin + ldd files are available
      I have copied core dump from my gcp to pluto :-
      here it is /data/results/saahil_gcp/upload

      Steps to generate stack trace

      gdb -c core mariadbd
       
      Inside gdb:-
      set solib-search-path .
      set sysroot .
       
      then:-
      bt
      

      Attachments

        Activity

          People

            saahil Saahil Alam
            saahil Saahil Alam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.