[EMAIL PROTECTED] writes:
 > Hi ! 
 > 
 > I notice a bug with MySQL 3.23.36 with REPLACE DELAYED which crash my MyISAM 
 > tables.
 > The problem was present in MySQL 3.23.34, but not in 3.23.33 nor 3.23.35.
 > The bug occurs randomly and makes MySQL restart...
 > With REPLACE instead of REPLACE DELAYED, there seems to be no problem.
 > 
 > Here is what MyISAMCHK report :
 > 
 > Checking MyISAM file: online
 > Data records:      96   Deleted blocks:      79
 > myisamchk: warning: Table is marked as crashed
 > - check file-size
 > - check key delete-chain
 > - check record delete-chain
 > myisamchk: error: record delete-link-chain corrupted
 > - check index reference
 > - check data record references index: 1
 > myisamchk: error: Found key at page 2048 that points to record outside 
 > datafile
 > MyISAM-table 'online' is corrupted
 > 
 > 
 > Here is what I use with PHP :
 > 
 > mysql_query("REPLACE DELAYED INTO online (pseudo,date,cat,forum) VALUES 
 > ('$user','$time','$cat','$site')",$dbh) or die( "Erreur 1:".mysql_error());
 > }
 > else
 > {
 > mysql_query("REPLACE DELAYED INTO guest (pseudo,date,forum) VALUES 
 > ('$REMOTE_ADDR','$time','$site')",$dbh) or die( "Erreur:".mysql_error());
 > }
 > $timeold=$time-120;
 > @mysql_query("DELETE FROM online WHERE date < $timeold",$dbh) or die( 
 > "Erreur:".mysql_error());
 > @mysql_query("DELETE FROM guest WHERE date < $timeold",$dbh) or die( 
 > "Erreur:".mysql_error());
 > 
 > Now the online and guest table structure :
 > 
 > CREATE TABLE online (pseudo char(35) NOT NULL,date int(11) unsigned DEFAULT 
 > '0' NOT NULL,cat tinyint(4) unsigned DEFAULT '0' NOT NULL,forum char(35) NOT 
 > NULL,PRIMARY KEY (pseudo),KEY date (date));
 > 
 > CREATE TABLE guest (pseudo char(35) NOT NULL,date int(11) unsigned DEFAULT 
 > '0' NOT NULL,forum char(35) NOT NULL,PRIMARY KEY (pseudo),KEY date (date));
 > 
 > 
 > If I have time I'll try to make a stack trace report...
 > 
 > 
 > ----------------------------------
 > Jocelyn Fournier
 > Presence-PC
 > www.presence-pc.com 

Hi!

We do require a repeatable test case, i.e. table(s) plus set of
commands that always lead to problem, in your case to the crashing of
MySQL.

Also, I hope you have not run myisamchk while MySQL server was
running. You would be better by using CHECK TABLE command instead.


Regards,

Sinisa

      ____  __     _____   _____  ___     ==  MySQL AB
     /*/\*\/\*\   /*/ \*\ /*/ \*\ |*|     Sinisa Milivojevic
    /*/ /*/ /*/   \*\_   |*|   |*||*|     mailto:[EMAIL PROTECTED]
   /*/ /*/ /*/\*\/*/  \*\|*|   |*||*|     Larnaca, Cyprus
  /*/     /*/  /*/\*\_/*/ \*\_/*/ |*|____
  ^^^^^^^^^^^^/*/^^^^^^^^^^^\*\^^^^^^^^^^^
             /*/             \*\                Developers Team

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