>Description:
It is possible to create an InnoDB table that has a composite primary key
longer than 500 characters. Trying to delete from this table
specifying all fields of the PK causes mysqld to crash.
>How-To-Repeat:
mysql> create table chump (
-> f1 varchar(255) not null,
-> f2 varchar(255) not null,
-> f3 varchar(255) not null,
-> primary key (f1, f2, f3)
-> ) type=innodb;
Query OK, 0 rows affected (0.44 sec)
mysql> delete from chump where f1 = 'foo' and f2 = 'bar' and f3 = 'baz';
ERROR 2013: Lost connection to MySQL server during query
/var/lib/mysql/xxx.err reports:
mysqld got signal 11;
This could be because you hit a bug. It is also possible that this
binary
or one of the libraries it was linked agaist 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=8388600
record_buffer=131072
sort_buffer=2097144
max_used_connections=4
max_connections=100
threads_connected=4
It is possible that mysqld could use up to
key_buffer_size + (record_buffer + sort_buffer)*max_connections =
225791 K
bytes of memory
Hope that's ok, if not, decrease some variables in the equation
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 range sanity check OK, backtrace follows:
0x80bfe74
0x4002f4c7
0x827e98a
0x80fe4d3
0x80ef6f2
0x80c81f6
0x80caca8
0x80c5e54
0x80c5227
Stack trace seems successful - bottom reached
Please read http://www.mysql.com/doc/U/s/Using_stack_trace.html and
follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please
do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x83da8c0 = delete from chump where f1 = 'foo' and f2 =
'bar' and f3 = 'baz'
thd->thread_id=2
Successfully dumped variables, if you ran with --log, take a look at
the
details of what thread 2 did to cause the crash. In some cases of
really
bad corruption, the values shown above may be invalid
The manual page at http://www.mysql.com/doc/C/r/Crashing.html contains
information that should help you find out what is causing the crash
Number of processes running now: 0
011221 15:03:28 mysqld restarted
InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 10556554
011221 15:03:30 InnoDB: Started
/usr/local/mysql/libexec/mysqld: ready for connections
>Fix:
Shorten PK to <= 500 chars.
>Submitter-Id: <submitter ID>
>Originator:
>Organization:
CodeIt Computing
>MySQL support: [none | licence | email support | extended email support ]
>Synopsis: deleting from an InnoDB table with a composite PK > 500 chars crashes
>mysqld
>Severity:
>Priority:
>Category: mysql
>Class:
>Release: mysql-3.23.46 (Source distribution)
>Environment:
System: Linux dev2.codeit.com 2.2.16-22enterprise #1 SMP Tue Aug 22 16:29:32 EDT 2000
i686 unknown
Architecture: i686
Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-85)
Compilation info: CC='gcc' CFLAGS='' CXX='c++' CXXFLAGS='' LDFLAGS=''
LIBC:
lrwxrwxrwx 1 root root 13 Dec 18 10:03 /lib/libc.so.6 -> libc-2.2.4.so
-rwxr-xr-x 1 root root 5725295 Dec 8 07:04 /lib/libc-2.2.4.so
-rw-r--r-- 1 root root 27315960 Dec 8 07:02 /usr/lib/libc.a
-rw-r--r-- 1 root root 178 Dec 8 07:02 /usr/lib/libc.so
lrwxrwxrwx 1 root root 10 Apr 10 2001 /usr/lib/libc-client.a ->
c-client.a
Configure command: ./configure --prefix=/usr/local/mysql --with-berkeley-db
--with-innodb
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php