[debian-mysql] Bug#768490: mysql-server ADD CONSTRAINT crashes mysqld and table disappears
Bud
bud at computerwizards.com
Fri Nov 7 19:22:10 UTC 2014
Package: mysql-server
Version: 5.5.40-0+wheezy1
Severity: important
Tags: upstream
Dear Maintainer,
This bug appeared after upgrading to the latest secuirty release of mysqlserver 5.5.40-0+wheezy1. If I downgrade to 5.5.38-0+wheezy1 the bug is not present. It has shown up on many machines and multiple databases.
When we deploy some of our java apps, Eclipselink runs a bunch of sql commands and some of them crash mysql and the table they were altering is destroyed. I am unable to create a new table of the same name until I drop the database and recreate it. I have tried running the commands by hand as well with the same result.
An example of one of the commands is:
ALTER TABLE contract ADD CONSTRAINT FK_contract_campaign_estimate FOREIGN KEY (campaign_estimate) REFERENCES campaign_estimate (id)
Here is the resulting log:
141107 10:44:39 InnoDB: Assertion failure in thread 140571090040576 in file di
ct0dict.c line 2573
InnoDB: Failing assertion: UT_LIST_GET_LEN(table->referenced_list) == rbt_size(
table->referenced_rbt)
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.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
15:44:39 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
key_buffer_size=16777216
read_buffer_size=131072
max_used_connections=1
max_threads=151
thread_count=1
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 346700 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x7fd944fdbdd0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 7fd941e32e80 thread_stack 0x30000
/usr/sbin/mysqld(my_print_stacktrace+0x29)[0x7fd9423bf0b9]
/usr/sbin/mysqld(handle_fatal_signal+0x3d8)[0x7fd9422a6418]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf0a0)[0x7fd941a540a0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)[0x7fd9402e5165]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x180)[0x7fd9402e83e0]
/usr/sbin/mysqld(+0x5d6323)[0x7fd942459323]
/usr/sbin/mysqld(+0x5dea90)[0x7fd942461a90]
/usr/sbin/mysqld(+0x5e1bcd)[0x7fd942464bcd]
/usr/sbin/mysqld(+0x56c5d6)[0x7fd9423ef5d6]
/usr/sbin/mysqld(+0x550416)[0x7fd9423d3416]
/usr/sbin/mysqld(_Z18mysql_rename_tableP10handlertonPKcS2_S2_S2_j+0x136)[0x7fd9
4220f6c6]
/usr/sbin/mysqld(_Z17mysql_alter_tableP3THDPcS1_P24st_ha_create_informationP10T
ABLE_LISTP10Alter_infojP8st_orderb+0x2a0b)[0x7fd9422140fb]
/usr/sbin/mysqld(_ZN21Alter_table_statement7executeEP3THD+0x486)[0x7fd9423a2ff6
]
/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x1740)[0x7fd9421acaf0]
/usr/sbin/mysqld(+0x32cd8e)[0x7fd9421afd8e]
/usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x1824)[0x7f
d9421b1e14]
/usr/sbin/mysqld(_Z24do_handle_one_connectionP3THD+0x105)[0x7fd94224d385]
/usr/sbin/mysqld(handle_one_connection+0x50)[0x7fd94224d4a0]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x6b50)[0x7fd941a4bb50]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fd94038f7bd]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7fd945ba8440): ALTER TABLE contract ADD CONSTRAINT FK_contract_campaign_
estimate FOREIGN KEY (campaign_estimate) REFERENCES campaign_estimate (id)
Connection ID (thread ID): 198
Status: NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Please let me know if you need any further information.
-- System Information:
Debian Release: 7.7
APT prefers stable
APT policy: (990, 'stable'), (500, 'stable-updates'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Versions of packages mysql-server depends on:
ii mysql-server-5.5 5.5.40-0+wheezy1
mysql-server recommends no packages.
mysql-server suggests no packages.
-- no debconf information
More information about the pkg-mysql-maint
mailing list