InnoDB: Failing assertion: n < view->n_trx_ids in file read0read.ic line 36

Bug #1101030 reported by Roel Van de Paar
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
High
Laurynas Biveinis
5.1
Invalid
Undecided
Unassigned
5.5
Fix Released
High
Laurynas Biveinis

Bug Description

130117 12:52:23 InnoDB: Assertion failure in thread 386746112 in file read0read.ic line 36
InnoDB: Failing assertion: n < view->n_trx_ids

Thread 25 (LWP 8764):
+bt
#0 0x0000003da180c60c in pthread_kill () from /lib64/libpthread.so.0
#1 0x00000000007de828 in my_write_core (sig=6) at /ssd/bug1086680/Percona-Server-5.5.28-rel29.3/mysys/stacktrace.c:433
#2 0x00000000006b2e04 in handle_fatal_signal (sig=6) at /ssd/bug1086680/Percona-Server-5.5.28-rel29.3/sql/signal_handler.cc:249
#3 <signal handler called>
#4 0x0000003da1435935 in raise () from /lib64/libc.so.6
#5 0x0000003da14370e8 in abort () from /lib64/libc.so.6
#6 0x0000000000834063 in read_view_get_nth_trx_id (n=16, view=0xebe2948) at /ssd/bug1086680/Percona-Server-5.5.28-rel29.3/storage/innobase/include/read0read.ic:36
#7 read_view_print (file=file@entry=0x5d0f6f0, view=view@entry=0xebe2948) at /ssd/bug1086680/Percona-Server-5.5.28-rel29.3/storage/innobase/read/read0read.c:388
#8 0x00000000008729c5 in srv_printf_innodb_monitor (file=0x5d0f6f0, nowait=nowait@entry=1, trx_start=trx_start@entry=0x0, trx_end=trx_end@entry=0x0) at /ssd/bu
g1086680/Percona-Server-5.5.28-rel29.3/storage/innobase/srv/srv0srv.c:2201
#9 0x0000000000873892 in srv_monitor_thread (arg=<optimized out>) at /ssd/bug1086680/Percona-Server-5.5.28-rel29.3/storage/innobase/srv/srv0srv.c:2580
#10 0x0000003da1807d14 in start_thread () from /lib64/libpthread.so.0
#11 0x0000003da14f168d in clone () from /lib64/libc.so.6

Tags: qa xtradb

Related branches

Revision history for this message
Roel Van de Paar (roel11) wrote :
Revision history for this message
Roel Van de Paar (roel11) wrote :
Revision history for this message
Roel Van de Paar (roel11) wrote :

Roel has testcase (same one as for bug bug1086680 / bug 1083058). Laurynas has copy also. Happy to do patch>test rounds once initial patch is available.

Revision history for this message
Roel Van de Paar (roel11) wrote :
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Extended XtraDB status added last read view info, which read dirty:

 fprintf(file, "%lu read views open inside InnoDB\n",
  UT_LIST_GET_LEN(trx_sys->view_list));

 if (UT_LIST_GET_LEN(trx_sys->view_list)) {
  read_view_t* view = UT_LIST_GET_LAST(trx_sys->view_list);

  if (view) {
   fprintf(file, "---OLDEST VIEW---\n");
   read_view_print(file, view);
   fprintf(file, "-----------------\n");
  }
 }

It needs to take the kernel_mutex or skip print, according to the nowait arg value.

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

5.1 only reads the read view list length, which is dirty, but never from deallocated memory.

Revision history for this message
Roel Van de Paar (roel11) wrote :

Possibly related stack, as discussed with Laurynas:

==23575== Thread 14:
==23575== Conditional jump or move depends on uninitialised value(s)
==23575== at 0x828CF1: read_view_print (read0read.c:366)
==23575== by 0x871EA5: srv_printf_innodb_monitor (srv0srv.c:2201)
==23575== by 0x872D72: srv_monitor_thread (srv0srv.c:2580)
==23575== by 0x3DA1807D13: start_thread (in /usr/lib64/libpthread-2.15.so)
==23575== by 0x3DA14F168C: clone (in /usr/lib64/libc-2.15.so)

Revision history for this message
Roel Van de Paar (roel11) wrote :

Also seen in QA-16274-5.5 tree @ revid 416 (debug-valgrind)

tags: added: xtradb
Revision history for this message
Roel Van de Paar (roel11) wrote :

Also seen in QA-16724-5.5-2 tree @ revid 422 (debug-valgrind)

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-617

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers