• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.5 Row size too large (> 8126) when updating theme

#1
Hello, I receive this error when I try to update the theme uploading the XML file. I've read this post: https://xenforo.com/community/threads/mysqli-statement-execute-error-row-size-too-large.88390/

On my local environment with xampp on Windows 10, I've "innodb_log_file_size = 5M". If I change it to 8M it works.
If I look at the ib_logfile0 size on my production server, I see that it's 5MB.

My question: is it 100% sure that I'll face the same error when uploading the XML? On the server I've php 5.3.3 and centos 6.7.

Error:
Server Error
Mysqli statement execute error : Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

  1. Zend_Db_Statement_Mysqli->_execute() in C:\xampp\htdocs\forum\library\Zend\Db\Statement.php at line 297
  2. Zend_Db_Statement->execute() in C:\xampp\htdocs\forum\library\Zend\Db\Adapter\Abstract.php at line 479
  3. Zend_Db_Adapter_Abstract->query() in C:\xampp\htdocs\forum\library\XenForo\Model\Template.php at line 1692
  4. XenForo_Model_Template->_insertCompiledTemplateRecord() in C:\xampp\htdocs\forum\library\XenForo\Model\Template.php at line 1617
  5. XenForo_Model_Template->compileAndInsertParsedTemplate() in C:\xampp\htdocs\forum\library\XenForo\Model\Template.php at line 1379
  6. XenForo_Model_Template->compileTemplateInStyleTree() in C:\xampp\htdocs\forum\library\XenForo\Model\Template.php at line 1329
  7. XenForo_Model_Template->compileNamedTemplateInStyleTree() in C:\xampp\htdocs\forum\library\XenForo\Model\Template.php at line 1268
  8. XenForo_Model_Template->compileAllTemplates() in C:\xampp\htdocs\forum\library\XenForo\Deferred\Template.php at line 36
  9. XenForo_Deferred_Template->execute() in C:\xampp\htdocs\forum\library\XenForo\Model\Deferred.php at line 295
  10. XenForo_Model_Deferred->runDeferred() in C:\xampp\htdocs\forum\library\XenForo\Model\Deferred.php at line 429
  11. XenForo_Model_Deferred->_runInternal() in C:\xampp\htdocs\forum\library\XenForo\Model\Deferred.php at line 374
  12. XenForo_Model_Deferred->run() in C:\xampp\htdocs\forum\library\XenForo\ControllerAdmin\Tools.php at line 159
  13. XenForo_ControllerAdmin_Tools->actionRunDeferred() in C:\xampp\htdocs\forum\library\XenForo\FrontController.php at line 351
  14. XenForo_FrontController->dispatch() in C:\xampp\htdocs\forum\library\XenForo\FrontController.php at line 134
  15. XenForo_FrontController->run() in C:\xampp\htdocs\forum\admin.php at line 13
 

Mike

XenForo developer
Staff member
#2
It's not definitive, but it's pretty likely with that configuration. However, given your MySQL version must be 5.6.20 or newer, a 5MB setting for that is fairly small -- the default shifted to 48MB.

You might be able to get away with adding more log files rather than increasing the size of an individual file. See the "Note" call out in blue here (assuming you're on 5.6.22+): http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html
 
#3
It's not definitive, but it's pretty likely with that configuration. However, given your MySQL version must be 5.6.20 or newer, a 5MB setting for that is fairly small -- the default shifted to 48MB.

You might be able to get away with adding more log files rather than increasing the size of an individual file. See the "Note" call out in blue here (assuming you're on 5.6.22+): http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html
Hi Mike. MySQL version is 5.7.13. I've another question: what happens when I face this error? Before changing these settings, can I try to upload the XML as a new style and check what happens? If I face the error, it will simply abort the process or it can mess up things?

Once again, thanks for your patience and support.
 
#4
Hello @Mike, I'm sorry but I made a mistake: my MySQL version on production server is libmysql - 5.1.73. Data taken from phpmyadmin. Does this change something?
 

Mike

XenForo developer
Staff member
#5
If I face the error, it will simply abort the process or it can mess up things?
It will potentially leave things in an inconsistent state.

my MySQL version on production server is libmysql - 5.1.73. Data taken from phpmyadmin. Does this change something?
Not really. The issue here is specific to the server version. Though be aware that running a PHP mysqli extension and a MySQL server with very different versions can potentially cause issues. (Unless you're running into odd behaviors or other errors, it's unlikely to be a problem right now though.)
 
#6
The issue here is specific to the server version.
Not sure what do you mean with this. Do you mean that with version lower than 5.6.22 I will not face the error "Row size too large (> 8126)"? So considering my mySQL version I don't have to fix the "innodb_log_file_size = 5M"?

Sorry for confusion :oops:
 

Mike

XenForo developer
Staff member
#7
You specifically mentioned libmysql, so I assume you pulled that from your PHP info. That's explicitly not your MySQL server version; it's referencing a library that PHP has been compiled against. You need to connect to your MySQL server to get the exact version.
 
#8
You specifically mentioned libmysql, so I assume you pulled that from your PHP info. That's explicitly not your MySQL server version; it's referencing a library that PHP has been compiled against. You need to connect to your MySQL server to get the exact version.
From phpmyadmin:
Screenshot (496).png
So I think this confirms that MySQL version is 5.1.73, right?

So again with the question: considering that I'm on a MySQL version lower than 5.6.22, I will not face the error "Row size too large (> 8126)" or there're the same probabilities to face it anyway?

Again, THANK YOU!
 

Mike

XenForo developer
Staff member
#9
You are correct, that is (presumably) server version 5.1.73. You are unlikely to face the error with that version.