>Description:
        When I run a MATCH query against a full-text index using the "IN BOOLEAN MODE" 
option, the mysqld server 
crashes.
>How-To-Repeat:
        see the information below
>Fix:
        I haven't figured it out yet.

>Submitter-Id:  none
>Originator:    Owen Borseth
>Organization:  SnapNames.com, Inc.
>MySQL support: none
>Synopsis:      mysqld dies on MATCH query using IN BOOLEAN MODE
>Severity:      serious
>Priority:      high
>Category:      mysql
>Class:         bug
>Release:       mysql-4.0.1-alpha (Official MySQL binary)

>Environment:
        Dual P-III 1GHz
System: Linux windmill 2.4.17 #3 SMP Wed Feb 27 12:10:33 PST 2002 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-slackware-linux/2.95.3/specs
gcc version 2.95.3 20010315 (release)
Compilation info: CC='gcc'  CFLAGS='-O3 -mpentium '  CXX='gcc'  CXXFLAGS='-O3 
-mpentium  -felide-constructors'  LDFLAGS='-static'
LIBC: 
lrwxrwxrwx    1 root     root           13 Dec 17 10:54 /lib/libc.so.6 -> libc-2.2.3.so
-rwxr-xr-x    1 root     root      4783716 May 25  2001 /lib/libc-2.2.3.so
-rw-r--r--    1 root     root     24721042 May 25  2001 /usr/lib/libc.a
-rw-r--r--    1 root     root          178 May 25  2001 /usr/lib/libc.so
Configure command: ./configure  --prefix=/usr/local/mysql '--with-comment=Official 
MySQL binary' --with-extra-charsets=complex --with-server-suffix= 
--enable-thread-safe-client --enable-assembler --with-mysqld-ldflags=-all-static 
--with-client-ldflags=-all-static --disable-shared

Here is the stack:

0x807db7f
0x823d64a
0x821c6de
0x8053a68
0x80555bc
0x804a979
0x8075afe
0x80a6e5c
0x80a65f5
0x80a6373
0x809f5e4
0x80ac1c0
0x8085b4b
0x808a262
0x8084e57
0x808a694
0x8084296

Here is the test DB schema I was using:

mysql> desc test;
+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| id     | int(11)      |      | PRI | NULL    | auto_increment |
| string | varchar(255) | YES  | MUL | NULL    |                |
+--------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

Here is what is in the table:

mysql> select * from test;
+----+----------------------------------------+
| id | string                                 |
+----+----------------------------------------+
|  1 | this is a test of the emergency system |
|  2 | this is a big fat test                 |
|  3 | test                                   |
|  4 | testing 123                            |
|  5 | happy cow hand                         |
|  6 | I wish I had a horse                   |
|  7 | there is a pig in the bushes           |
|  8 | there is a pig in the car              |
+----+----------------------------------------+
8 rows in set (0.00 sec)

Here is the query I ran:

select *, match (string) against ('there is a pig' IN BOOLEAN MODE) as score from test;

Here is the message that I got after I ran the query:

ERROR 2013: Lost connection to MySQL server during query

Here is the message in the error log:

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 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=16773120
record_buffer=131072
sort_buffer=524280
max_used_connections=0
max_connections=100
threads_connected=1
It is possible that mysqld could use up to
key_buffer_size + (record_buffer + sort_buffer)*max_connections = 80379 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:
0x807db7f
0x823d64a
0x821c6de
0x8053a68
0x80555bc
0x804a979
0x8075afe
0x80a6e5c
0x80a65f5
0x80a6373
0x809f5e4
0x80ac1c0
0x8085b4b
0x808a262
0x8084e57
0x808a694
0x8084296
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. Re$
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 0x841e538 = select *, match (string) against ('there is a pig' IN 
BOOLEAN MODE) as score from test
thd->thread_id=1

Successfully dumped variables, if you ran with --log, take a look at the
details of what thread 1 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
020314 14:21:23  mysqld restarted
020314 14:21:23  InnoDB: Started
/usr/local/mysql-4.0.1-alpha-pc-linux-gnu-i686/bin/mysqld: ready for connections

Here is what is in my log file:

Tcp port: 0  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
020314 14:21:21       1 Connect     root@localhost on test
                      1 Query       select *, match (string) against ('there is a 
pig') as score from test
020314 14:21:22       1 Query       select *, match (string) against ('there is a 
pig') as score from test
020314 14:21:23       1 Query       select *, match (string) against ('there is a pig' 
IN BOOLEAN MODE) as score from 
test
/usr/local/mysql-4.0.1-alpha-pc-linux-gnu-i686/bin/mysqld, Version: 4.0.1-alpha-log, 
started with:
Tcp port: 0  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument


---------------------------------------------------------------------
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

Reply via email to