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

innodb assert "array->n_elems < array->max_elems" on a huge blob update

    Details

      Description

      InnoDB and XtraDB crash on the following test case:

      a.opt
      --max-allowed-packet=128M
      --innodb-log-file-size=210M
      
      a.test
      source include/have_innodb.inc;
      create table foo (id varchar(37) not null, content longblob) engine=INNODB;
      insert into foo (id, content) values('xyz', '');
      update foo set content=repeat('a', 43941888) where id='xyz';
      

      Note that if the blob gets larger (45000000) or innodb-log-file-size gets smaller (209M) then there is no crash, instead there's an error InnoDB: The total blob data length (44999232) is greater than 10% of the total redo log size (440401920). Please increase total redo log size.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              jplindst Jan Lindström added a comment -

              2015-03-13 15:53:32 7f8920357700 InnoDB: Assertion failure in thread 140226927621888 in file sync0sync.cc line 1325
              InnoDB: Failing assertion: array->n_elems < array->max_elems

              with 10.0 on commit 184f718fef0101a7559364cb97e22ee568e64c12

              Show
              jplindst Jan Lindström added a comment - 2015-03-13 15:53:32 7f8920357700 InnoDB: Assertion failure in thread 140226927621888 in file sync0sync.cc line 1325 InnoDB: Failing assertion: array->n_elems < array->max_elems with 10.0 on commit 184f718fef0101a7559364cb97e22ee568e64c12
              Show
              jplindst Jan Lindström added a comment - http://bugs.mysql.com/bug.php?id=75640
              Hide
              jplindst Jan Lindström added a comment -

              How important this really is, I do not follow why someone would run their database using debug build ?

              Show
              jplindst Jan Lindström added a comment - How important this really is, I do not follow why someone would run their database using debug build ?
              Hide
              jplindst Jan Lindström added a comment -

              commit 99a2c061d7bfc181b04a0adc14ce036fab821d85
              Author: Jan Lindström <jan.lindstrom@mariadb.com>
              Date: Tue Mar 17 20:35:05 2015 +0200

              MDEV-7754: innodb assert "array->n_elems < array->max_elems" on a huge blob
              update

              Problem was that static array was used for storing thread mutex sync levels.
              Fixed by using std::vector instead.

              Does not contain test case to avoid too big memory/disk space usage
              on buildbot VMs.

              Show
              jplindst Jan Lindström added a comment - commit 99a2c061d7bfc181b04a0adc14ce036fab821d85 Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Tue Mar 17 20:35:05 2015 +0200 MDEV-7754 : innodb assert "array->n_elems < array->max_elems" on a huge blob update Problem was that static array was used for storing thread mutex sync levels. Fixed by using std::vector instead. Does not contain test case to avoid too big memory/disk space usage on buildbot VMs.

                People

                • Assignee:
                  jplindst Jan Lindström
                  Reporter:
                  serg Sergei Golubchik
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: