Support

Admin Tools

#14563 Fatal error after AT Pro update install.

Posted in ‘Admin Tools for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
n/a
PHP version
n/a
Admin Tools version
n/a

Latest post by nicholas on Monday, 07 January 2013 01:37 CST

nemmar

Mandatory information about my setup:   Have I read the related troubleshooter articles above before posting (which pages?)? Yes  Have I searched the tickets before posting? Yes  Have I read the documentation before posting (which pages?)? Yes, GeoIP  Joomla! version: 2.5.8  PHP version: 5.3.19  MySQL version: 5.5.27-cll  Host: dedicated server  Admin Tools version: 2.4.4    Description of my issue:  Nicholas,

I installed the AT Pro extension update on my sites. One of the sites has a problem that I can't solve due to the update. I get the following error message now when I try to view the site in the fronted/backend:

Fatal error:  error traversing database - perhaps it is corrupt? in /home2/nemmar04/public_html/administrator/components/com_admintools/helpers/geoip.php on line 460

I use the GeoBlock feature on my sites since it has helped a lot to block the spammer/hacker bots. Can you tell me what I need to change/edit to fix this problem? I don't know why the AT Pro update worked fine with my other sites since they all have the same extensions.

Thanks for any advice.

nicholas
Akeeba Staff
Manager

Most likely your GeoIP database file got corrupt for some other, unrelated reason. Here's how to fix this:

  • Find the plugins/system/admintools directory and rename it to admintools-bak
  • Log in to your site's back-end
  • Go to Components, Admin Tools, Web Application Firewall, Geographic Blocking and click on Update GeoIP.dat
  • Rename the plugins/system/admintools-bak directory back to plugins/system/admintools

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

nemmar

Nicholas,

I followed your steps but I still get the same error message. Do you have any other suggestions?

I just used the Akeeba Backup Restore Points to restore the AT Pro extension to the status before I installed the 2.4.4 update. So now I have AT Pro version 2.4.3 installed again. What should I do to update to AT Pro 2.4.4 now so I don't get this fatal error when I update the GeoData?

You Akeeba Restore Points worked great to rollback that extension update!! I'm glad I had that enabled so I could get my site frontend back online.

nicholas
Akeeba Staff
Manager

Your account of what happened doesn't add up. The error message you mentioned is: 

Fatal error:  error traversing database - perhaps it is corrupt? in /home2/nemmar04/public_html/administrator/components/com_admintools/helpers/geoip.php on line 460

This file has not been modified for ages. Namely, the last change was on January 27th, 2011 when it was added for the first time in Admin Tools.

Furthermore, Admin Tools does not ship with GeoIP.dat for several months now.

Upgrading Admin Tools from 2.4.3 to 2.4.4 does not modify the geoip.php file and does not modify the GeoIP.dat database. As a result, whatever issue that is, it is not related to Admin Tools. The only thing which could possibly happen is a permissions issue in the administrator/components/com_admintools/assets/geoip folder where the GeoIP.dat file is stored when you download it.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

nemmar

Nicholas,

Okay, so should I run the Fix Permissions feature of AT Pro to fix all the file/folder permissions on the site and then update the GeoIP data again?

What setting should the permissions be in the administrator/components/com_admintools/assets/geoip folder where the GeoIP.dat file is stored?

With the rollback to AT Pro 2.4.3 the sites are working again (I have this problem with 2 of my sites now) and I still have GeoBlocking enabled.

I also emailed my dedicated server hosting support to ask them to replace/reinstall the PHP GeoIP Library as you mentioned in the prior post that could be what is corrupted since AT Pro does not change that.

I know the problem can't be Admin Tools because my other sites are working fine after the update to 2.4.4 and when I updated the GeoIP data file.

Thanks for any advice.

nicholas
Akeeba Staff
Manager

Okay, so should I run the Fix Permissions feature of AT Pro to fix all the file/folder permissions on the site and then update the GeoIP data again?

Yes, I would say give it a go. If it still doesn't work, try disabling the plugin by renaming the folder, run the Fix Permissions, check that the permissions changed (e.g. with an FTP programme) and then rename back the folder.

What setting should the permissions be in the administrator/components/com_admintools/assets/geoip folder where the GeoIP.dat file is stored?

0755 should suffice. The file itself needs at least 0444 permissions with 0644 being ideal.

With the rollback to AT Pro 2.4.3 the sites are working again (I have this problem with 2 of my sites now) and I still have GeoBlocking enabled.

And I can't understand why for two reasons. The first is that the code involved wasn't modifed at all between 2.4.3 and 2.4.4. The other reason is that, to the best of my knowledge, no other site exhibits the same behaviour :s

I also emailed my dedicated server hosting support to ask them to replace/reinstall the PHP GeoIP Library as you mentioned in the prior post that could be what is corrupted since AT Pro does not change that.

Most likely I was wrong about that. Reading your error message again I can see that the error message comes from the geoip.php file which hasn't been modified since it was first introduced in Admin Tools.

I know the problem can't be Admin Tools because my other sites are working fine after the update to 2.4.4 and when I updated the GeoIP data file.

Yes, that's part of the weirdness of the situation! Don't you love software debugging? Part science, part voodoo, part stiff drinks and swearing at the computer all the way ;)

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

nemmar

Nicholas,

I think I figured out what is causing the fatal error problems. I checked the file:

administrator/components/com_admintools/assets/geoip/GeoIP.dat

On the sites where I am getting the fatal error, I opened that GeoIP.dat file and it has the following text:

403 Forbidden. Rate limited exceeded, please try again in 24 hours.

1) Is there a limit to how often you can update the GeoIP.dat file in Admin Tools? If yes, do you know what the limits are?

2) Should I just update the GeoIP.dat file in one of my sites and then copy/paste that file into all my other sites so I'm only downloading one file from the GeoIP service, instead of 15 updates?

My guess is that my server IP was blocked by the GeoIP update service because I have 15 sites and I update extensions at the same time.

Thanks for any advice.

nicholas
Akeeba Staff
Manager

Ah, that explains it! Mystery solved :) You tried updating the GeoIP database on too many sites sharing the same IP and MaxMind blocked your IP. No problem! You can do a manual update of the GeoIP database. The instructions are here https://www.akeebabackup.com/documentation/admin-tools/waf-geoblock.html under the "Getting or updating the IP database" header.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!