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

BINLOG CHANGES: Assertion `b' failed in MYSQL_BIN_LOG::mark_xid_done(ulong) on concurrent FLUSH LOGS

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.0.0
    • Component/s: None
    • Labels:
      None

      Description

      Version: '5.5.23-MariaDB-debug-log'  
      mysqld: sql/log.cc:8022: void MYSQL_BIN_LOG::mark_xid_done(ulong): Assertion `b' failed.
      
      #6  0x00007fb9084c7d4d in __GI___assert_fail (assertion=0xdc3493 "b", file=<optimized out>, line=8022, function=<optimized out>)
          at assert.c:81
      #7  0x000000000088e8c9 in MYSQL_BIN_LOG::mark_xid_done (this=0x14f8b40, cookie=26) at sql/log.cc:8022
      #8  0x00000000008883ea in MYSQL_BIN_LOG::do_checkpoint_request (this=0x14f8b40, binlog_id=26) at sql/log.cc:5554
      #9  0x0000000000888729 in MYSQL_BIN_LOG::checkpoint_and_purge (this=0x14f8b40, binlog_id=26) at sql/log.cc:5676
      #10 0x00000000008887fd in MYSQL_BIN_LOG::rotate_and_purge (this=0x14f8b40, force_rotate=true) at sql/log.cc:5708
      #11 0x0000000000735e30 in reload_acl_and_cache (thd=0x41e2d50, options=16130, tables=0x0, write_to_binlog=0x7fb909b6c0c0)
          at sql/sql_reload.cc:152
      #12 0x0000000000610687 in mysql_execute_command (thd=0x41e2d50) at sql/sql_parse.cc:3664
      #13 0x0000000000615deb in mysql_parse (thd=0x41e2d50, rawbuf=0x41f83c8 "FLUSH LOGS", length=10, parser_state=0x7fb909b6c550)
          at sql/sql_parse.cc:5731
      #14 0x000000000060968f in dispatch_command (command=COM_QUERY, thd=0x41e2d50, packet=0x41fa771 "FLUSH LOGS", packet_length=10)
          at sql/sql_parse.cc:1055
      #15 0x0000000000608946 in do_command (thd=0x41e2d50) at sql/sql_parse.cc:794
      #16 0x0000000000709007 in do_handle_one_connection (thd_arg=0x41e2d50) at sql/sql_connect.cc:1253
      #17 0x00000000007089f2 in handle_one_connection (arg=0x41e2d50) at sql/sql_connect.cc:1168
      #18 0x00007fb909209efc in start_thread (arg=0x7fb909b6d700) at pthread_create.c:304
      #19 0x00007fb90857c59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
      
      Query (0x41f83c8): FLUSH LOGS
      Connection ID (thread ID): 12
      Status: NOT_KILLED
      

      maria-captains/maria/5.5-mdev232
      bzr version-info

      revision-id: knielsen@knielsen-hq.org-20120613132210-vwxe0ejooug9a0bl
      date: 2012-06-13 15:22:10 +0200
      build-date: 2012-06-15 21:44:34 +0400
      revno: 3382
      

      How to reproduce:

      - start mysqld with --log-bin=master-bin, other parameters may remain default;
      - run:
      mysqlslap --query="FLUSH LOGS" --concurrency=2 --iterations=100000 --protocol=tcp --port=8306 -uroot --create-schema=test
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              knielsen Kristian Nielsen added a comment -

              The problem was that the code in mark_xid_done() did not re-load the shared
              variable current_binlog_id after releaseing and re-taking locks. So if it changed,
              the code failed.

              Fix pushed to lp:~maria-captains/maria/5.5-mdev232

              Show
              knielsen Kristian Nielsen added a comment - The problem was that the code in mark_xid_done() did not re-load the shared variable current_binlog_id after releaseing and re-taking locks. So if it changed, the code failed. Fix pushed to lp:~maria-captains/maria/5.5-mdev232

                People

                • Assignee:
                  knielsen Kristian Nielsen
                  Reporter:
                  elenst Elena Stepanova
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - Not Specified
                    Not Specified
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 2 hours, 30 minutes
                    2h 30m