← Back to team overview

linux-traipu team mailing list archive

[Bug 911948] [NEW] InnoDB assertion failure in log0log.cc line 616

 

Public bug reported:

I'm trying to sysbench Drizzle with 48 tables of 5M rows each, but
sysbench causes Drizzle InnoDB to die on the second table with this
error:

111223 20:32:58  InnoDB: Assertion failure in thread 140116942296960 in file plugin/innobase/log/log0log.cc line 616
InnoDB: Failing assertion: (sizeof(ulint) == 4) || (offset < (((ib_int64_t) 1) << 32))

Alexey @ Percona told me:

It's a wrong assertion. The goal was to restrict offset to 4GB on 32-bit
systems. So it should be "(sizeof(ulint) != 4) || (offset < (((ib_int64_t) 1) << 32))"

The revision that introduced that code:

revno: 2258.3.1
committer: Laurynas Biveinis
branch nick: percona-files-extend
timestamp: Tue 2011-04-05 13:32:12 +0300
message: Port Percona's innodb_files_extend.patch

But the code in XtraDB is different:

	if (sizeof(ulint) == 4) {
	ut_a(offset < (((ib_int64_t) 1) << 32)); /* offset must be < 4 GB */
	}

Which is less pretty, but correct.

I'm not sure what the relationship is between Drizzle InnoDB and Percona
XtraDB.  In any case, the bug exists in Drizzle and is preventing big
sysbench tests.

** Affects: drizzle
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Drizzle.
https://bugs.launchpad.net/bugs/911948

Title:
  InnoDB assertion failure in log0log.cc line 616

Status in A Lightweight SQL Database for Cloud Infrastructure and Web Applications:
  New

Bug description:
  I'm trying to sysbench Drizzle with 48 tables of 5M rows each, but
  sysbench causes Drizzle InnoDB to die on the second table with this
  error:

  111223 20:32:58  InnoDB: Assertion failure in thread 140116942296960 in file plugin/innobase/log/log0log.cc line 616
  InnoDB: Failing assertion: (sizeof(ulint) == 4) || (offset < (((ib_int64_t) 1) << 32))

  Alexey @ Percona told me:

  It's a wrong assertion. The goal was to restrict offset to 4GB on 32-bit
  systems. So it should be "(sizeof(ulint) != 4) || (offset < (((ib_int64_t) 1) << 32))"

  The revision that introduced that code:

  revno: 2258.3.1
  committer: Laurynas Biveinis
  branch nick: percona-files-extend
  timestamp: Tue 2011-04-05 13:32:12 +0300
  message: Port Percona's innodb_files_extend.patch

  But the code in XtraDB is different:

  	if (sizeof(ulint) == 4) {
  	ut_a(offset < (((ib_int64_t) 1) << 32)); /* offset must be < 4 GB */
  	}

  Which is less pretty, but correct.

  I'm not sure what the relationship is between Drizzle InnoDB and
  Percona XtraDB.  In any case, the bug exists in Drizzle and is
  preventing big sysbench tests.

To manage notifications about this bug go to:
https://bugs.launchpad.net/drizzle/+bug/911948/+subscriptions


Follow ups

References