I tried to upgrade my forum to version 8.0 tonight, but I'm getting a missing files error.
Quote
The following files do not exist in your install (Make sure these are uploaded) libs/fa/fa-brands-400.eot libs/fa/fa-brands-400.svg libs/fa/fa-brands-400.woff libs/fa/fa-regular-400.eot libs/fa/fa-regular-400.svg libs/fa/fa-regular-400.woff libs/fa/fa-solid-900.eot libs/fa/fa-solid-900.svg libs/fa/fa-solid-900.woff libs/fa/version5151free libs/phpmailer/class.phpmailer.php libs/phpmailer/class.pop3.php libs/phpmailer/class.smtp.php libs/phpmailer/version5258 libs/smarty/version3136 ubb_js/tinymce/jquery.tinymce.min.js ubb_js/tinymce/plugins/colorpicker/plugin.min.js ubb_js/tinymce/plugins/contextmenu/plugin.min.js ubb_js/tinymce/plugins/fullpage/plugin.min.js ubb_js/tinymce/plugins/hr/plugin.min.js ubb_js/tinymce/plugins/imagetools/plugin.min.js ubb_js/tinymce/plugins/legacyoutput/plugin.min.js ubb_js/tinymce/plugins/noneditable/plugin.min.js ubb_js/tinymce/plugins/paste/plugin.min.js ubb_js/tinymce/plugins/print/plugin.min.js ubb_js/tinymce/plugins/spellchecker/plugin.min.js ubb_js/tinymce/plugins/tabfocus/plugin.min.js ubb_js/tinymce/plugins/textcolor/plugin.min.js ubb_js/tinymce/plugins/textpattern/plugin.min.js ubb_js/tinymce/plugins/toc/plugin.min.js ubb_js/tinymce/themes/mobile/theme.min.js ubb_js/tinymce/version551
None of these files are in the zip that I downloaded and the upgrade script won't allow me to proceed any further.
I'm going to have to back off to version 7.7.5 until this can be resolved.
UPDATE: running the install script for 7.7.5 generated the folowing error:
Quote
Updating Database To Version 7.7.5 If at any time this step times out you may just refresh this screen and it will continue. Duplicate column name 'LIKE_ID'
Database Update: Step 2 Add LIKE_ID column to sbf_LIKES table. FAILED SQL Query: ALTER TABLE sbf_LIKES ADD COLUMN LIKE_ID INT(11) UNSIGNED NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (LIKE_ID) Reason for failure: Upgrade Step: /install/upgrade.php?step=altertable The above step has failed. You may try to run this step again by returning to this link. If you are unable to resolve this issue please contact UBB.threads Support with the above information.
However, that column already exists in the db and the forum appears to be working as expected.
Please let me know when the missing files have been added to the download. Although I downloaded the 8.0 file earlier this week, I redownloaded it tonight and verified that the files are not in the zip file.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
This is still not working. I have been manually copying the missing files to their directories from a copy of the 7.7.5 directories, after which the installer wants to remove them.
Quote
The following files do not exist in your install (Make sure these are uploaded) libs/fa/fa-brands-400.eot libs/fa/fa-brands-400.svg libs/fa/fa-brands-400.woff libs/fa/fa-regular-400.eot libs/fa/fa-regular-400.svg libs/fa/fa-regular-400.woff libs/fa/fa-solid-900.eot libs/fa/fa-solid-900.svg libs/fa/fa-solid-900.woff libs/fa/version5151free libs/phpmailer/class.phpmailer.php libs/phpmailer/class.pop3.php libs/phpmailer/class.smtp.php libs/phpmailer/version5258 libs/smarty/version3136 ubb_js/tinymce/jquery.tinymce.min.js ubb_js/tinymce/plugins/colorpicker/plugin.min.js ubb_js/tinymce/plugins/contextmenu/plugin.min.js ubb_js/tinymce/plugins/fullpage/plugin.min.js ubb_js/tinymce/plugins/hr/plugin.min.js ubb_js/tinymce/plugins/imagetools/plugin.min.js ubb_js/tinymce/plugins/legacyoutput/plugin.min.js ubb_js/tinymce/plugins/noneditable/plugin.min.js ubb_js/tinymce/plugins/paste/plugin.min.js ubb_js/tinymce/plugins/print/plugin.min.js ubb_js/tinymce/plugins/spellchecker/plugin.min.js ubb_js/tinymce/plugins/tabfocus/plugin.min.js ubb_js/tinymce/plugins/textcolor/plugin.min.js ubb_js/tinymce/plugins/textpattern/plugin.min.js ubb_js/tinymce/plugins/toc/plugin.min.js ubb_js/tinymce/themes/mobile/theme.min.js ubb_js/tinymce/version551
The following files are reporting a wrong version number (Make sure you updated these files) All Files Report Proper Version Number
The following files need to be removed libs/fa/fa-brands-400.eot libs/fa/fa-brands-400.svg libs/fa/fa-brands-400.woff libs/fa/fa-regular-400.eot libs/fa/fa-regular-400.svg libs/fa/fa-regular-400.woff libs/fa/fa-solid-900.eot libs/fa/fa-solid-900.svg libs/fa/fa-solid-900.woff libs/fa/version5151free
So, the exact same files that the installer claims are missing are the files that the installer is removing.
I"m reverting back to 7.7.5 until this is resolved.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
If you are completely confident that you've uploaded all the files from the latest UBB.threads package, and everything is correct and as should be, delete (or zero out the contents of) the /install/UPGRADE_CHANGES.txt file. doing this will bypass all checks to confirm correct files are on your server, and will also bypass all actions of removing old files from your server.
Yet, the install script complains that those precise filenames are missing. So what's going on? I'm not comfortable just bypassing the file verification steps. Why does the file say those are removed when the script says they are needed? There has to be a conflict somewhere.
I will take a look at the incremental upgrade instructions, but this entire process is making me very nervous.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
This is not an issue I ran into for the beta installs or live installs, just skip the step and proceed with the upgrade... Its possible your browser, server, or a CDN is caching the old changes file.
These files you listed don't exist in a live v8 install, just .ttf and .woff2 files for FA
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
To verify, the way that I skip the step is by deleting the UPGRADE_CHANGES.txt file?
It should work to either clear all of the data out of that file, or deleting the file from the server. If your server is caching the file however you'll need to clear whatever caching mechanism is at play.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
I upgraded the forum to 8.0, and everything was working as expected running on php 7.4. So, I asked the hosting company to upgrade php to version 8.3, and they did. Now the forum displays fine, but the admin control panel is a blank page. I don't see anything helpful in the logs. The forum is down now because its last state was closed, and I can't open it.
UPDATE: The admin control panel works fine in Google Chrome. It's a completely blank page in Safari.
Google Chrome Version 128.0.6613.120 (Official Build) (arm64) Safari Version 17.6 (19618.3.11.11.5) MacBook Pro Apple M1 Pro Mac OS Sonoma 14.6.1 (23G93)
UPDATE2: I expired my cookies and logged in again. Safari now displays the control panel.
Thank you, Isaac. And thank you team for the update. The upgrade was a complete success. I'm looking forward to the new features.
Last edited by Baldeagle; 09/04/20241:19 AM. Reason: Added information
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
That does not appear to be related to a 500 error message, if anything its green lighting access to an Access Control RequireAny tag in your Apache configuration (Access Control).
Still trying to sort this out. I had debug logging enabled. So, those messages were obscuring what was going on. I set LogLevel to error, restarted Apache, and then tried to reply. I do not see anything useful in the error log.
UPDATE: This is in the ssl_access log for the forum:
Quote
108.234.20.166 - - [04/Sep/2024:02:04:51 -0500] "POST /ubbthreads/ubbthreads.php HTTP/1.1" 500 20 "https://www.stovebolt.com/ubbthreads/ubbthreads.php/topics/1556718/stovebolt-maintenance-9-3-2024.html" "Mozilla/5.0 (Macintosh; intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" 108.234.20.166 - - [04/Sep/2024:02:05:11 -0500] "-" 408 - "-" "-"
But that IP doesn't show up in the error logs at all.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
I realize that I've not been much help so far. I found this in the www_error.log in the /var/log/php-fpm subdirectory:
Quote
[04-Sep-2024 07:37:47 UTC] PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /var/www/html/ubbthreads/libs/bbcode.inc.php:572 Stack trace: #0 /var/www/html/ubbthreads/libs/bbcode.inc.php(394): bbcode->disallow_tag() #1 /var/www/html/ubbthreads/libs/bbcode.inc.php(65): bbcode->set_image_limit() #2 /var/www/html/ubbthreads/libs/html.inc.php(948): bbcode->init_post() #3 /var/www/html/ubbthreads/scripts/addpost.inc.php(355): html->do_markup() #4 /var/www/html/ubbthreads/ubbthreads.php(286): page_addpost_run() #5 {main} thrown in /var/www/html/ubbthreads/libs/bbcode.inc.php on line 572
This appears to be the issue, but I'm not sure where to go from here. I verified that the bbcode.inc.php file is version 8.0.0.
I asked the hosting company if they could back off php to version 8.2 to see if that made a difference. I have verified that all the same extensios are installed now as were installed previously.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
This might be the problem. I ran a diff on two files that I created: installedPHP.txt and installedPHP8.txt, and there was no difference. So, I looked at the installedPHP8.txt file and found this.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Well, this is wonderful. We're back on 7.4.33 and the forum is working again, but now I have this error in the Control Panel.
Quote
WARNING: Your PHP max_input_vars setting is set to a low value. Your current setting is 1000; the default setting is 1000. Based on your current number of forums, a minimum setting of 2048 is recommended. Your forum may have issues such as a blank configuration file, missing settings, or unexpected script behavior if you continue. Please see the "Issues with the PHP 'max_input_vars' Setting" entry on the UBB.Wiki for more information.
I have set max_input_vars to 4096 in /etc/php.ini and /etc/php.ini.rpmnew.. I've restarted the server (several times). I've cleared the browser cache (several times). I even edited the binary files lipbphp7.so and libphp7-zts.so. Everything on the server is set to 4096. I even reverted to the saved php.ini file (/etc/php.ini.rpmsave), and restarted the server and cleared the cache again. Yet the error remains.
I finally got rid of the error by rebooting the server. Sheesh!
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
Suddenly I'm getting this when trying to load dashboard.php.
Quote
Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /var/www/html/ubbthreads/admin/dashboard.php:173 Stack trace: #0 {main} thrown in /var/www/html/ubbthreads/admin/dashboard.php on line 173
The odd thing is, I can access anything else in the control panel.
This is line 173 of dashboard.php
Code
173 $ubbt_admin['newmembers1'] = $newmembers1;
Any idea what might be causing this?
Everything else in the Control Panel loads and works fine. I've already replaced the file with a fresh copy. Nothing changed. I also replaced the dashboard.tmpl file with no change as well.
If I remember correctly, the last action I took before this happened was to approve two new members. Their info is:
Quote
Jerry51 #51487 User Jerry51 jshearerhd@
and
Gaetto #51488 User tgaetto tonygaetto@
(I've removed the domains from their email addresses.)
I don't know if that's helpful or not, but maybe it is.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
I opened a support ticket. Brooks looked at the site and said it was working as expected. So, I dumped all the Stovebolt data in Safari, and the dashboard worked again. Made one change in the dashboard and bam, the error was back. So, I dumped all the data again. Then I disabled debugging. We'll see if that was what was causing the issue.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
The dashboard relies on a cookie to cache some data. in the previous version of UBBT7, that cookie could have become corrupt. This corruption was a bug that was fixed in the current UBBT8 release.
When you installed a new instance of the older UBBT7, you may have used the same cookie prefix as your main forum, which overwrote your proper UBBT8 cookie with the corrupted UBBT7 cookie.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
as an admin user, looking at "Cookies" from the profile menu, this is what the corrupted "ubbt_admin" cache cookie looks like
this is what a non-corrupted "ubbt_admin" cache cookie looks like
the corrupted cookie occurs in prior versions of UBB.threads when manually approving users. this bug has been fixed in UBB.threads 8. but the result of having a corrupted cookie in UBB.threads 8.0.0 is that the control panel dashboard (only the dashboard) is either displayed as a blank page or returns a php error. the corrupted "ubbt_admin" cookie can be cleared manually by clearing your cookies for your forum's domain.
in UBB.threads 8.0.1, this process is automatically done for you when the cookie is corrupted and cannot be read correctly.
Since switching to Chrome, I have not seen this problem. I have both expired cookies in my profile and deleted all data for the domain in Safari, but the problems continued. So I switched browsers. If it pops up in Chrome, I'll follow the same procedure.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
I decided to investigate this further. This is repeatable in both Safari (Version 18.0 (19619.1.26.111.10, 19619)) and in Google Chrome (Version 128.0.6613.138 (Official Build) (arm64)). MacBook Pro, Apple M1 Pro, MacOS 14.6.1 (23G93).
I had two registration requests. Registrations are moderatored, requiring admin approval. So, I tested one in Safari and one in Chrome. In both cases, after approving the registration, I tried to return to the dashboard and got an error. So, I decided to repeat the experiment and capture the admin cookie values.
This is the results: Admin cookie before approval;
Notice that characters were prepended (s:192:") to the existing cookie. The only other thing that has changed is what appears to be a unix timestamp at the end of the cookie.
I expired cookies, logged back in, loaded the dashboard successfully. Then I checked the admin cookie again.
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB
the corrupted cookie issue is corrected and the fix should be out in a version update shortly. its already live, in testing here on ubbcentral.
the error is that the array stored in the cookie never gets desanitized when retrieved, but the array gets sanitized when storing in to the cookie. so it gets corrupted -- redundant sanitizations on the manual new user approval page. php5 and php7 were not picky about strings and arrays, and ignore the attempt to create an array based on the corrupted cookie data. php8 is strict and will throw an error when an array is expected but not given. i have no clue how long this bug was in the code, but its probably been there for over a decade, which is well before my time developing for UBB.threads. consider the bug to fixed with the release of UBB.threads 8.0.1
as a side note: the cookie information your are sharing to the world in your posts, are your forum newuser stats for the past 24hrs, 1w, 1m, and admin and referrer log counts at the unixtime stamp listed. if you dont want that information shared to everyone, edit your post.
the corrupted cookie issue is corrected and the fix should be out in a version update shortly. its already live, in testing here on ubbcentral.
the error is that the array stored in the cookie never gets desanitized when retrieved, but the array gets sanitized when storing in to the cookie. so it gets corrupted -- redundant sanitizations on the manual new user approval page. php5 and php7 were not picky about strings and arrays, and ignore the attempt to create an array based on the corrupted cookie data. php8 is strict and will throw an error when an array is expected but not given. i have no clue how long this bug was in the code, but its probably been there for over a decade, which is well before my time developing for UBB.threads. consider the bug to fixed with the release of UBB.threads 8.0.1
as a side note: the cookie information your are sharing to the world in your posts, are your forum newuser stats for the past 24hrs, 1w, 1m, and admin and referrer log counts at the unixtime stamp listed. if you dont want that information shared to everyone, edit your post.
It's a bit of a PITA having to expire cookies everty time I approve a new registration (which is quite often). Is it possible to share the code change so I can edit the file now?
Server Information UBB.threads Version 8.0.0 Release 20240826 Server OS Linux Server Load 0.11 Web Server Apache/2.4.37 PHP Version 8.3.11 MYSQL Version 8.0.39 Database Size 1.82 GB