Bug #54890 InnoDB crashes sporadically
Submitted: 29 Jun 2010 9:17 Modified: 11 Sep 2010 14:18
Reporter: Alexander Nozdrin Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:M4 (Dahlia) OS:Any
Assigned to: CPU Architecture:Any
Tags: pb2, sporadic, test failure

[29 Jun 2010 9:17] Alexander Nozdrin
Description:
A few InnoDB crashes due to assertion failure were noticed
in next-mr-bugfixing. It happened when tests were running
under valgrind.

Log: http://tinyurl.com/29fslr6

Trunk might be also affected since InnoDB is the same
in trunk and next-mr.

Some extract from the log:
----------------------------------------------------
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
100629  2:56:08  InnoDB: highest supported file format is Barracuda.
100629  2:56:20  InnoDB: Assertion failure in thread 79821712 in file /export/home2/pb2/build/sb_1-1985020-1277706484.6/mysql-5.6.99-m4/storage/innobase/sync/sync0arr.c line 274
InnoDB: Failing assertion: arr->n_reserved == 0
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
mysqltest got signal 6
read_command_buf at 0x11db760 = 
==22125== Invalid read of size 8
==22125==    at 0x52038B: dump_backtrace() (mysqltest.cc:7699)
==22125==    by 0x52042F: signal_handler (mysqltest.cc:7720)
==22125==    by 0x33EDA0DE6F: (within /lib64/libpthread-2.5.so)
==22125==  Address 0x4C2E918 is 1,288 bytes inside a block of size 193,440 free'd
==22125==    at 0x4A0541E: free (vg_replace_malloc.c:233)
==22125==    by 0x55C6B2: my_no_flags_free (my_malloc.c:69)
==22125==    by 0x520A05: close_connections() (mysqltest.cc:1111)
==22125==    by 0x5214A7: free_used_memory() (mysqltest.cc:1153)
==22125==    by 0x521625: cleanup_and_exit(int) (mysqltest.cc:1194)
==22125==    by 0x52F933: main (mysqltest.cc:8420)
----------------------------------------------------

How to repeat:
Check out PB.
[29 Jun 2010 9:18] Alexander Nozdrin
sp-vars.test failure log

Attachment: sp-vars.txt (text/plain), 29.38 KiB.

[29 Jun 2010 9:18] Alexander Nozdrin
type_binary.test failure log

Attachment: type_binary.txt (text/plain), 24.47 KiB.

[29 Jun 2010 9:19] Alexander Nozdrin
collation_server_func failure log

Attachment: collation_server_func.txt (text/plain), 25.34 KiB.

[29 Jun 2010 11:17] Alexander Nozdrin
Here is another failure. Now on OpenSolaris. No valgrind.

http://pb2.norway.sun.com/?action=archive_download&archive_id=1988107&pretty=please
[29 Jun 2010 14:05] Mikhail Izioumtchenko
same as bug#54617. The current challenge is a reproducible test case,
Alexander could you try to get one? In any case, please post
exact mtr invocations for each test where the failure was observed,
I'll go through them one by one to try to reproduce in our environment.
[27 Jul 2010 15:03] Alexander Nozdrin
Michael,

so is this bug a duplicate of Bug#54617?

JFYI: Exact mtr invocation can be found in the attached logs.
One of them:
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema
[10 Sep 2010 20:02] Sveta Smirnova
Thank you for the report.

Bug#54617 is fixed. Is this bug still repeatable? I can not repeat it in my environment.
[11 Sep 2010 14:18] Mikhail Izioumtchenko
it is a duplicate of bug#54617. It would also appear that the bug stopped
reproducing before the fix went in. Still we can close this bug.
I was unable to reproduce it.