5 messages in com.mysql.lists.bugsmyisamchk core dump and cleanup proce...| From | Sent On | Attachments |
|---|---|---|
| Martin MOKREJŠ | 20 Nov 2001 09:28 | |
| Sasha Pachev | 20 Nov 2001 10:34 | |
| Martin MOKREJŠ | 20 Nov 2001 10:46 | |
| Martin MOKREJŠ | 21 Nov 2001 07:01 | |
| Michael Widenius | 21 Nov 2001 07:07 |
| Subject: | myisamchk core dump and cleanup procedure![]() |
|---|---|
| From: | Martin MOKREJŠ (mmok...@natur.cuni.cz) |
| Date: | 11/20/2001 09:28:43 AM |
| List: | com.mysql.lists.bugs |
Hi,
I think I've posted this to you recently, but am not sure:
[mysql-3.23.44]$ /usr/local/mysql/bin/myisamchk --unpack
/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.MYI
- recovering (with sort) MyISAM-table
'/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.MYI'
Data records: 2585
/usr/local/mysql/bin/myisamchk: error: Can't create new tempfile:
'/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.TMD'
MyISAM-table '/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.MYI'
is not fixed because of errors
Try fixing it by using the --safe-recover (-o) or the --force (-f) option
[mysql-3.23.44]$ ls -la
/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.*-rw-rw---- 1
mysql mysql 74009800 Nov 17 23:23
/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.MYD
-rw-rw---- 1 mysql mysql 1024 Nov 20 20:14
/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.MYI
-rw-rw-r-- 1 mysql mysql 158398476 Nov 20 18:12
/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.TMD
-rw-rw---- 1 mysql mysql 8744 Nov 15 13:28
/home/mysql/MtuberculosisUpdateFrishmanDoNotDelete/blast_data.frm
[mysql-3.23.44]$
The reason is that the blast_data.TMD file already exists. I know that if the program dumps, then it cannot perform the usual cleanup, however next time myisamchk runs it could tell the user that there're some leftover after previous runs. Removing the .TMD file and re-running myisamchk --unpack does:
[....]
Found wrong record at 74009213
Found wrong record at 74009293
Found wrong record at 74009417
Found wrong record at 74009503
Found wrong record at 74009590
Found wrong record at 74009647
Couldn't read whole record from 74009753
/usr/local/mysql/bin/myisamchk: warning: Duplicate key for record at 112912560
against record at 0
Segmentation fault (core dumped)
[/tmp]$ file ./core
./core: ELF 32-bit LSB core file of 'myisamchk' (signal 11), Intel 80386,
version 1
[/tmp]$ gdb /usr/local/mysql/bin/myisamchk ./core
GNU gdb 19991004
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...(no debugging symbols found)...
Core was generated by `/usr/local/mysql/bin/myisamchk --unpack
/home/mysql/MtuberculosisUpdateFrishman'.
Program terminated with signal 11, Segmentation fault.
#0 0x0 in ?? ()
(gdb) where
#0 0x0 in ?? ()
#1 0x80601fd in ?? ()
#2 0x805fd65 in ?? ()
#3 0x8062817 in ?? ()
#4 0x8061e70 in ?? ()
#5 0x805e29a in ?? ()
#6 0x80490e5 in ?? ()
#7 0x8048209 in ?? ()
#8 0x807c66b in ?? ()
(gdb) quit
[/tmp]$
How-To-Repeat: I use linux 2.2.19 with mysql-3.23.44-pc-linux-gnu-i686.tar.gz.
Any ideas?
-- Martin Mokrejs - PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs MIPS / Institute for Bioinformatics <http://mips.gsf.de> GSF - National Research Center for Environment and Health Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany tel.: +49-89-3187 3616 , fax: +49-89-3187 3585




