GithubHelp home page GithubHelp logo

MDEV-13713 about mariadb HOT 4 CLOSED

midenok avatar midenok commented on September 26, 2024
MDEV-13713

from mariadb.

Comments (4)

midenok avatar midenok commented on September 26, 2024

Thread 1

#2  __pthread_cond_timedwait (cond=0x7fff9c000fa0, mutex=0x7fff9c000f18, abstime=0x7ffff02f7af8) at pthread_cond_wait.c:667
#3  0x00000000013c7aec in safe_cond_timedwait (cond=0x7fff9c000fa0, mp=0x7fff9c000ef0, abstime=0x7ffff02f7af8, file=0x14432fe "/home/midenok/src/mariadb/myrepo/src/include/mysql/psi/mysql_thread.h", line=1175) at /home/midenok/src/mariadb/myrepo/src/mysys/thr_mutex.c:546
#4  0x00000000008d3364 in inline_mysql_cond_timedwait (that=0x7fff9c000fa0, mutex=0x7fff9c000ef0, abstime=0x7ffff02f7af8, src_file=0x1483bb8 "/home/midenok/src/mariadb/myrepo/src/sql/mdl.cc", src_line=1093) at /home/midenok/src/mariadb/myrepo/src/include/mysql/psi/mysql_thread.h:1175
#5  0x00000000008d3184 in MDL_wait::timed_wait (this=0x7fff9c000ef0, owner=0x7fff9c000ea0, abs_timeout=0x7ffff02f7af8, set_status_on_timeout=false, wait_state_name=0x1d73e30 <MDL_key::m_namespace_to_wait_state_name+48>) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:1092
#6  0x00000000008d4d65 in MDL_context::acquire_lock (this=0x7fff9c000ef0, mdl_request=0x7ffff02f7c08, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2146
#7  0x00000000008d58e0 in MDL_context::upgrade_shared_lock (this=0x7fff9c000ef0, mdl_ticket=0x7fff9c0067d0, new_type=MDL_EXCLUSIVE, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2335
#8  0x0000000001384a52 in ha_sequence::write_row (this=0x7fff9802b078, buf=0x7fff98032278 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/ha_sequence.cc:234
#9  0x0000000000a6d129 in handler::ha_write_row (this=0x7fff9802b078, buf=0x7fff98032278 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/handler.cc:6022
#10 0x00000000006fe395 in write_record (thd=0x7fff9c000df0, table=0x7fff9802f460, info=0x7ffff02f8568) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1929
#11 0x00000000006faee6 in mysql_insert (thd=0x7fff9c000df0, table_list=0x7fff9c0138e0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1057
#12 0x000000000073994c in mysql_execute_command (thd=0x7fff9c000df0) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:4682
#13 0x000000000073154f in mysql_parse (thd=0x7fff9c000df0, rawbuf=0x7fff9c0137c8 "insert into s values (1,1,1", '0' <repeats 14 times>, ",1,1,1000,0,0)", length=55, parser_state=0x7ffff02fb5f0, is_com_multi=false, is_next_command=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:7921

frame 6

(gdb) p abs_timeout
$3 = {
  tv_sec = 1509128975, 
  tv_nsec = 693328000
}
(gdb) p abs_shortwait
$4 = {
  tv_sec = 1509042576, 
  tv_nsec = 693329000
}

Thread 2

#0  my_error (nr=1213, MyFlags=0) at /home/midenok/src/mariadb/myrepo/src/mysys/my_error.c:113
#1  0x00000000008d5013 in MDL_context::acquire_lock (this=0x7fff98000e50, mdl_request=0x7ffff0341c08, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2182
#2  0x00000000008d58e0 in MDL_context::upgrade_shared_lock (this=0x7fff98000e50, mdl_ticket=0x7fff9801d740, new_type=MDL_EXCLUSIVE, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2335
#3  0x0000000001384a52 in ha_sequence::write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/ha_sequence.cc:234
#4  0x0000000000a6d129 in handler::ha_write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/handler.cc:6022
#5  0x00000000006fe395 in write_record (thd=0x7fff98000d50, table=0x7fff9803e550, info=0x7ffff0342568) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1929
#6  0x00000000006faee6 in mysql_insert (thd=0x7fff98000d50, table_list=0x7fff98014ca0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1057
#7  0x000000000073994c in mysql_execute_command (thd=0x7fff98000d50) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:4682
#8  0x000000000073154f in mysql_parse (thd=0x7fff98000d50, rawbuf=0x7fff98014b88 "insert into s values (1,1,1", '0' <repeats 13 times>, "1,1,1,1000,0,0)", length=55, parser_state=0x7ffff03455f0, is_com_multi=false, is_next_command=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:7921

frame 1

(gdb) p abs_timeout
$1 = {
  tv_sec = 1509128975, 
  tv_nsec = 897357000
}
(gdb) p abs_shortwait
$2 = {
  tv_sec = 1509042576, 
  tv_nsec = 897357000
}

from mariadb.

midenok avatar midenok commented on September 26, 2024

Thread 2: VICTIM status is set

#0  MDL_context::find_deadlock (this=0x7fff98000e50) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2596
#1  0x00000000008d4b25 in MDL_context::acquire_lock (this=0x7fff98000e50, mdl_request=0x7ffff0341c08, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2135
#2  0x00000000008d58e0 in MDL_context::upgrade_shared_lock (this=0x7fff98000e50, mdl_ticket=0x7fff9801d740, new_type=MDL_EXCLUSIVE, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2335
#3  0x0000000001384a52 in ha_sequence::write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/ha_sequence.cc:234
#4  0x0000000000a6d129 in handler::ha_write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/handler.cc:6022
#5  0x00000000006fe395 in write_record (thd=0x7fff98000d50, table=0x7fff9803e550, info=0x7ffff0342568) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1929
#6  0x00000000006faee6 in mysql_insert (thd=0x7fff98000d50, table_list=0x7fff98014ca0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1057
#7  0x000000000073994c in mysql_execute_command (thd=0x7fff98000d50) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:4682
#8  0x000000000073154f in mysql_parse (thd=0x7fff98000d50, rawbuf=0x7fff98014b88 "insert into s values (1,1,1", '0' <repeats 13 times>, "1,1,1,1000,0,0)", length=55, parser_state=0x7ffff03455f0, is_com_multi=false, is_next_command=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:7921

from mariadb.

midenok avatar midenok commented on September 26, 2024

MDL_lock::visit_subgraph()

Following condition fails:

2475      /* Recurse and inspect all adjacent nodes. */
2476      granted_it.rewind();
2477      while ((ticket= granted_it++))
2478      {
2479        if (ticket->get_ctx() != src_ctx &&
2480            ticket->is_incompatible_when_granted(waiting_ticket->get_type()) &&
2481            ticket->get_ctx()->visit_subgraph(gvisitor))
2482        {
2483          goto end_leave_node;
2484        }
2485      }
#0  MDL_lock::visit_subgraph (this=0x2ec5740, waiting_ticket=0x7fff98006b30, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2483
#1  0x00000000008d6021 in MDL_ticket::accept_visitor (this=0x7fff98006b30, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2521
#2  0x00000000008d5fca in MDL_context::visit_subgraph (this=0x7fff98000e50, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2548
#3  0x00000000008d51c5 in MDL_context::find_deadlock (this=0x7fff98000e50) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2576
#4  0x00000000008d4b25 in MDL_context::acquire_lock (this=0x7fff98000e50, mdl_request=0x7ffff0341c08, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2135
#5  0x00000000008d58e0 in MDL_context::upgrade_shared_lock (this=0x7fff98000e50, mdl_ticket=0x7fff9801d740, new_type=MDL_EXCLUSIVE, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2335
#6  0x0000000001384a52 in ha_sequence::write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/ha_sequence.cc:234
#7  0x0000000000a6d129 in handler::ha_write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/handler.cc:6022
#8  0x00000000006fe395 in write_record (thd=0x7fff98000d50, table=0x7fff9803e550, info=0x7ffff0342568) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1929
#9  0x00000000006faee6 in mysql_insert (thd=0x7fff98000d50, table_list=0x7fff98014ca0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1057
#10 0x000000000073994c in mysql_execute_command (thd=0x7fff98000d50) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:4682
#11 0x000000000073154f in mysql_parse (thd=0x7fff98000d50, rawbuf=0x7fff98014b88 "insert into s values (1,1,1", '0' <repeats 13 times>, "1,1,1,1000,0,0)", length=55, parser_state=0x7ffff03455f0, is_com_multi=false, is_next_command=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:7921

from mariadb.

midenok avatar midenok commented on September 26, 2024
break mdl.cc:2479
ignore $bpnum 3

Inner subraph fails

2447      /*
2448        We do a breadth-first search first -- that is, inspect all
2449        edges of the current node, and only then follow up to the next
2450        node. In workloads that involve wait-for graph loops this
2451        has proven to be a more efficient strategy [citation missing].
2452      */
2453      while ((ticket= granted_it++))
2454      {
2455        /* Filter out edges that point to the same node. */
2456        if (ticket->get_ctx() != src_ctx &&
2457            ticket->is_incompatible_when_granted(waiting_ticket->get_type()) &&
2458            gvisitor->inspect_edge(ticket->get_ctx()))
2459        {
2460          goto end_leave_node;
2461        }
2462      }
#0  MDL_lock::visit_subgraph (this=0x2ec5740, waiting_ticket=0x7fff9c006920, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2460
#1  0x00000000008d6021 in MDL_ticket::accept_visitor (this=0x7fff9c006920, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2521
#2  0x00000000008d5fca in MDL_context::visit_subgraph (this=0x7fff9c000ef0, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2548
#3  0x00000000008d5e70 in MDL_lock::visit_subgraph (this=0x2ec5740, waiting_ticket=0x7fff98006b30, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2481
#4  0x00000000008d6021 in MDL_ticket::accept_visitor (this=0x7fff98006b30, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2521
#5  0x00000000008d5fca in MDL_context::visit_subgraph (this=0x7fff98000e50, gvisitor=0x7ffff0341988) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2548
#6  0x00000000008d51c5 in MDL_context::find_deadlock (this=0x7fff98000e50) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2576
#7  0x00000000008d4b25 in MDL_context::acquire_lock (this=0x7fff98000e50, mdl_request=0x7ffff0341c08, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2135
#8  0x00000000008d58e0 in MDL_context::upgrade_shared_lock (this=0x7fff98000e50, mdl_ticket=0x7fff9801d740, new_type=MDL_EXCLUSIVE, lock_wait_timeout=86400) at /home/midenok/src/mariadb/myrepo/src/sql/mdl.cc:2335
#9  0x0000000001384a52 in ha_sequence::write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/ha_sequence.cc:234
#10 0x0000000000a6d129 in handler::ha_write_row (this=0x7fff9803f968, buf=0x7fff9803fe48 "\377\001") at /home/midenok/src/mariadb/myrepo/src/sql/handler.cc:6022
#11 0x00000000006fe395 in write_record (thd=0x7fff98000d50, table=0x7fff9803e550, info=0x7ffff0342568) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1929
#12 0x00000000006faee6 in mysql_insert (thd=0x7fff98000d50, table_list=0x7fff98014ca0, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_insert.cc:1057
#13 0x000000000073994c in mysql_execute_command (thd=0x7fff98000d50) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:4682
#14 0x000000000073154f in mysql_parse (thd=0x7fff98000d50, rawbuf=0x7fff98014b88 "insert into s values (1,1,1", '0' <repeats 13 times>, "1,1,1,1000,0,0)", length=55, parser_state=0x7ffff03455f0, is_com_multi=false, is_next_command=false) at /home/midenok/src/mariadb/myrepo/src/sql/sql_parse.cc:7921

from mariadb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.