>Description:
        mysql crashes with the following stack trace:
        0x807db7f handle_segfault__Fi + 383
        0x823d60a pthread_sighandler + 154
        0x8204407 _mi_compare_text + 71
        0x821bb96 _mi_ft_cmp + 158
        0x820bb01 mi_update + 721
        0x80d07ef update_row__9ha_myisamPCcPc + 67
        0x80b0439
        
mysql_update__FP3THDP13st_table_listRt4List1Z4ItemT2P4ItemP8st_orderUl15enum_duplicates13thr_lock_type
        + 2473
        0x8086da7 mysql_execute_command__Fv + 5723
        0x808a222 mysql_parse__FP3THDPcUi + 270
        0x8084e17 dispatch_command__F19enum_server_commandP3THDPcUi +
        1319
        0x808a654 do_command__FP3THD + 88
        0x8084256 handle_one_connection__FPv + 546

When executing:

UPDATE test.user SET realname='bar' WHERE userid='312362'

Note that test.user has a fulltext index and realname is a field that
is part of the fulltext index.

>How-To-Repeat:

Create the following table in database test:

-- MySQL dump 8.19
--
-- Host: utility1    Database: tums
---------------------------------------------------------
-- Server version       4.0.1-alpha-log

--
-- Table structure for table 'user'
--

DROP TABLE IF EXISTS user;
CREATE TABLE user (
  userid int(10) unsigned NOT NULL auto_increment,
  name varchar(64) NOT NULL default '',
  passwd varchar(64) default NULL,
  email varchar(64) NOT NULL default '',
  active enum('Y','N') default 'Y',
  homedir varchar(64) default NULL,
  pwtype int(10) unsigned NOT NULL default '0',
  realname varchar(64) default NULL,
  address varchar(128) default NULL,
  city varchar(64) default NULL,
  state varchar(32) default NULL,
  zip varchar(16) default NULL,
  country varchar(16) default NULL,
  homePhone varchar(20) default NULL,
  workPhone varchar(20) default NULL,
  pastOrders tinyint(1) default '0',
  uid smallint(2) unsigned default NULL,
  gid smallint(2) unsigned default NULL,
  shell varchar(64) default NULL,
  address2 text,
  PRIMARY KEY  (userid),
  UNIQUE KEY email (email),
  UNIQUE KEY uniqueName (name),
  KEY name (name),
  FULLTEXT KEY realname (realname,email,name),
  KEY realname_2 (realname)
) TYPE=MyISAM PACK_KEYS=1;

/*!40000 ALTER TABLE user DISABLE KEYS */;

--
-- Dumping data for table 'user'
--


LOCK TABLES user WRITE;
INSERT INTO user VALUES 
(312362,'[EMAIL PROTECTED]','xxwnyPLtjWEg6','[EMAIL PROTECTED]','Y','',1,NULL,'PO Box 
243','Topock','AZ','86436','US',NULL,NULL,0,NULL,NULL,NULL,NULL);

/*!40000 ALTER TABLE user ENABLE KEYS */;
UNLOCK TABLES;


execute

        UPDATE test.user SET realname='bar' WHERE userid='312362'

and watch mysql crash.

>Fix:

>Submitter-Id:  <submitter ID>
>Originator:    Mike Wexler
>Organization:
 
>MySQL support: licence 
>Synopsis:      4.01 crashes when updating field in fulltext index
>Severity:      critical
>Priority:      high 
>Category:      mysql
>Class:         sw-bug
>Release:       mysql-4.0.1-alpha (Official MySQL RPM)

>Environment:
        
System: Linux noritake.tias.com 2.4.2-2smp #1 SMP Sun Apr 8 20:21:34 EDT 2001 i686 
unknown
Architecture: i686

Some paths:  /usr/bin/mh/perl /usr/bin/mh/make /usr/bin/mh/gmake /usr/bin/mh/gcc 
/usr/bin/mh/cc
GCC: Reading specs from /usr/bin/mh/../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='-O6 -fno-omit-frame-pointer -mpentium'  CXX='gcc'  
CXXFLAGS='-O6 -fno-omit-frame-pointer              -felide-constructors 
-fno-exceptions -fno-rtti -mpentium'  LDFLAGS=''
LIBC: 
lrwxrwxrwx    1 root     root           13 Jan 29 16:56 /lib/libc.so.6 -> libc-2.2.4.so
-rwxr-xr-x    1 root     root      5723311 Dec  8 06:04 /lib/libc-2.2.4.so
-rw-r--r--    1 root     root     27314296 Dec  8 06:02 /usr/lib/libc.a
-rw-r--r--    1 root     root          178 Dec  8 06:02 /usr/lib/libc.so
Configure command: ./configure  --disable-shared --with-mysqld-ldflags=-all-static 
--with-client-ldflags=-all-static --without-berkeley-db --with-innodb 
--enable-assembler --with-mysqld-user=mysql 
--with-unix-socket-path=/var/lib/mysql/mysql.sock --prefix=/ 
--with-extra-charsets=complex --exec-prefix=/usr --libexecdir=/usr/sbin 
--sysconfdir=/etc --datadir=/usr/share --localstatedir=/var/lib/mysql 
--infodir=/usr/info --includedir=/usr/include --mandir=/usr/man --with-embedded-server 
--enable-thread-safe-client '--with-comment=Official MySQL RPM'


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