| Bug #14012 | InnoDB crash | ||
|---|---|---|---|
| Submitted: | 13 Oct 2005 18:14 | Modified: | 8 Dec 2006 14:46 |
| Reporter: | Frank Denis | Email Updates: | |
| Status: | No Feedback | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
| Version: | 4.1.14 | OS: | Linux (Linux amd64) |
| Assigned to: | Assigned Account | CPU Architecture: | Any |
[13 Oct 2005 18:44]
MySQL Verification Team
Since you don't have provided the test case and comparing the assertion message I assume it is duplicate of bug: http://bugs.mysql.com/bug.php?id=13379 --------------------------------------------------------------------------- Continuing. Breakpoint 4, ha_innobase::index_next_same(char*, char const*, unsigned) ( this=0x8b2dbe8, buf=0x8b2dcf0 "ÿ\001", key=0x8b4e7a8 "\001", keylen=16) at ha_innodb.cc:3285 3285 statistic_increment(ha_read_next_count, &LOCK_status); (gdb) c Continuing. Breakpoint 1, row_search_for_mysql (buf=0x8b2dcf0 "ÿ\001", mode=0, prebuilt=0x40acb668, match_mode=1, direction=1) at row0sel.c:2858 2858 dict_index_t* index = prebuilt->index; Current language: auto; currently c (gdb) Continuing. len 108; hex 68c4ac408880d84000000000000000000300000001000000030000000000000001 00000003000000000000000000000000000000000000000100000083445107000000000000000000 000000000000000000000060e111770200000000000000000000000000000000000000; asc h @ @ DQ ` w ;050922 0:01:08InnoDB: Assertion failure in thread 1474 66 in file btr0pcur.c line 213 InnoDB: Failing assertion: 0 ---------------------------------------------------------------------------
[13 Oct 2005 18:50]
Heikki Tuuri
Hi!
It is the assertion below that fails.
In 4.1.10 and 4.1.11 there was bug (TL_IGNORE) that could cause this crash. But in 4.1.14 that bug should not be present. Are you sure you are running 4.1.14?
Regards,
Heikki
/******************************************************************
Restores the stored position of a persistent cursor bufferfixing the page and
obtaining the specified latches. If the cursor position was saved when the
(1) cursor was positioned on a user record: this function restores the position
to the last record LESS OR EQUAL to the stored record;
(2) cursor was positioned on a page infimum record: restores the position to
the last record LESS than the user record which was the successor of the page
infimum;
(3) cursor was positioned on the page supremum: restores to the first record
GREATER than the user record which was the predecessor of the supremum.
(4) cursor was positioned before the first or after the last in an empty tree:
restores to before first or after the last in the tree. */
ibool
btr_pcur_restore_position(
/*======================*/
/* out: TRUE if the cursor position
was stored when it was on a user record
and it can be restored on a user record
whose ordering fields are identical to
the ones of the original user record */
ulint latch_mode, /* in: BTR_SEARCH_LEAF, ... */
btr_pcur_t* cursor, /* in: detached persistent cursor */
mtr_t* mtr) /* in: mtr */
{
dict_tree_t* tree;
page_t* page;
dtuple_t* tuple;
ulint mode;
ulint old_mode;
ibool from_left;
mem_heap_t* heap;
ut_a(cursor->pos_state == BTR_PCUR_WAS_POSITIONED
|| cursor->pos_state == BTR_PCUR_IS_POSITIONED);
if (cursor->old_stored != BTR_PCUR_OLD_STORED) {
ut_print_buf(stderr, (const byte*)cursor, sizeof(btr_pcur_t));
if (cursor->trx_if_known) {
trx_print(stderr, cursor->trx_if_known);
}
ut_a(0);
}
[13 Oct 2005 18:53]
Heikki Tuuri
Miguel, good catch. It may be a duplicate of http://bugs.mysql.com/bug.php?id=13379 Regards, Heikki
[14 Oct 2005 20:03]
Heikki Tuuri
Frank, are you using subqueries?
[15 Oct 2005 6:46]
Valeriy Kravchuk
Frank, Please, answer the questions at the last comment from Heikki: 1. Do you use subqueries? 2. Can you identifiy some specific actions, queries, tables etc. that lead to this result in your case? Look also at the similar bug report http://bugs.mysql.com/bug.php?id=13379
[16 Nov 2005 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[17 Mar 2006 13:38]
Heikki Tuuri
I reopened this bug report, so that I remember to monitor the progress of: http://bugs.mysql.com/bug.php?id=13379
[21 Aug 2006 18:07]
Sveta Smirnova
Duplicates bug #13379.
[23 Aug 2006 14:31]
Heikki Tuuri
Sveta, we do not know if this is a duplicate of #13379. That is why I am keeping this open. --Heikki
[8 Nov 2006 14:46]
Heikki Tuuri
http://bugs.mysql.com/bug.php?id=21077 may have fixed this. Putting this to the 'Need feedback' status.
[9 Dec 2006 0:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".

Description: len 216; hex b87c54b0aa2a0000902b25e1aa2a00004a0000000005044b640400000000000003000000000000000300000000000000010000000000000000000000000000000000000000000000 0200000000000000010000000000000000000000000000002f32198efa41cb6300000000000d0a1401000000000000008344510700000000bf086eb0aa2a0000010000000000000038b5a6f1aa2a00 000000000000000000a34e00000000000060e11177000000000200000000000000000000000000000065ff74656c657068b8086eb0aa2a00006c00000000000000; asc |T * +% * J Kd /2 A c DQ n * 8 * N ` w e teleph n * l ;051013 17:14:12InnoDB: Assertion failure in thread 75509579883 in file btr0pcur.c line 213 InnoDB: Failing assertion: 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/mysql/en/Forcing_recovery.html InnoDB: about forcing recovery. InnoDB: Thread 75510989014 stopped in file ha_innodb.cc line 668 InnoDB: Thread 75511726351 stopped in file os0sync.c line 244 InnoDB: Thread 75508629558 stopped in file os0sync.c line 501 InnoDB: Thread 75506319556 stopped in file ./../include/sync0sync.ic line 111 InnoDB: Thread 114696 stopped in file ./../include/sync0sync.ic line 111 mysqld got signal 11; How to repeat: I've no idea on how it happened.