• Welcome to Simple Machines Community Forum. Please login or sign up.
December 06, 2021, 12:06:50 AM

News:

SMF 2.0.18 has been released! Please update. Read more.


smf_mail_queue' is marked as crashed and last (automatic?) repair failed

Started by taysys, July 31, 2020, 10:55:45 PM

Previous topic - Next topic

taysys

Using version 2.0.15.
When anybody tries to send a PM the following error comes up:

smf_mail_queue' is marked as crashed and last (automatic?) repair failed
File: /var/www/humboldttuna/smf/Sources/ScheduledTasks.php
Line: 931

but they message is sent and received.

Now I see that it loops logging this error every minute.  I have to delete the error log daily as it has 100's of pages.

I've tried to go through phpMyAdmin to fix the table but it fails. So I delete it and it get recreated and starts logging the same message.

What to do??

Thank you in advance.
Bob
Bob
Taysys Software Owner/Developer
Humboldt Tuna Club Web Admin

vbgamer45

How are you deleting the table in phpmyadmin?
And then rerunning the create table to rebuild smf_mail_queue
Community Suite for SMF - Take your forum to the next level built for SMF, Gallery,Store,Classifieds,Downloads,more!

SMFHacks.com -  Paid Modifications for SMF

Mods:
EzPortal - Portal System for SMF
SMF Gallery Pro
SMF Store SMF Classifieds Ad Seller Pro

taysys

It will not allow me to do a repair as that message comes up and dumps me out.  So I believe (I haven't done this in a while; just putting up with it) I try to do a drop.  So it either do the drop or the program recreates the table.  The table is also marked as "in use."

Thanks.
Bob
Bob
Taysys Software Owner/Developer
Humboldt Tuna Club Web Admin

Sir Osis of Liver

Disable mail queue, you should be able to drop table.  If you can't create clean table, import one from a scratch install.
"The best laid schemes o' mice an' men / Gang aft a-gley." - Robert Burns

vbgamer45

Drop the table then remake as follows

CREATE TABLE smf_mail_queue (
  id_mail int(10) unsigned NOT NULL auto_increment,
  time_sent int(10) NOT NULL default '0',
  recipient varchar(255) NOT NULL default '',
  body text NOT NULL,
  subject varchar(255) NOT NULL default '',
  headers text NOT NULL,
  send_html tinyint(3) NOT NULL default '0',
  priority tinyint(3) NOT NULL default '1',
  private tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (id_mail),
  KEY time_sent (time_sent),
  KEY mail_priority (priority, id_mail)
) ENGINE=MyISAM;
Community Suite for SMF - Take your forum to the next level built for SMF, Gallery,Store,Classifieds,Downloads,more!

SMFHacks.com -  Paid Modifications for SMF

Mods:
EzPortal - Portal System for SMF
SMF Gallery Pro
SMF Store SMF Classifieds Ad Seller Pro

Sir Osis of Liver

"The best laid schemes o' mice an' men / Gang aft a-gley." - Robert Burns

taysys

Thanks much Guys. I'll give this all a shot in the AM when I can get the people off and go into maintenance.

Bob
Bob
Taysys Software Owner/Developer
Humboldt Tuna Club Web Admin

Arantor

@vbgamer making the table as MyISAM with the churn it has is why it crashes, should really use InnoDB. And need to check if the user is using UTF-8 or not to get the correct collation (without matching this up, other bad stuff happens)
No good deed goes unpunished
All helpful urges should be circumvented

vbgamer45

Great points ^^^.  Bob keep those changes in mind. Check your original tables structure. You can run SHOW CREATE TABLE smf_mail_queue

You can change
ENGINE=MyISAM
To
ENGINE= InnoDB


The UTF8 step Arantor is talking about is if your forum was converted or set to UTF8 and it would change the statement to this
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Community Suite for SMF - Take your forum to the next level built for SMF, Gallery,Store,Classifieds,Downloads,more!

SMFHacks.com -  Paid Modifications for SMF

Mods:
EzPortal - Portal System for SMF
SMF Gallery Pro
SMF Store SMF Classifieds Ad Seller Pro

taysys

OK, this is what I have found... since I didn't install the system (plausible deniability) the tables are MyIsam and the collation latin1_swedish_ci.  So can I change this through the myPhpAdmin control panel  (all tables or just the crashed one)?? I assume that I will have to be in Maintenance Mode to keep users out.

When I start messing with a large database in areas where I am not familiar I get a pit in the stomach ;-)

Thanks for all the assistance!

Bob

Bob
Taysys Software Owner/Developer
Humboldt Tuna Club Web Admin

Advertisement: