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

LP:976104 - Assertion `0' failed in my_message_sql on UPDATE IGNORE, or unknown error on release build

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.22, 5.3.5
    • Fix Version/s: 5.5.24, 5.3.7
    • Component/s: None
    • Labels:
      None

      Description

      https://bugs.launchpad.net/maria/+bug/976104

      #8 0xb7448014 in __assert_fail () from /lib/libc.so.6
      #9 0x082d0fed in my_message_sql (error=1105, str=0xae8c0444 "Unknown error",
          MyFlags=0) at mysqld.cc:3008
      #10 0x087c9236 in my_error (nr=1105, MyFlags=0) at my_error.c:102
      #11 0x083af0f2 in multi_update::send_error (this=0x948cb30, errcode=1105,
          err=0x934c280 "Unknown error") at sql_update.cc:1897
      #12 0x083ad429 in mysql_multi_update (thd=0x93ec740, table_list=0x948b7a0,
          fields=0x93ee248, values=0x93ee4b0, conds=0x948ca20, options=0,
          handle_duplicates=DUP_ERROR, ignore=true, unit=0x93edec0,
          select_lex=0x93ee1b4) at sql_update.cc:1298
      #13 0x082e59e5 in mysql_execute_command (thd=0x93ec740) at sql_parse.cc:3179
      #14 0x082ee50c in mysql_parse (thd=0x93ec740,
          rawbuf=0x948b680 "UPDATE IGNORE t1, t2 SET b = 'bar', c = 'bar' \nWHERE a != ( SELECT 1 UNION SELECT 2 )", length=85, found_semicolon=0xae8c1234)
          at sql_parse.cc:6152
      #15 0x082e0eed in dispatch_command (command=COM_QUERY, thd=0x93ec740,
          packet=0x94442a9 "UPDATE IGNORE t1, t2 SET b = 'bar', c = 'bar' \nWHERE a != ( SELECT 1 UNION SELECT 2 )", packet_length=85) at sql_parse.cc:1228
      #16 0x082e0397 in do_command (thd=0x93ec740) at sql_parse.cc:923
      #17 0x082dd28d in handle_one_connection (arg=0x93ec740) at sql_connect.cc:1218
      #18 0xb76d6b25 in start_thread () from /lib/libpthread.so.0

      bzr version-info
      revision-id: igor@askmonty.org-20120407092904-nnwqfwtt2g5ia8gr
      date: 2012-04-07 02:29:04 -0700
      build-date: 2012-04-07 21:47:49 +0400
      revno: 3499

      Notes:
      5.5 also fails, although the assertion is different, but it might be because recent 5.3 changes have not reached 5.5 main tree yet.
      On release (as non-debug) build there is no crash, but server error log contains "Unknown error" (which is normally a part of the warning ignored due to the IGNORE modifier).
      Could not reproduce on MariaDB 5.2, MySQL 5.5, MySQL trunk (revno 3706).

      Test case:

      CREATE TABLE t1 ( a INT, b CHAR(3) );
      INSERT INTO t1 VALUES ( 1, 'foo' );
      CREATE TABLE t2 ( c CHAR(3), d INT );
      INSERT INTO t2 VALUES ( 'foo', 1 );
       
      UPDATE IGNORE t1, t2 SET b = 'bar', c = 'bar'
        WHERE a != ( SELECT 1 UNION SELECT 2 );

        Attachments

          Activity

            People

            • Assignee:
              serg Sergei Golubchik
              Reporter:
              elenst Elena Stepanova
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved: