[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