← Back to team overview

mahara-contributors team mailing list archive

[Bug 1514273] Re: Increase to "longtext" all text columns that hold serialized user data

 

For the info, We had the following unserialize error multiple times when upgrading from 1.10.2 to 15.04.5:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
...
[DBG] 4f (lib/db/upgrade.php:4005) Updating TinyMCE emoticon locations in mahara database
[WAR] 4f (blocktype/lib.php:601) unserialize(): Error at offset 1995 of 2050 bytes
Call stack (most recent first):
  * log_message("unserialize(): Error at offset 1995 of 2050 bytes", 8, true, true, "/app/apache2/htdocs/mahara/blocktype/lib.php", 601) at /app/apache2/htdocs/mahara/lib/errors.php:441
  * error(8, "unserialize(): Error at offset 1995 of 2050 bytes", "/app/apache2/htdocs/mahara/blocktype/lib.php", 601, array(size 2)) at Unknown:0
  * unserialize("a:6:{s:11:"artefactids";a:1:{i:0;i:3717;}s:11:"pro...") at /app/apache2/htdocs/mahara/blocktype/lib.php:601
  * BlockInstance->get("configdata") at /app/apache2/htdocs/mahara/lib/db/upgrade.php:4036
  * xmldb_core_upgrade("2014092313") at /app/apache2/htdocs/mahara/lib/upgrade.php:359
  * upgrade_core(object(stdClass)) at /app/apache2/htdocs/mahara/lib/mahara.php:253
  * upgrade_mahara(array(size 40)) at /app/apache2/htdocs/mahara/admin/cli/upgrade.php:50

[WAR] 4f (lib/db/upgrade.php:4037) Invalid argument supplied for foreach()
Call stack (most recent first):
  * log_message("Invalid argument supplied for foreach()", 8, true, true, "/app/apache2/htdocs/mahara/lib/db/upgrade.php", 4037) at /app/apache2/htdocs/mahara/lib/errors.php:441
  * error(2, "Invalid argument supplied for foreach()", "/app/apache2/htdocs/mahara/lib/db/upgrade.php", 4037, array(size 26)) at /app/apache2/htdocs/mahara/lib/db/upgrade.php:4037
  * xmldb_core_upgrade("2014092313") at /app/apache2/htdocs/mahara/lib/upgrade.php:359
  * upgrade_core(object(stdClass)) at /app/apache2/htdocs/mahara/lib/mahara.php:253
  * upgrade_mahara(array(size 40)) at /app/apache2/htdocs/mahara/admin/cli/upgrade.php:50
...

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1514273

Title:
  Increase to "longtext" all text columns that hold serialized user data

Status in Mahara:
  Confirmed

Bug description:
  We've now had two bugs caused by serialized user data going into a
  text database column, and being truncated to 65KB by MySQL:

  Bug 1474659: import_entry_requests.entrycontent
  Bug 1513851: activity_queue.data

  We should try to get ahead of this issue by similarly increasing the
  size of any other columns in the database that typically store
  serialized user data. For instance, block_instance.configdata. If you
  created a text block that contains exactly 65KB of text, it would
  probably cause this same error, because, when serialized, it would tip
  to just over 65KB.

  I can't recall other serialized data columns off the top of my head,
  but I imagine there's a few.

  Additionally, if we have any other columns that store structured data
  with user content inside of it, we should expand those as well. (Are
  we storing any JSON-encoded values into the DB yet?). HTML is kind of
  an exception, because, while it will break if it's truncated, it won't
  generally cause a fatal error if we have broken HTML in the DB.
  Instead, htmlpurifier will filter it out when it gets displayed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1514273/+subscriptions


References