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

DROP SERVER after renaming/dropping mysql.servers triggers DBUG_ASSERT !is_set()

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • 10.11, 11.4, 11.8
    • Debug
    • None

    Description

      create server s1 foreign data wrapper foo options(user 'a');
      rename table mysql.servers to mysql.servers_save;
      drop server s1;
      

      triggers DBUG_ASSERT(!is_set() || (m_status == DA_OK_BULK && is_bulk_op()));

       - found 'core.120935' (0/5)
      Thread 1 (Thread 0x755ec005c6c0 (LWP 120942)):
      #0  __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:100
      #3  0x000064d656bfcf71 in my_write_core (sig=6) at /src/mariadb/mysys/stacktrace.c:424
      #4  0x000064d65620bd4e in handle_fatal_signal (sig=6) at /src/mariadb/sql/signal_handler.cc:298
      #5  <signal handler called>
      #6  __pthread_kill_implementation (threadid=<optimized out>, signo=6, no_tid=0) at ./nptl/pthread_kill.c:44
      #7  __pthread_kill_internal (threadid=<optimized out>, signo=6) at ./nptl/pthread_kill.c:89
      #8  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:100
      #9  0x0000755ecb2456de in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
      #10 0x0000755ecb2288cd in __GI_abort () at ./stdlib/abort.c:73
      #11 0x0000755ecb228830 in __assert_fail_base (fmt=<optimized out>, assertion=<optimized out>, file=<optimized out>, line=<optimized out>, function=<optimized out>) at ./assert/assert.c:118
      #12 0x000064d655d2b947 in Diagnostics_area::set_ok_status (this=0x755eb00070c8, affected_rows=0, last_insert_id=0, message=0x0) at /src/mariadb/sql/sql_error.cc:357
      #13 0x000064d655cb5af0 in my_ok (thd=0x755eb0000dc8, affected_rows_arg=0, id=0, message=0x0) at /src/mariadb/sql/sql_class.h:6302
      #14 0x000064d655da49ca in mysql_execute_command (thd=0x755eb0000dc8, is_called_from_prepared_stmt=false) at /src/mariadb/sql/sql_parse.cc:5834
      #15 0x000064d655dab15c in mysql_parse (thd=0x755eb0000dc8, rawbuf=0x755eb00181f0 "drop server s1", length=14, parser_state=0x755ec005b2c0) at /src/mariadb/sql/sql_parse.cc:7891
      #16 0x000064d655d96967 in dispatch_command (command=COM_QUERY, thd=0x755eb0000dc8, packet=0x755eb000c149 "drop server s1", packet_length=14, blocking=true) at /src/mariadb/sql/sql_parse.cc:1877
      #17 0x000064d655d9524c in do_command (thd=0x755eb0000dc8, blocking=true) at /src/mariadb/sql/sql_parse.cc:1416
      #18 0x000064d655fb0a6a in do_handle_one_connection (connect=0x64d695238d48, put_in_cache=true) at /src/mariadb/sql/sql_connect.cc:1414
      #19 0x000064d655fb07df in handle_one_connection (arg=0x64d695213cf8) at /src/mariadb/sql/sql_connect.cc:1326
      #20 0x000064d65659144e in pfs_spawn_thread (arg=0x64d69519ef78) at /src/mariadb/storage/perfschema/pfs.cc:2198
      #21 0x0000755ecb2a2ef1 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:448
      #22 0x0000755ecb33445c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Reproduced on main (4b79d7b8)
      Somehow the result of the query is considered as a result set, although there should be an error.
      On release version, it produces:

      query 'drop server s1' failed: ER_NO_SUCH_TABLE (1146)
      

      This could be related to MDEV-36221.

      Attachments

        Issue Links

          Activity

            People

              ycp Yuchen Pei
              qobood Vasilii Lakhin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: