MyBB Community Forums

Full Version: Possible upgrade bug from 1.6 to 1.8
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all,

I was doing a test upgrade of MyBB 1.6 to 1.8 using the latest GIT (from 1 hour ago).  The MyBB 1.6 install was brand new, stock (no mods or themes), and created for the purpose of testing.  Upon uploading MyBB 1.8 and running the upgrade script I got the following :
MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
    1366 - Incorrect string value: '\x8E\xC9\x06' for column 'ip' at row 1
    REPLACE INTO mybb_sessions SET `uid`='1',`sid`='7eeb9392436b87e2e150b44bfdd14757',`time`='1409167747',`ip`=X'188ec906',`location`='/install/upgrade.php?',`useragent`='Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:24.7) Gecko/20140802 Firefox/24.7 PaleMoon/24.7.1',`location1`='0',`location2`='0',`nopermission`='0' 

Upon further investigation, it appears that the IP address in the session table is now being stored as a varbinary type rather than as a string.  Unfortunately, because the upgrade script creates a session before updating the database, it errors out.  Upon manually updating the table and changing the field ip to a type of varbinary, I was able to upgrade with no other problems.

My server information :
MyBB Version  1.8.0 
PHP Version   5.5.15 
SQL Engine    MySQLi 5.6.20 
try to drain the table mybb_session before upgrading
I'll reject this - I've done countless updates with different boards and never had this problem. Only had it after exporting and reimporting the database but that wasn't caused by MyBB
@Jones H: This is probably a valid bug report. Or have you tested all possible encodings and MySQL options?
I doubt it - it's a varbinary ip that is tried to be inserted in a string field. That has nothing to do with encodings afaik...
The only reason for this I could imagine is when logging in AFTER uploading the 1.8 files (probably via the installer). But I tested that too last time without problems. Anyways I'll recheck it...
(2014-08-30, 03:20 PM)Jones H Wrote: [ -> ]That has nothing to do with encodings afaik...
That's not true, MySQL can throw an error if you try to insert a character that is not valid within the encoding. This also depends on the IP as some binary data is be valid while other is not.
Perhaps you remember the utf8_mb4 problem we had. Some environments just truncated invalid characters while other threw errors.
Wouldn't that cause other errors too then? And not only the sessions table? Anyways, as said, I'll retest it with different encodings...
And finally went through all encodings... No problems with the login. But as I already said: this can only happen with the login during the upgrade so simply login before the upgrade when having this issue should fix it anyways.. (and it's only a 1.6 -> 1.8 update bug)
I have same error!