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

debug_sync_set_action() Fails if Entered in an Error State

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2
    • 10.4, 10.5, 10.6, 10.11, 11.1, 11.2
    • Debug, Tests
    • None

    Description

      If invoking debug_sync_set_action(thd, ...) when thd->is_error() is true, it will return in error itself, even if the synchronization worked correctly. This is because of the following condition in its logic:

          if (unlikely(thd->is_error()))
            DBUG_RETURN(TRUE);
      

      This means the established pattern of

      DBUG_ASSERT(!debug_sync_set_action(thd,...))
      

      will throw the DBUG_ASSERT when trying to synchronize threads during error handling.

      It seems valid to synchronize in an error state, and debug_sync_set_action() should only return in error if it itself errors, and not if simply invoked in an already err'd out state.

      Attachments

        Activity

          People

            Unassigned Unassigned
            bnestere Brandon Nesterenko
            Votes:
            0 Vote for this issue
            Watchers:
            1 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.