HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Vanilla 2021.009 update errors

Did the update on a clone version of an existing site and things did not go well.

First it seems that Themes are in a different place and causing issues. Had to change default to keystone in config.

Second custom locales cause issues. Had to delete all custom locales from the 'locales' directory and update config to use 'en' so I could access the Locales page in Dashboard.

And no matter what I do I can not access the plugins page at all in Dashboard. Here are what the error.log has. The third error is repeated dozens of times.

[20-May-2021 14:18:38 UTC] PHP Warning: Duplicate addon: keystone in /home/xxk/public_html/forum-test/library/Vanilla/AddonManager.php on line 405

[20-May-2021 14:18:38 UTC] PHP Warning: Duplicate addon: theme-boilerplate in /home/xxk/public_html/forum-test/library/Vanilla/AddonManager.php on line 405

[20-May-2021 14:18:49 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

After removing all Themes from the /themes/ directory I was able to get the Themes page to display the popup to update the cache. It was clicked then after that the same popup displayed "Unknown column 'Visible' in 'where clause'"

I am at a loss as to what to do to get to my plugins page. ALL plugins have been set to false in config.

Comments

  • BleistivtBleistivt Moderator

    Try deleting cache/addon.php

  • edited May 2021

    I followed all the instructions to update which include deleting all files except .htaccess twice in /cache

    I also did this again several times after and it had no effect.

    Yesterday afternoon I re-cloned my forum, disabled all plugins, disabled applications, deleted /dist, deleted /cache (twice), deleted themes from /themes that were duplicated in /addons/themes (this is needed to avoid errors) but left two locale directories in /locales then ran the update again.

    I can not access Locales or Plugins in the Dashboard. This is the error message:

    Something has gone wrong.

    We've run into a problem and are unable to handle this request right now.

    Please check back in a little while.

    If I remove the two directories in /locales then I can access the Locales page in Dashboard. It seems that any locales put in the /locales directory cause an issue!

    I also removed ALL non-native plugins from the /plugin directory, cleared the /cache again and still can not access the Plugin page from the Dashboard!

    This is the error log:

    [20-May-2021 21:15:00 UTC] PHP Warning: Error running structure: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `inser' at line 8 in /home/xxk/public_html/forum-test/applications/dashboard/models/class.updatemodel.php on line 722

    [20-May-2021 21:15:22 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [20-May-2021 21:15:25 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [20-May-2021 21:15:26 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:20:24 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:23:57 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:26:41 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:28:48 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:32:02 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:41:50 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

    [21-May-2021 13:42:14 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/forum-test/library/database/class.database.php on line 517

  • UPDATE

    I did a fresh install of Vanilla 3.3 then did a basic setup to activate the forum. Then I followed the instructions to the letter to update the forum to 2021.009. I checked that ALL requirements for php (7.3) and all necessary extensions are active. This is hosted on Godaddy apache servers.

    The link in my Admin profile to the Dashboard /dashboard/settings/ comes up with "Something has gone wrong...". I have to use the links in the Profile under the Moderation section to access the Dashboard.

    I have not attempted to add any non-native plugins yet as the error log has exactly the same errors on a FRESH update. Clearly there are still some significant flaws that need to be fixed before anyone should use these updates.

    The errors about the Duplicate addon for keystone and theme-boilerplate can only be fixed by deleting them from the /themes directory or the /addons/themes directory.

    [21-May-2021 18:05:32 UTC] PHP Warning: Error running structure: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `inser' at line 8 in /home/xxk/public_html/board/applications/dashboard/models/class.updatemodel.php on line 722

    [21-May-2021 18:05:52 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:05:55 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:07:39 UTC] PHP Warning: Duplicate addon: keystone in /home/xxk/public_html/board/library/Vanilla/AddonManager.php on line 405

    [21-May-2021 18:07:39 UTC] PHP Warning: Duplicate addon: theme-boilerplate in /home/xxk/public_html/board/library/Vanilla/AddonManager.php on line 405

    [21-May-2021 18:07:41 UTC] PHP Warning: Duplicate addon: keystone in /home/xxk/public_html/board/library/Vanilla/AddonManager.php on line 405

    [21-May-2021 18:07:41 UTC] PHP Warning: Duplicate addon: theme-boilerplate in /home/xxk/public_html/board/library/Vanilla/AddonManager.php on line 405

    [21-May-2021 18:08:59 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:09:05 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:09:07 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:09:20 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:10:08 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 18:13:15 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

  • R_JR_J Admin

    Looking at the files in release3.3/themes and release2021.009/addons/themes shows that you are right concerning the themes folder. It should be added that deleting all Vanilla themes from /themes is another step that needs to be taken before uploading release/2021.009 files to your 3.3 installation.

    After that (and after the other files/folders mentioned in the upgrading installation are deleted), you should be able to run /utility/update and if those MySQL errors still show up, try /utility/structure additionally.

  • edited May 2021

    Hey @R_J

    I deleted all themes in the /theme folder except Embedfriendly which I moved into /addons/themes

    I then cleared the /cache folder and ran both /utility/update and /utility/structure (clicking the Run structure & data scripts)

    The link to Dashboard from the Admin profile stills does not work. It wants to go to /dashboard/settings/ which is not a valid page. It needs to go to one of the sections or create a landing (home) page.

    Also the EmbedFriendly theme does not show up in /dashboard/themes and the "update cache" notification never showed. It does show in the /cache/themes/ folder however. Just not on the Themes pages.

    And I uploaded the vf_en_GB locale but it will not activate. It does show in the cache but when activating a message comes up that says Unknown column 'Visible'

    And the error log remains the same after both utility scripts are run....

    [21-May-2021 20:28:36 UTC] PHP Warning: Error running structure: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `inser' at line 8 in /home/xxk/public_html/board/applications/dashboard/models/class.updatemodel.php on line 722

    [21-May-2021 20:29:15 UTC] PHP Warning: Error running structure: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `inser' at line 8 in /home/xxk/public_html/board/applications/dashboard/models/class.updatemodel.php on line 722

    [21-May-2021 20:29:35 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

    [21-May-2021 20:35:53 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517

  • R_JR_J Admin

    Don't move any theme. Delete keystone and theme-boilerplate from the /themes folder. Delete the content of the cache and the dist folder. Copy the new files from 2021.009 to your 3.3 forum.

  • @R_J

    Ok, I moved the Embedfriendly back to the /themes folder and it now shows in /dashboard/themes

    As I mentioned in my comment where I did a NEW install of 3.3 and update I DID delete all files in /cache and /dist then uploaded the 2021.009, then deleted the /cache files again, then ran the update utility. That is where the error log files come from.

    I followed the instructions to the letter!

    The error log still shows the [21-May-2021 20:35:53 UTC] PHP Fatal error: Unknown column 'Visible' in 'where clause' in /home/xxk/public_html/board/library/database/class.database.php on line 517 entry over and over.

    The link to Dashboard still does not work and must use the ones under Moderation.

    And I still have not uploaded any non-native plugins. This is being done on "out-of-the-box" packages.

    I would not dare to update to this version until the errors in the SQL syntax and the "Visible" errors are gone.

  • edited May 2021

    So @Vanillaplus suggested his issue with the 'Visible' error was fixed by running the /utility/structure but when I did this just now the error.log has this:

    [22-May-2021 16:13:28 UTC] PHP Warning: Error running structure: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `inser' at line 8 in /home/xxk/public_html/board/applications/dashboard/models/class.updatemodel.php on line 722

    When I do a "rescan" the same list of changes comes up. Should it have cleared the issues after running "Run structure & data scripts" ?

    I attempted to run the scripts through PhpMyAdmin and this is the error I get...

    SQL query:

    create table `GDN_roleRequestMeta` (
    `roleID` int not null,
    `type` enum('application','invitation') not null,
    `name` varchar(150) not null,
    `body` text not null,
    `format` varchar(10) not null,
    `attributesSchema` text not null,
    `attributes` json null,
    `dateInserted` datetime not null,
    `insertUserID` int not null,
    `insertIPAddress` varbinary(16) null,
    `dateUpdated` datetime null,
    `updateUserID` int null,
    `updateIPAddress` varbinary(16) null,
    primary key (`roleID`, `type`)
    ) engine=innodb default character set utf8mb4 collate utf8mb4_unicode_ci
    

    MySQL said: 


    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null, `dateInserted` datetime not null, `insertUserID` int not null, `in' at line 8

  • R_JR_J Admin

    I just tried to update a fresh Vanilla 3.3 installation to 2021.009 and had no unforeseeable issues.

    1. Ensure you have pretty urls working in your Vanilla 3.3 version. Add $Configuration['Garden']['RewriteUrls'] = true; to your /conf/config.php and your links should be "yourforum.com/discussion/1/the-title" instead of "yourforum.com/index.php?p=/discussion/1/the-title"
    2. If you copy over the files from "2021.009", ensure the /cache, /conf and /uploads folder are still writable by the server. That's what I have messed up and the reason why I also saw the "Something has gone wrong" message. If you see such a message, temporarily add $Configuration['Debug'] = true; to your /conf/config.php


    If both of the above are working without problems, then try /utility/update again. If it still fails, please give the detailed error message.

  • edited May 2021

    Ok @R_J , here is what I did from a FRESH install (again) on a Godaddy server:

    1. Downgrade PHP from 7.4 to 7.3.27 in order to install 3.3

    2. Install fresh 3.3 using Installatron

    3. Go to new install and click several links on main page and go to Dashboard>Settings

    4. Delete all files in /dist

    5. Delete all files in /cache except .htaccess

    6. FTP 2021.009 to same directory

    7. Delete keystone & theme-boilerplate from /themes

    8. Verify /cache /conf /uploads are all 0755 permission

    9. Verfiy PHP extensions active: cURL (7.71.0), DOM, libxml (2.9.4), fileinfo, gd (bundled (2.1.0 compatible)), intl (63.1), JSON (1.7.0), pdo

    10. Add $Configuration['Debug'] = true; to config.php (cause I just know I will need it)

    11. Add $Configuration['Garden']['RewriteUrls'] = true; to config.php (even though urls are displaying "pretty")

    12. Verify /cache is empty except .htaccess

    13. Ran /utility/update from a completely different browser to ensure no caching issues

    ERROR!!

    -----------------------------------------

    Fatal Error in PHP.gdn_ErrorHandler();

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'json null, `dateInserted` datetime not null, `insertUserID` int not null, `inser' at line 8

    The error occurred on or near: /home/xxk/public_html/board/library/database/class.database.php

    499: 

    500:           // If we get here then the pdo statement prepared properly.

    501:           break;

    502:         } catch (Gdn_UserException $uex) {

    503:           trigger_error($uex->getMessage(), E_USER_ERROR);

    504:         } catch (Exception $ex) {

    505:           list($state, $code, $message) = $pDO->errorInfo();

    506: 

    507:           // If the error code is consistent with a disconnect, attempt to retry

    Backtrace:

    /home/xxk/public_html/board/library/database/class.database.phpPHP::gdn_ErrorHandler();

    [/home/xxk/public_html/board/library/database/class.database.php:503] PHP::trigger_error();

    [/home/xxk/public_html/board/library/database/class.databasestructure.php:474] Gdn_Database->query();

    [/home/xxk/public_html/board/library/database/class.mysqlstructure.php:209] Gdn_DatabaseStructure->executeQuery();

    [/home/xxk/public_html/board/library/database/class.databasestructure.php:541] Gdn_MySQLStructure->_create();

    [/home/xxk/public_html/board/applications/dashboard/settings/structure.php:258] Gdn_DatabaseStructure->set();

    [/home/xxk/public_html/board/applications/dashboard/models/class.updatemodel.php:711] PHP::include();

    [/home/xxk/public_html/board/applications/dashboard/models/class.updatemodel.php:661] UpdateModel->runStructureInternal();

    [/home/xxk/public_html/board/applications/dashboard/controllers/class.utilitycontroller.php:292] UpdateModel->runStructure();

    [/home/xxk/public_html/board/applications/dashboard/controllers/class.utilitycontroller.php:331] UtilityController->legacyUpdate();

    [/home/xxk/public_html/board/library/core/class.dispatcher.php:933] UtilityController->update();

    [/home/xxk/public_html/board/library/core/class.dispatcher.php:335] Gdn_Dispatcher->dispatchController();

    [/home/xxk/public_html/board/index.php:29] Gdn_Dispatcher->dispatch();

    Variables in local scope:

    [sql] 'create table `GDN_roleRequestMeta` (

    `roleID` int not null,

    `type` enum(\'application\',\'invitation\') not null,

    `name` varchar(150) not null,

    `body` text not null,

    `format` varchar(10) not null,

    `attributesSchema` text not null,

    `attributes` json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `insertIPAddress` varbinary(16) null,

    `dateUpdated` datetime null,

    `updateUserID` int null,

    `updateIPAddress` varbinary(16) null,

    primary key (`roleID`, `type`)

    ) engine=innodb default character set utf8mb4 collate utf8mb4_unicode_ci;'

    [inputParameters] NULL

    [options] array (

    )

    [returnType] NULL

    [timerName] 'dbWrite'

    [tries] 2

    [pDO] array (

    )

    [try] 0

    [pDOStatement] false

    [state] '42000'

    [code] 1064

    [message] 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'json null,

    `dateInserted` datetime not null,

    `insertUserID` int not null,

    `inser\' at line 8'

    [uex] array (

    )

    Need Help?

    If you are a user of this website, you can report this message to a website administrator.


    If you are an administrator of this website, you can get help at the Vanilla Community Forums.


    Additional information for support personnel:

    Application: Vanilla

    Application Version: 2021.009

    PHP Version: 7.3.27

    Operating System: Linux

    Server Software: Apache

    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.66

    Request Uri: /board/utility/update

    Controller: PHP

    Method: gdn_ErrorHandler

    ----------------------------------

    After seeing the same error again and again I think there is an issue but you are the expert in SQL and I am not.

  • And when I run /utility/structure here is the error I get:

    Fatal Error in PHP.gdn_ErrorHandler();

    Unknown column 'Visible' in 'where clause'

    The error occurred on or near: /home/xxk/public_html/board/library/database/class.database.php

    513:           if (!$message) {

    514:             $message = $ex->getMessage();

    515:           }

    516: 

    517:           trigger_error($message, E_USER_ERROR);

    518:         }

    519:       }

    520: 

    521:       if ($pDOStatement instanceof PDOStatement) {

    Backtrace:

    /home/xxk/public_html/board/library/database/class.database.phpPHP::gdn_ErrorHandler();

    [/home/xxk/public_html/board/library/database/class.database.php:517] PHP::trigger_error();

    [/home/xxk/public_html/board/library/database/class.sqldriver.php:1831] Gdn_Database->query();

    [/home/xxk/public_html/board/library/database/class.sqldriver.php:675] Gdn_SQLDriver->query();

    [/home/xxk/public_html/board/library/core/class.authenticationprovidermodel.php:183] Gdn_SQLDriver->get();

    [/home/xxk/public_html/board/library/core/class.authenticationprovidermodel.php:201] Gdn_AuthenticationProviderModel->getAllVisible();

    [/home/xxk/public_html/board/library/Vanilla/Models/TrustedDomainModel.php:94] Gdn_AuthenticationProviderModel->getAll();

    [/home/xxk/public_html/board/library/core/functions.framework.php:1370] Vanilla\Models\TrustedDomainModel->getAll();

    [/home/xxk/public_html/board/library/core/functions.framework.php:1283] PHP::safeURL();

    [/home/xxk/public_html/board/library/core/class.controller.php:1375] PHP::redirectTo();

    [/home/xxk/public_html/board/applications/dashboard/controllers/class.utilitycontroller.php:191] Gdn_Controller->permission();

    [/home/xxk/public_html/board/library/core/class.dispatcher.php:933] UtilityController->structure();

    [/home/xxk/public_html/board/library/core/class.dispatcher.php:335] Gdn_Dispatcher->dispatchController();

    [/home/xxk/public_html/board/index.php:29] Gdn_Dispatcher->dispatch();

    Variables in local scope:

    [sql] 'select uap.*

    from `GDN_UserAuthenticationProvider` `uap`

    where `Visible` = :Visible'

    [inputParameters] array (

     ':Visible' => 1,

    )

    [options] array (

     'Type' => 'select',

     'Slave' => NULL,

     'ReturnType' => 'DataSet',

    )

    [returnType] 'DataSet'

    [timerName] 'dbRead'

    [tries] 2

    [pDO] array (

    )

    [try] 0

    [pDOStatement] false

    [state] '42S22'

    [code] 1054

    [message] 'Unknown column \'Visible\' in \'where clause\''

    [ex] array (

    )

    Need Help?

    If you are a user of this website, you can report this message to a website administrator.


    If you are an administrator of this website, you can get help at the Vanilla Community Forums.


    Additional information for support personnel:

    Application: Vanilla

    Application Version: 2021.009

    PHP Version: 7.3.27

    Operating System: Linux

    Server Software: Apache

    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/90.0.818.66

    Request Uri: /board/utility/structure

    Controller: PHP

    Method: gdn_ErrorHandler

  • R_JR_J Admin

    Now I've seen it: your error message is that your MySQL server doesn't know the type json.

    You need at least 5.7.8

  • edited May 2021

    @R_J

    It does have json!

    I did this on PHP 7.3 but the previous attempts were on PHP 7.4

  • @R_J

    Just chatted with a Godaddy Tech support. Here is their response:

    "Right now as i have checked the MySQL version is 5.6.47 in c-panel plans but i have checked with the team and they said that the upgraded version will be available soon and the developer team will upgrade it by themselves so I would request you to please wait for the upgrade."

    I see from Wikipedia that this release reached End of Support in February 2021! So they are definitely lagging in updating.

    Thanks for your help. I guess I will just have to wait until they update their Hosting servers.

Sign In or Register to comment.