PDA

View Full Version : Fatal error when updating ISPConfig


gkovacs
28th June 2009, 15:46
I am running ISPConfig 3.0.1. Trying to upload to the latest stable version produces the following error:

>> Update

Operating System: Debian Lenny/Sid or compatible

This application will update ISPConfig 3 on your server.
MySQL root password []: xxxxxxxxxxx


Fatal error: Cannot use string offset as an array in /root/ispconfig3_install/install/update.php on line 148
root@ispconfig:~/ispconfig3_install/install#

I'm running Ubuntu 8.04, kept fresh via apt. I have successfully updated ISPConfig before.
Any idea what may cause this?

gkovacs
28th June 2009, 20:43
Also since the failed update, I can't login into any of the FTP's nor the ISPConfig webinterface.

What to do now?

till
28th June 2009, 20:45
Did you had a released version installed or a svn version?

Check your database with phpmyadmin, if its empty then restore the bakup that you find in the root folder.

gkovacs
28th June 2009, 21:00
First of all, I don't know what kind of version I had, apart from it being 3.0.1

My ISPConfig DB seems to be empty. I can't believe how you guys let me download and execute a MINOR version update that is able to fuck up my entire sytem without any warning. This is entirely unacceptable even for free software.

Now I have several backups:

- I have full system (VPS) backup for both the MySQL and the ISPConfig host
- I have ispconfig_db_backup since the last update, but it's 2 months old

Questions about how to proceed:

1. If I restore yesterday's MySQL DB and ISPConfig files (effectively undoing this entire failed update), how can I update to the latest version?

2. If I restore only the MySQL DB from yesterday, won't the update kill it again?

3. What can I do with the 2 month old ispconfig_db_backup?

till
28th June 2009, 21:09
My ISPConfig DB seems to be empty. I can't believe how you guys let me download and execute a MINOR version update that is able to fuck up my entire sytem without any warning. This is entirely unacceptable even for free software.

Thats a good question and before blaming us you should try to answer the question if you had a developemnt release installed before or not. We had already very many succesful updates and the only possible reason for your problem is that you did not had a stable version installed.

1+2) That depends on the answer which question you had installed before. How many database tables contains your backup?

3) About which backup are you talking?

gkovacs
28th June 2009, 21:15
Thats a good question and before blaming us you should try to answer the question if you had a developemnt release installed before or not.

I'm not sure, but I MIGHT HAVE had the SVN version before. Is there a way to find this out for sure? (I have trunk folders in root/, so possibly SVN)

1+2) That depends on the answer which question you had installed before. How many database tables contains your backup?

The corrupted database (that was fucked up by the update) contains 44 tables.

3) About which backup are you talking?

I have these from my 2 previous updates, but they are way too old, I have many new sites and clients in my setup.

-rwx------ 1 root root 112971 Mar 10 07:26 ispconfig_db_backup_2009-03-10_07-26.sql
-rwx------ 1 root root 118113 Apr 10 03:37 ispconfig_db_backup_2009-04-10_03-37.sql

gkovacs
28th June 2009, 22:31
Alright, I've restored the database from a backup, so essentially I've went back to ISPConfig 3.0.1 (probably SVN) version.
The database has 54 tables.

So how can I upgrade this to the latest version (so that logrotate would work)?

Your download/info page has no specific information to SVN users.

till
29th June 2009, 00:00
Your version is definately a svn version and the update failed because it contains more database tables then the stable releases. There are 2 options:

a) Update always to svn revisions and do not install stable releases.
b) Execute the following commands in the ispconfig mysql database:

[code]DROP TABLE IF EXISTS `billing_invoice`;
DROP TABLE IF EXISTS `billing_product`;
DROP TABLE IF EXISTS `billing_service`;
DROP TABLE IF EXISTS `billing_service_class`;
DROP TABLE IF EXISTS `billing_tax`;
DROP TABLE IF EXISTS `client_address_book`;
DROP TABLE IF EXISTS `domain`;
DROP TABLE IF EXISTS `domain_handle`;
DROP TABLE IF EXISTS `domain_provider`;
DROP TABLE IF EXISTS `domain_tld`;[code]

and then try the stable update again.

I recommend that you use option b)

Your download/info page has no specific information to SVN users.

Thats correct, as we do not offer svn versions for download.

gkovacs
29th June 2009, 01:32
I have dropped the tables and updated ISPConfig with the stable version. This time there were no errors.

You might want to check in the update script if a user wants to upgrade a development version to the stable, and warn him before he bricks his installation.

Thanks for the help.