repeating DB errors

Started by qtime, June 16, 2008, 06:50:16 PM

Previous topic - Next topic

qtime

using smf 1.1.5, MySQL version 5.0.45.\
After a myisamchk -r *.MYI I will have these errors returned, looking for weeks now to solve this problem, please help

[root@server]# myisamchk -s *.MYI
myisamchk: MyISAM file smf_boards.MYI
myisamchk: error: Key 5 doesn't point at same records that key 1
myisamchk: error: Keypointers and record positions doesn't match
MyISAM-table 'smf_boards.MYI' is corrupted
Fix it using switch "-r" or "-o"
myisamchk: MyISAM file smf_log_karma.MYI
myisamchk: error: Key in wrong position at page 3487744
myisamchk: error: Keypointers and record positions doesn't match
MyISAM-table 'smf_log_karma.MYI' is corrupted
Fix it using switch "-r" or "-o"
myisamchk: MyISAM file smf_log_search_words.MYI
myisamchk: error: Key in wrong position at page 8472576
MyISAM-table 'form_log_search_words.MYI' is corrupted
Fix it using switch "-r" or "-o"
myisamchk: MyISAM file smf_messages.MYI
myisamchk: error: Found duplicated key at page 33542144
myisamchk: error: Keypointers and record positions doesn't match
MyISAM-table 'smf_messages.MYI' is corrupted
Fix it using switch "-r" or "-o"

qtime

the find and repair errors in the maintenance screen of smf will go white after step 17.

qtime

how to found:
Found duplicated key at page 33542144
manually in the smf_messages table?

青山 素子

The the table is corrupt, why not do what the myisamcheck tool suggests and do a repair with the -o switch?

The documentation for MySQL is very handy: MySQL 5.0 Reference Manual :: 4.6.3.3 myisamchk Repair Options
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

thanks for answering,
I tried the smf_messages with -o (the detailed repair version), but after a while (minutes) the table come corrupt again.
changed the db server to another server, to know for sure that is not the problem.

青山 素子

Quote from: qtime on June 19, 2008, 06:35:51 AM
changed the db server to another server, to know for sure that is not the problem.

Tables don't spontaneously corrupt themselves for no reason. SMF just runs normal SQL queries, so there isn't much there to cause a problem. MySQL or the server setup is usually the culprit.

I have specifically seen the problem of random table corruption on older versions of MySQL 5.0 (before 5.0.21), but couldn't track the cause down.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

#6
[Sun Jun 15 04:11:02 2008] [notice] Apache/2.2.8 (Unix) DAV/2 PHP/5.2.6 mod_python/3.3.1 Python/2.5.1 mod_ssl/2.2.8 OpenSSL/0.9.8b mod_perl/2.0.3 Perl/v5.8.8 configured -- resuming normal operations
zend_mm_heap corrupted

delete a lot of duplicate errors here
[Thu Jun 19 17:30:20 2008] [notice] child pid 17931 exit signal Segmentation fault (11)
[Thu Jun 19 17:30:43 2008] [notice] child pid 18282 exit signal Segmentation fault (11)
[Thu Jun 19 17:31:07 2008] [notice] child pid 18306 exit signal Segmentation fault (11)
[Thu Jun 19 17:31:20 2008] [notice] child pid 18302 exit signal Segmentation fault (11)
[Thu Jun 19 17:31:20 2008] [notice] child pid 18333 exit signal Segmentation fault (11)
[Thu Jun 19 17:31:24 2008] [notice] child pid 18307 exit signal Segmentation fault (11)
[Thu Jun 19 17:32:16 2008] [notice] child pid 18264 exit signal Segmentation fault (11)
[Thu Jun 19 17:45:15 2008] [notice] child pid 18780 exit signal Segmentation fault (11)
[Thu Jun 19 17:45:22 2008] [notice] child pid 18479 exit signal Segmentation fault (11)
[Thu Jun 19 17:45:37 2008] [notice] child pid 18812 exit signal Segmentation fault (11)
[Thu Jun 19 17:45:53 2008] [notice] child pid 18827 exit signal Segmentation fault (11)
[Thu Jun 19 17:46:00 2008] [notice] child pid 18828 exit signal Segmentation fault (11)

so maybe someone knows how to fix this: zend_mm_heap corrupted

PHP 5.2.6 (cli) (built: May  8 2008 08:38:47)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

Maybe it has something to do with eAccelerator?

青山 素子

You could try to disable eAccelerator and see. If it is installed as a Zend extension, then it could be causing the corruption leading to the segmentation faults.

Also, this would explain the table corruption.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

#8
That would be great, is there a command like service to stop eAccelerator ?
because I could not ; it out in the php.ini file, it is not there....  ::)

I only found:
; Enables or disables eAccelerator. Should be "1" for enabling or
; "0" for disabling. Default value is "1".
eaccelerator.enable = "0"
in eaccelerator.ini file

青山 素子

If you are not sure, you will need to ask your host. You could also search for the extension line that loads it.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

It's my own server, so I will do a search.
disabling it in the .so file will not stop ea...

青山 素子

Quote from: qtime on June 19, 2008, 12:23:06 PM
It's my own server, so I will do a search.
disabling it in the .so file will not stop ea...

It should. If PHP doesn't load the extension, then it doesn't load. How did you install eA?
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

after a second look it's disabled, I checked it with php-ver, but smf was not able to detect, so it's off.

qtime

The child pid 18333 exit signal Segmentation fault (11) errors still continue, so it has nothing to do with eA...
any other advice?

青山 素子

Are you getting core dumps?

Segmentation faults usually indicate something bad with the program in compilation. This could either be a library compiled in, or something in PHP if you are running it as a module. It is also possible that it could be the result of faulty hardware, usually memory.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

For some 1,5 week ago, fc 5 is upgraded to fc 6, 7 and 8.
So I assume this is not a memory problem, but a .so file.

Is it possible to backtrace such an error?

青山 素子

If it is generating core dumps, it is possible. If not, then it will be much more difficult.

By the way, upgrades like that can cause these problems if you are using external mirrors or self-compiled software and it hasn't been updated. Fedora is especially bad because of the rapid update schedule. If you like the RedHat way, CentOS is much more fitting for a server.

Also, if you are using the default Fedora/RH layout, check the /etc/php.d/ directory (iirc). PHP modules are loaded by a config file existing in a directory under there. You can simply move the eAccelerator file out and it won't be loaded at all.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

I found the .ini file, and did put off eA, but still got the errors,
how to make a core dump in fc8 ?

青山 素子

Core dumps are usually generated automatically when a program encounters a segmentation fault. However, I believe Apache HTTPd installs as setuid, so it won't create them. There are some instructions on configuring Apache to generate core dumps in Linux that might be helpful.

Going into how to read these things and use them to troubleshoot is a little beyond the scope of the issue and can get involved, however. You might want to do some reading on how to trace the dumps. It is very difficult to have someone else check the dumps on a different machine since the debugger will need the exact binaries on the system that generated the dump.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


qtime

ok, very usefull link, I will try to install it and see the result.
Thanks for your help!

Advertisement: