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

In THD::cleanup(), apc_target.destroy() has assertion failure.

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 10.0
    • Fix Version/s: 10.0
    • Component/s: None
    • Labels:
      None

      Description

      In sql/sql_class.cc, THD::cleanup() calls apc_target.destroy().

      The latter has:
      DBUG_ASSERT(!enabled) which fails during our test which triggers this code path.

      The fix is to disable apc_target if it is enabled before destroying it.

      Proposed patch:

      void THD::cleanup(void)
      {
      ...
        DBUG_ASSERT(!mdl_context.has_locks());
      
      +  if (apc_target.is_enabled())
      +    apc_target.disable();
        apc_target.destroy();
      ...
      }
      

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            serg Sergei Golubchik added a comment -

            Can you show your tests or explain how to trigger that?
            As far as I can see apt_target should be disabled when lex->explain is destroyed.

            Does it only happen in the context of MDEV-7095 — when you invoke that dead code in Ed_connection::execute_direct() ?

            Show
            serg Sergei Golubchik added a comment - Can you show your tests or explain how to trigger that? As far as I can see apt_target should be disabled when lex->explain is destroyed. Does it only happen in the context of MDEV-7095 — when you invoke that dead code in Ed_connection::execute_direct() ?
            Hide
            minli zhu Minli Zhu added a comment -

            Yes, it is triggered by Ed_connection::execute_direct().

            Show
            minli zhu Minli Zhu added a comment - Yes, it is triggered by Ed_connection::execute_direct().

              People

              • Assignee:
                serg Sergei Golubchik
                Reporter:
                minli zhu Minli Zhu
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: