Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

2.0.8.4 Update Fail! Blank Page on Utility Update and Utility Structure

aeryaery Gtricks Forum in 2.2 :) ✭✭✭
edited May 2012 in Vanilla 2.0 - 2.8

I tried to update from 2.0.8.1 to 2.0.8.4. Copied and overwrited the files, deleted ini files from cache.

But when running http://forum.gtricks.com/utility/update, it shows blank page. No success no failure information.

The debugger is confusing, and just says

Success: false BodyClass: 'Dashboard Utility update Home'

Then I ran Utility Structure. Even after clicking on button "Run Structure and Data Scripts" and after getting the structure successfully executed, I always get the same things on Rescaning.

The code -
alter table GDN_AnalyticsLocal engine = innodb;

update GDN_User User set 
 Permissions = ''
where Permissions <> '';

alter table `GDN_Tag`  engine = innodb;

alter table `GDN_Log`  engine = innodb;

alter table `GDN_Regarding`  engine = innodb;

alter table `GDN_Ban`  engine = innodb;

alter table `GDN_TagDiscussion`  engine = innodb;

I dont have INNODB engine (hosting provider sucks) and Secondly, for

update GDN_User User set Permissions = '' where Permissions <> '';

I dont have user row in GDN_User table.

Absurd!

So, if these queries doesnt run that means I can never update my vanilla properly?

There was an error rendering this rich post.

Best Answer

Answers

  • You may be stuck moving to another provider that supports innodb.

    Did you try searching for innodb and replacing it with MyISAM.

    You may be out of luck - I think Innodb supports a few features that MyIsam can't and even if you change the engine successfully everywhere - some tranaction rollback or searches might not work - just a guess.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • UnderDogUnderDog MVP
    edited May 2012

    Thanks for opening this topic :-)

    So in that other thread : http://vanillaforums.org/discussion/comment/158738/#Comment_158738 we figured that your hosting provider doesn't support InnoDB


    Now it's time to figure out to either stay with this hosting provider or find a new one...
    I still cannot believe you don't have a GDN_User table. How do your users log in then? :-)

    The code -

    alter table `GDN_AnalyticsLocal`  engine = innodb;
    
    alter table `GDN_Tag`  engine = innodb;
    
    alter table `GDN_Log`  engine = innodb;
    
    alter table `GDN_Regarding`  engine = innodb;
    
    alter table `GDN_Ban`  engine = innodb;
    
    alter table `GDN_TagDiscussion`  engine = innodb;
    

    Is only to change the type of the tables, the engine, so you can hack your version a little and continue to work with 2.0.18.4 or figure out which hosting provider does support InnoDB (easy!) and which is better than your current one.

    I also see that the prefix in the code is 'GDN' and maybe in the database the prefix for the tables is 'Gdn', so that could be something to look into too :-)

    There was an error rendering this rich post.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    @peregrine I have enquired and found out that most of the providers dont support it. That engine is very resource savvy and sharing hosting providers cant afford it.

    @Underdog thanks to you. I do have GDN_User table but not User column on it. May be I am failing to understand the SQL query -
    update GDN_User User set Permissions = '' where Permissions <> ''
    which I suppose asks to set default permissions as blank and I already have them.

    There was an error rendering this rich post.

  • @Underdog thanks to you. I do have GDN_User table but not User column on it.

    That's fine. The Update query wants to update the 'Permissions' column, the 'User' text you see there is an alias and you don't need it. This query should also work in your phpMyAdmin:

    update GDN_User set Permissions = '' where Permissions <> ''

    It is only an update statement and it's not really necessary until you have your new host which InnoDB support :-)

    I know a good host which is specialized in Vanilla Forums :-D

    There was an error rendering this rich post.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭
    edited May 2012

    @underdog tell me, tell me.

    I have already run the query. But it still shows the same things upon rescaning or from utility structure.

    There was an error rendering this rich post.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    @UnderDog good one.

    But I dont have enough money :(

    There was an error rendering this rich post.

  • I think there are some other hosts that were mentioned, but I don't know their names & urls. See if there's a host with InnoDB support and read their reviews.


    So setting the engine to InnoDB gives you a blank page. If you want to avoid that and still set your database version to 2.0.18.4 you have to hack your core files a little...

    Maybe a strange list, but here is a list (old? Maintained?) of hosting providers, their PHP / MySQL version and their Url. Maybe it will help. If you've found a new host, for example 1&1 (no!) or DreamHost, just search on the forum if there were topics concerning that host, mentioning that host, etc.

    There was an error rendering this rich post.

  • Any cheap host has innodb, however if you really don't want innodb then you can switch the schema

    update GDN_User User is not referring to a column

    you could run

    update GDN_User set Permissions = '' where Permissions <> ''

    grep is your friend.

  • innodb is generally better where writes are high, MyISAM work for mainly reads.

    grep is your friend.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    So, I am assuming that its alright for structure until now since everything is working fine with MyISAM.

    But what about utility/update?

    I get a blank page and debugger proved very little help. At the end, there is just
    Controller Data
    Success: false
    BodyClass: 'Dashboard Utility update Home'

    Does this mean, I will never be able to update vanilla?

    There was an error rendering this rich post.

  • peregrineperegrine MVP
    edited May 2012

    here is a list of programs that use - innodb - if you want to experiment change InnoDB to MyISAM in every instance. and then see if utility update works.

    and see if your programs work especially with transaction handling and locking.

    applications/dashboard/settings/structure.php:   ->Engine('InnoDB')
    
    library/vendors/Auth/OpenID/MySQLStore.php:            ") ENGINE=InnoDB";
    library/database/class.mysqlstructure.php: 
    
    Smarty-manual-en/plugins.resources.html: * ) ENGINE=InnoDB DEFAULT CHARSET=utf8;&lt;/pre&gt;
    Smarty-manual-en/caching.custom.html: * ) ENGINE = InnoDB;&lt;/pre&gt;
    Smarty-manual-en/resources.custom.html:* ) ENGINE=InnoDB DEFAULT CHARSET=utf8;&lt;/pre&gt;
    

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭
    edited May 2012

    I did a text search for InnoDB and these files came up.

    vanilla\library\database\class.mysqlstructure.php
    vanilla\library\vendors\Auth\OpenID\MySQLStore.php
    vanilla\library\database\class.sqldriver.php
    vanilla\applications\vanilla\settings\structure.php
    vanilla\applications\dashboard\settings\structure.php

    Changed InnoDb to MyISAM.

    Deleted cache files.

    Tried to run utility update.

    No Use :(

    There was an error rendering this rich post.

  • I'm all out of ideas. sorry none of them worked for you.
    Sounds like you are on a collision course with this update and any future updates.
    which may lead to the inevitable .... (seeking a provider with innodb support).

    They changed to innodb for a reason. It handles transactions better and table locking I believe.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    @peregrine thanks for the try.

    I think I am not the only one on shared hosting with no innodb support. And I am surprised to see no one else faced blank utility update problem.

    There was an error rendering this rich post.

  • aery said:
    No Use :(

    I need a little bit more information than that man :-) Still blank page? Still message fatal error? Screenshot?


    I agree with peregrine

    There was an error rendering this rich post.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    @UnderDog, not exacly blank page but blue background with a line. - i.imgur.com/2y072.png

    And the utility structure gives me same queries again and again despite successful run - i.imgur.com/uRqh1.png

    I am working with 2.0.18.4 and will enable debugger to show everything at your convenient timings.

    If you need admin access, I can also give you that.

    There was an error rendering this rich post.

  • aery said:
    @UnderDog, not exacly blank page but blue background with a line. - i.imgur.com/2y072.png

    Perrrrfect. I love challenges!

    And the utility structure gives me same queries again and again despite successful run - i.imgur.com/uRqh1.png

    Don't worry about that. It's probably a minor bug. Because of the problems with setting the tables to InnoDB the DB version isn't updated, therefore all the SQL queries needed to update to a new version are shown :-)

    I am working with 2.0.18.4 and will enable debugger to show everything at your convenient timings.

    Yep, we'll see... We should find a match in timings between your country and Europe (Amsterdam time, GMT +1 I Believe)

    If you need admin access, I can also give you that.

    Not yet. I might have time saturday though, if we cannot find new answers till then.

    There was an error rendering this rich post.

  • aeryaery Gtricks Forum in 2.2 :) ✭✭✭

    Not yet. I might have time saturday though, if we cannot find new answers till then.

    Anytime you say. I am all yours :)

    There was an error rendering this rich post.

Sign In or Register to comment.