Last modified: 2014-11-03 14:30:42 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T73479, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 71479 - Type mismatch exceptions in various Serializers
Type mismatch exceptions in various Serializers
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
WikidataRepo (Other open bugs)
unspecified
All All
: Normal major (vote)
: ---
Assigned To: Wikidata bugs
u=dev c=backend p=8 s=2014-10-28
:
: 71536 71667 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-09-30 21:12 UTC by Aude
Modified: 2014-11-03 14:30 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Aude 2014-09-30 21:12:50 UTC
mw1196 wikidatawiki: [26dffaf0] /w/api.php   Exception from line 429 of /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/HashArray.php: Can only add Wikibase\DataModel\Snak\Snak implementing objects to Wikibase\DataModel\Snak\SnakList.
#0 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/HashArray.php(393): Wikibase\DataModel\HashArray->setElement('P143', Array)
#1 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/HashArray.php(81): Wikibase\DataModel\HashArray->offsetSet('P143', Array)
#2 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/Reference.php(67): Wikibase\DataModel\HashArray->__construct(Array)
#3 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ClaimHtmlGenerator.php(187): Wikibase\DataModel\Reference->getHash()
#4 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ClaimHtmlGenerator.php(151): Wikibase\ClaimHtmlGenerator->getHtmlForReference(Object(Wikibase\DataModel\Reference), Array)
#5 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ClaimHtmlGenerator.php(98): Wikibase\ClaimHtmlGenerator->getHtmlForReferences(Object(Wikibase\DataModel\ReferenceList), Array)
#6 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/View/ClaimsView.php(206): Wikibase\ClaimHtmlGenerator->getHtmlForClaim(Object(Wikibase\DataModel\Statement\Statement), Array, '<span class="wb...')
#7 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/View/ClaimsView.php(87): Wikibase\Repo\View\ClaimsView->getHtmlForClaimGroup(Array, Array)
#8 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ItemView.php(34): Wikibase\Repo\View\ClaimsView->getHtml(Array, 'wikibase-statem...')
#9 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EntityView.php(115): Wikibase\ItemView->getInnerHtml(Object(Wikibase\EntityRevision), true)
#10 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php(142): Wikibase\EntityView->getHtml(Object(Wikibase\EntityRevision), true)
#11 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php(90): Wikibase\EntityParserOutputGenerator->addHtmlToParserOutput(Object(ParserOutput), Object(Wikibase\EntityRevision), true)
#12 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContent.php(264): Wikibase\EntityParserOutputGenerator->getParserOutput(Object(Wikibase\EntityRevision), true, true)
#13 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContent.php(210): Wikibase\EntityContent->getParserOutputFromEntityView(Object(Title), NULL, Object(ParserOptions), true)
#14 /srv/mediawiki/php-1.25wmf1/includes/page/WikiPage.php(2145): Wikibase\EntityContent->getParserOutput(Object(Title), NULL, Object(ParserOptions))
#15 /srv/mediawiki/php-1.25wmf1/extensions/TemplateData/TemplateData.hooks.php(71): WikiPage->prepareContentForEdit(Object(Wikibase\ItemContent), NULL, Object(User), 'application/jso...')
#16 [internal function]: TemplateDataHooks::onPageContentSave(Object(WikiPage), Object(User), Object(Wikibase\ItemContent), '/* wbsetclaim-c...', 0, NULL, NULL, 66, Object(Status))
#20 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/store/sql/WikiPageEntityStore.php(247): WikiPage->doEditContent(Object(Wikibase\ItemContent), '/* wbsetclaim-c...', 66, 160850544, Object(User))
#21 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/store/sql/WikiPageEntityStore.php(148): Wikibase\Repo\Store\WikiPageEntityStore->saveEntityContent(Object(Wikibase\ItemContent), '/* wbsetclaim-c...', Object(User), 66, 160850544)
#22 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EditEntity.php(720): Wikibase\Repo\Store\WikiPageEntityStore->saveEntity(Object(Wikibase\DataModel\Entity\Item), '/* wbsetclaim-c...', Object(User), 66, 160850544)
#23 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ApiWikibase.php(446): Wikibase\EditEntity->attemptSave('/* wbsetclaim-c...', 2, '1614f8f17bc608f...')
#24 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ModifyClaim.php(68): Wikibase\Api\ApiWikibase->attemptSaveEntity(Object(Wikibase\DataModel\Entity\Item), Object(Wikibase\Summary), 2)
#25 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/SetClaim.php(82): Wikibase\Api\ModifyClaim->saveChanges(Object(Wikibase\DataModel\Entity\Item), Object(Wikibase\Summary))
#26 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(932): Wikibase\Api\SetClaim->execute()
Comment 1 Aude 2014-10-01 10:21:22 UTC
2014-10-01 09:15:28 mw1122 wikidatawiki: [846d5661] /w/api.php   Exception from line 145 of /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/lib/includes/store/EntityContentDataCodec.php: SnaksSerializer can only serialize Snaks objects
#0 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityHandler.php(356): Wikibase\Lib\Store\EntityContentDataCodec->encodeEntity(Object(Wikibase\DataModel\Entity\Item), 'application/jso...')
#1 /srv/mediawiki/php-1.25wmf1/includes/content/AbstractContent.php(151): Wikibase\Repo\Content\EntityHandler->serializeContent(Object(Wikibase\ItemContent), 'application/jso...')
#2 /srv/mediawiki/php-1.25wmf1/includes/page/WikiPage.php(2154): AbstractContent->serialize('application/jso...')
#3 /srv/mediawiki/php-1.25wmf1/extensions/TemplateData/TemplateData.hooks.php(71): WikiPage->prepareContentForEdit(Object(Wikibase\ItemContent), NULL, Object(User), 'application/jso...')
#4 [internal function]: TemplateDataHooks::onPageContentSave(Object(WikiPage), Object(User), Object(Wikibase\ItemContent), '/* wbsetclaim-c...', 0, NULL, NULL, 66, Object(Status))
#5 /srv/mediawiki/php-1.25wmf1/includes/Hooks.php(206): call_user_func_array('TemplateDataHoo...', Array)
#6 /srv/mediawiki/php-1.25wmf1/includes/GlobalFunctions.php(3991): Hooks::run('PageContentSave', Array, NULL)
#7 /srv/mediawiki/php-1.25wmf1/includes/page/WikiPage.php(1780): wfRunHooks('PageContentSave', Array)
#8 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/store/sql/WikiPageEntityStore.php(247): WikiPage->doEditContent(Object(Wikibase\ItemContent), '/* wbsetclaim-c...', 66, 161007033, Object(User))
#9 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/store/sql/WikiPageEntityStore.php(148): Wikibase\Repo\Store\WikiPageEntityStore->saveEntityContent(Object(Wikibase\ItemContent), '/* wbsetclaim-c...', Object(User), 66, 161007033)
#10 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EditEntity.php(720): Wikibase\Repo\Store\WikiPageEntityStore->saveEntity(Object(Wikibase\DataModel\Entity\Item), '/* wbsetclaim-c...', Object(User), 66, 161007033)
#11 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ApiWikibase.php(446): Wikibase\EditEntity->attemptSave('/* wbsetclaim-c...', 2, '38e998a64050597...')
#12 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ModifyClaim.php(68): Wikibase\Api\ApiWikibase->attemptSaveEntity(Object(Wikibase\DataModel\Entity\Item), Object(Wikibase\Summary), 2)
#13 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/SetClaim.php(82): Wikibase\Api\ModifyClaim->saveChanges(Object(Wikibase\DataModel\Entity\Item), Object(Wikibase\Summary))
#14 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(932): Wikibase\Api\SetClaim->execute()
#15 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(364): ApiMain->executeAction()
#16 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(335): ApiMain->executeActionWithErrorHandling()
#17 /srv/mediawiki/php-1.25wmf1/api.php(85): ApiMain->execute()
#18 /srv/mediawiki/w/api.php(3): require('/srv/mediawiki/...')
#19 {main}
Comment 2 Aude 2014-10-02 15:49:51 UTC
same as above....

this is the reason for the error on https://www.wikidata.org/wiki/Q72

the error is not appearing in the logs but was able to produce it with Article::view()

Caught exception InvalidArgumentException: Can only add Wikibase\DataModel\Snak\Snak implementing objects to Wikibase\DataModel\Snak\SnakList, but found a array instead
#0 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/HashArray.php(393): Wikibase\DataModel\HashArray->setElement('P143', Array)
#1 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/HashArray.php(81): Wikibase\DataModel\HashArray->offsetSet('P143', Array)
#2 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model/src/Reference.php(67): Wikibase\DataModel\HashArray->__construct(Array)
#3 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ClaimHtmlGenerator.php(187): Wikibase\DataModel\Reference->getHash()
#4 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ClaimHtmlGenerator.php(151): Wikibase\ClaimHtmlGenerator->getHtmlForReference(Object(Wikibase\DataModel\Reference), Array)
#5 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ClaimHtmlGenerator.php(98): Wikibase\ClaimHtmlGenerator->getHtmlForReferences(Object(Wikibase\DataModel\ReferenceList), Array)
#6 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/View/ClaimsView.php(206): Wikibase\ClaimHtmlGenerator->getHtmlForClaim(Object(Wikibase\DataModel\Statement\Statement), Array, '<span class="wb...')
#7 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/View/ClaimsView.php(87): Wikibase\Repo\View\ClaimsView->getHtmlForClaimGroup(Array, Array)
#8 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/ItemView.php(34): Wikibase\Repo\View\ClaimsView->getHtml(Array, 'wikibase-statem...')
#9 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EntityView.php(115): Wikibase\ItemView->getInnerHtml(Object(Wikibase\EntityRevision), true)
#10 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php(142): Wikibase\EntityView->getHtml(Object(Wikibase\EntityRevision), true)
#11 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php(90): Wikibase\EntityParserOutputGenerator->addHtmlToParserOutput(Object(ParserOutput), Object(Wikibase\EntityRevision), true)
#12 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContent.php(264): Wikibase\EntityParserOutputGenerator->getParserOutput(Object(Wikibase\EntityRevision), true, true)
#13 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContent.php(210): Wikibase\EntityContent->getParserOutputFromEntityView(Object(Title), 160513146, Object(ParserOptions), true)
#14 /srv/mediawiki/php-1.25wmf1/includes/poolcounter/PoolWorkArticleView.php(139): Wikibase\EntityContent->getParserOutput(Object(Title), 160513146, Object(ParserOptions))
#15 /srv/mediawiki/php-1.25wmf1/includes/poolcounter/PoolCounterWork.php(123): PoolWorkArticleView->doWork()
#16 /srv/mediawiki/php-1.25wmf1/includes/page/Article.php(688): PoolCounterWork->execute()
#17 /srv/mediawiki/php-1.25wmf1/maintenance/eval.php(81) : eval()'d code(1): Article->view()
#18 /srv/mediawiki/php-1.25wmf1/maintenance/eval.php(81): eval()
#19 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
Comment 3 Aude 2014-10-02 15:59:35 UTC
doing the following produced the error:

$title = Title::newFromText( 'Q72' );
$page = WikiPage::factory( $title );
$content = $page->getContent();
$pout = $content->getParserOutput( $title );
Comment 4 Gerrit Notification Bot 2014-10-03 18:51:58 UTC
Change 164621 had a related patch set uploaded by Aude:
Pass string to wfTemplate in FingerprintView instead of Message

https://gerrit.wikimedia.org/r/164621
Comment 5 Aude 2014-10-03 19:27:59 UTC
it seems to make a difference if FingerprintView::getHtmlForLabel is called (via EntityView::getHtmlForFingerprint) before ClaimsView::getHtml.  If FingerprintView::getHtmlForLabel called, then we get the exception on Q72.

if calling ClaimsView::getHtml (on Q72) with $entityRevision->getEntity()->getClaims() directly, then no exception, no problem.

with more debugging, it seems the problem is:

$idInParentheses = wfMessage( 'parentheses', $id ) in FingerprintView::getHtmlForLabel and then it is passed to wfTemplate as a Message.  Looking at the code, it might work via magic in the Template class (which itself extends Message) and suppose it does work on other items!  but not on Q72.

if we convert this to a string before passing to the template, then the exception does not occur.

it still seems like something else weird is going on and think we should further investigate.
Comment 6 Aude 2014-10-03 19:45:02 UTC
note that "$idInParentheses = wfMessage( 'parentheses', $id )" is something new in the branch we deployed this week.

definitely could be the issue although I find it odd how it affects references / SnakList. (instead getting an array of snaks in some cases)
Comment 7 Gerrit Notification Bot 2014-10-04 13:34:55 UTC
Change 164621 merged by jenkins-bot:
Pass string to wfTemplate in FingerprintView instead of Message

https://gerrit.wikimedia.org/r/164621
Comment 8 Gerrit Notification Bot 2014-10-05 13:00:26 UTC
Change 164767 had a related patch set uploaded by Aude:
Fix reference snaks handling in ClaimHtmlGenerator

https://gerrit.wikimedia.org/r/164767
Comment 9 Aude 2014-10-05 13:05:37 UTC
When I fixed https://gerrit.wikimedia.org/r/#/c/164767/ but not apply https://gerrit.wikimedia.org/r/164621, then with Q72 I got:

Catchable fatal error: Object of class Wikibase\DataModel\Snak\PropertyValueSnak could not be converted to string in /srv/mediawiki/php-1.25wmf1/includes/cache/MessageCache.php on line 787

I think both fixes are required for fixing the issues with Q72.

I think there still is some other related issue(s) maybe in the serialization code for what is reported in comment #1 above.


some places where the issue has happened:

https://www.wikidata.org/wiki/Q1411015 - cannot add official website, http://www.rociomarquez.com/
 
wbsetclaim with:
 
'claim' => '{"type":"statement","mainsnak":{"snaktype":"value","property":"P856","datavalue":{"type":"string","value":"http://www.rociomarquez.com"}},"id":"Q1411015$839cad71-48e8-8a99-bbf9-bd7a94f907f0","qualifiers":{},"qualifiers-order":[],"rank":"normal"}
'index' => 0,
'baserevid' => 145736429,
 
 
https://www.wikidata.org/wiki/Q34
 
wbsetclaim with:
 
'claim' => '{"type":"statement","mainsnak":{"snaktype":"value","property":"P94","datavalue":{"type":"string","value":"Stora riksvapnet - Riksarkivet Sverige.png"}},"id":"q34$AE9AC7BC-8FE9-4A75-9D9F-3D49A5AE0D49","qualifiers":{},"qualifiers-order":[],"rank":"normal"}',
'index' => 55,
'baserevid' => 161367677,

https://www.wikidata.org/w/api.php?action=query&prop=revisions&revids=161954647&rvprop=content&rvparse=1&format=xml does not work

also:

https://www.wikidata.org/w/index.php?title=Q9358&action=edit&undoafter=156222333&undo=156222390

https://www.wikidata.org/w/index.php?title=Q1048&action=edit&undoafter=152185825&undo=152188325
Comment 10 Gerrit Notification Bot 2014-10-05 13:26:45 UTC
Change 164767 merged by Jeroen De Dauw:
Fix reference snaks handling in ClaimHtmlGenerator

https://gerrit.wikimedia.org/r/164767
Comment 11 Gerrit Notification Bot 2014-10-06 08:38:21 UTC
Change 164910 had a related patch set uploaded by Aude:
Fix reference snaks handling in ClaimHtmlGenerator

https://gerrit.wikimedia.org/r/164910
Comment 12 Gerrit Notification Bot 2014-10-06 08:38:43 UTC
Change 164913 had a related patch set uploaded by Aude:
Pass string to wfTemplate in FingerprintView instead of Message

https://gerrit.wikimedia.org/r/164913
Comment 13 Gerrit Notification Bot 2014-10-06 09:23:07 UTC
Change 164910 merged by jenkins-bot:
Fix reference snaks handling in ClaimHtmlGenerator

https://gerrit.wikimedia.org/r/164910
Comment 14 Gerrit Notification Bot 2014-10-06 09:25:58 UTC
Change 164913 merged by jenkins-bot:
Pass string to wfTemplate in FingerprintView instead of Message

https://gerrit.wikimedia.org/r/164913
Comment 15 Gerrit Notification Bot 2014-10-06 09:55:33 UTC
Change 164925 had a related patch set uploaded by Aude:
New deployment build, partial fix for bug 71479 and editing properties

https://gerrit.wikimedia.org/r/164925
Comment 16 Gerrit Notification Bot 2014-10-06 11:43:46 UTC
Change 164925 merged by jenkins-bot:
New deployment build, partial fix for bug 71479 and editing properties

https://gerrit.wikimedia.org/r/164925
Comment 17 Gerrit Notification Bot 2014-10-06 12:31:18 UTC
Change 164950 had a related patch set uploaded by Aude:
Update Wikidata, partial fix for bug 71479 and editing properties

https://gerrit.wikimedia.org/r/164950
Comment 18 Gerrit Notification Bot 2014-10-06 12:39:37 UTC
Change 164952 had a related patch set uploaded by Aude:
Update Wikidata, partial fix for bug 71479 and editing properties

https://gerrit.wikimedia.org/r/164952
Comment 19 Gerrit Notification Bot 2014-10-06 15:16:47 UTC
Change 164952 merged by jenkins-bot:
Update Wikidata, partial fix for bug 71479 and editing properties

https://gerrit.wikimedia.org/r/164952
Comment 20 Gerrit Notification Bot 2014-10-06 15:31:35 UTC
Change 164950 merged by jenkins-bot:
Update Wikidata, partial fix for bug 71479 and editing properties

https://gerrit.wikimedia.org/r/164950
Comment 21 Aude 2014-10-07 15:43:08 UTC
the stacktrace in comment 1 is result of rethrowing the exception, so we don't have complete log.

we added in logging of the original exception and now have this:

2014-10-07 14:08:40 mw1143 wikidatawiki:/w/api.php   Exception from line 53 of /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/SnaksSerializer.php: SnaksSerializer can only serialize Snaks objects
#0 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferenceSerializer.php(66): Wikibase\DataModel\Serializers\SnaksSerializer->serialize(NULL)
#1 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferenceSerializer.php(60): Wikibase\DataModel\Serializers\ReferenceSerializer->getSerialized(Object(Wikibase\DataModel\Reference))
#2 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferencesSerializer.php(65): Wikibase\DataModel\Serializers\ReferenceSerializer->serialize(Object(Wikibase\DataModel\Reference))
#3 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferencesSerializer.php(58): Wikibase\DataModel\Serializers\ReferencesSerializer->getSerialized(Object(Wikibase\DataModel\ReferenceList))
#4 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(115): Wikibase\DataModel\Serializers\ReferencesSerializer->serialize(Object(Wikibase\DataModel\ReferenceList))
#5 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(94): Wikibase\DataModel\Serializers\ClaimSerializer->addReferencesToSerialization(Object(Wikibase\DataModel\Statement\Statement), Array)
#6 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(81): Wikibase\DataModel\Serializers\ClaimSerializer->getSerialized(Object(Wikibase\DataModel\Statement\Statement))
#7 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimsSerializer.php(69): Wikibase\DataModel\Serializers\ClaimSerializer->serialize(Object(Wikibase\DataModel\Statement\Statement))
#8 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimsSerializer.php(59): Wikibase\DataModel\Serializers\ClaimsSerializer->getSerialized(Object(Wikibase\DataModel\Claim\Claims))
#9 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(145): Wikibase\DataModel\Serializers\ClaimsSerializer->serialize(Object(Wikibase\DataModel\Claim\Claims))
#10 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(81): Wikibase\DataModel\Serializers\EntitySerializer->addClaimsToSerialization(Object(Wikibase\DataModel\Entity\Item), Array)
#11 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(60): Wikibase\DataModel\Serializers\EntitySerializer->getSerialized(Object(Wikibase\DataModel\Entity\Item))
#12 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/vendor/serialization/serialization/src/Serializers/DispatchingSerializer.php(42): Wikibase\DataModel\Serializers\EntitySerializer->serialize(Object(Wikibase\DataModel\Entity\Item))
#13 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/lib/includes/store/EntityContentDataCodec.php(141): Serializers\DispatchingSerializer->serialize(Object(Wikibas\DataModel\Entity\Item))
#14 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityHandler.php(356): Wikibase\Lib\Store\EntityContentDataCodec->encodeEntity(Object(Wikibase\DataModel\Entity\Item), 'application/jso...')
#15 /srv/mediawiki/php-1.25wmf1/includes/content/AbstractContent.php(151): Wikibase\Repo\Content\EntityHandler->serializeContent(Object(Wikibase\ItemContent), 'application/jso...')
#16 /srv/mediawiki/php-1.25wmf1/includes/page/WikiPage.php(2154): AbstractContent->serialize('application/jso...')
#17 /srv/mediawiki/php-1.25wmf1/extensions/TemplateData/TemplateData.hooks.php(71): WikiPage->prepareContentForEdit(Object(Wikibase\ItemContent), NULL, Object(User), 'application/jso...')
#18 [internal function]: TemplateDataHooks::onPageContentSave(Object(WikiPage), Object(User), Object(Wikibase\ItemContent), '/* wbsetdescrip...', 0, NULL, NULL, 66, Object(Status))
#19 /srv/mediawiki/php-1.25wmf1/includes/Hooks.php(206): call_user_func_array('TemplateDataHoo...', Array)
#20 /srv/mediawiki/php-1.25wmf1/includes/GlobalFunctions.php(3991): Hooks::run('PageContentSave', Array, NULL)
#21 /srv/mediawiki/php-1.25wmf1/includes/page/WikiPage.php(1780): wfRunHooks('PageContentSave', Array)
#22 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/store/sql/WikiPageEntityStore.php(247): WikiPage->doEditContent(Object(Wikibase\ItemContent), '/* wbsetdescrip...', 66, 162507752, Object(User))
#23 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/store/sql/WikiPageEntityStore.php(148): Wikibase\Repo\Store\WikiPageEntityStore->saveEntityContent(Object(Wikibase\ItemContent), '/* wbsetdescrip...', Object(User), 66, 162507752)
#24 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/EditEntity.php(720): Wikibase\Repo\Store\WikiPageEntityStore->saveEntity(Object(Wikibase\DataModel\Entity\Item), '/* wbsetdescrip...', Object(User), 66, 162507752)
#25 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ApiWikibase.php(446): Wikibase\EditEntity->attemptSave('/* wbsetdescrip...', 2, 'b0e12dae4847462...')
#26 /srv/mediawiki/php-1.25wmf1/extensions/Wikidata/extensions/Wikibase/repo/includes/api/ModifyEntity.php(371): Wikibase\Api\ApiWikibase->attemptSaveEntity(Object(Wikibase\DataModel\Entity\Item), Object(Wikibase\Summary), 2)
#27 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(932): Wikibase\Api\ModifyEntity->execute()
#28 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(364): ApiMain->executeAction()
#29 /srv/mediawiki/php-1.25wmf1/includes/api/ApiMain.php(335): ApiMain->executeActionWithErrorHandling()
#30 /srv/mediawiki/php-1.25wmf1/api.php(85): ApiMain->execute()
#31 /srv/mediawiki/w/api.php(3): require('/srv/mediawiki/...')
Comment 22 Marius Hoch 2014-10-11 17:48:51 UTC
Probably the same problem, but different backtrace:

2014-10-09 22:51:43 mw1083 wikidatawiki: [29528d84] /w/index.php?title=Q159&action=submit&undo=162845169&undoafter=161366786   Exception from line 146 of /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/lib/includes/store/EntityContentDataCodec.php: SnaksSerializer can only serialize Snaks objects
#0 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityHandler.php(356): Wikibase\Lib\Store\EntityContentDataCodec->encodeEntity(Object(Wikibase\DataModel\Entity\Item), 'application/jso...')
#1 /srv/mediawiki/php-1.25wmf2/includes/content/AbstractContent.php(151): Wikibase\Repo\Content\EntityHandler->serializeContent(Object(Wikibase\ItemContent), 'application/jso...')
#2 /srv/mediawiki/php-1.25wmf2/includes/page/WikiPage.php(2154): AbstractContent->serialize('application/jso...')
#3 /srv/mediawiki/php-1.25wmf2/extensions/TemplateData/TemplateData.hooks.php(71): WikiPage->prepareContentForEdit(Object(Wikibase\ItemContent), NULL, Object(User), 'application/jso...')
#4 [internal function]: TemplateDataHooks::onPageContentSave(Object(WikiPage), Object(User), Object(Wikibase\ItemContent), 'Undid revision ...', 0, NULL, NULL, 2, Object(Status))
#5 /srv/mediawiki/php-1.25wmf2/includes/Hooks.php(206): call_user_func_array('TemplateDataHoo...', Array)
#6 /srv/mediawiki/php-1.25wmf2/includes/GlobalFunctions.php(3991): Hooks::run('PageContentSave', Array, NULL)
#7 /srv/mediawiki/php-1.25wmf2/includes/page/WikiPage.php(1780): wfRunHooks('PageContentSave', Array)
#8 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/actions/SubmitEntityAction.php(168): WikiPage->doEditContent(Object(Wikibase\ItemContent), 'Undid revision ...')
#9 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/actions/SubmitEntityAction.php(112): Wikibase\SubmitEntityAction->attemptSave(Object(Title), Object(Wikibase\ItemContent), 'Undid revision ...', '410a4cf2dc397bc...')
#10 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/actions/SubmitEntityAction.php(42): Wikibase\SubmitEntityAction->undo()
#11 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(414): Wikibase\SubmitEntityAction->show()
#12 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(282): MediaWiki->performAction(Object(Article), Object(Title))
#13 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(584): MediaWiki->performRequest()
#14 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(435): MediaWiki->main()
#15 /srv/mediawiki/php-1.25wmf2/index.php(46): MediaWiki->run()
#16 /srv/mediawiki/w/index.php(3): require('/srv/mediawiki/...')
#17 {main}
Comment 23 Marius Hoch 2014-10-11 17:49:59 UTC
Other exception for the same(?) request:

2014-10-09 22:51:43 mw1083 wikidatawiki: [958baa81] /w/index.php?title=Q159&action=submit&undo=162845169&undoafter=161366786   Exception from line 53 of /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/SnaksSerializer.php: SnaksSerializer can only serialize Snaks objects
#0 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferenceSerializer.php(66): Wikibase\DataModel\Serializers\SnaksSerializer->serialize(NULL)
#1 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferenceSerializer.php(60): Wikibase\DataModel\Serializers\ReferenceSerializer->getSerialized(Object(Wikibase\DataModel\Reference))
#2 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferencesSerializer.php(65): Wikibase\DataModel\Serializers\ReferenceSerializer->serialize(Object(Wikibase\DataModel\Reference))
#3 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferencesSerializer.php(58): Wikibase\DataModel\Serializers\ReferencesSerializer->getSerialized(Object(Wikibase\DataModel\ReferenceList))
#4 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(115): Wikibase\DataModel\Serializers\ReferencesSerializer->serialize(Object(Wikibase\DataModel\ReferenceList))
#5 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(94): Wikibase\DataModel\Serializers\ClaimSerializer->addReferencesToSerialization(Object(Wikibase\DataModel\Statement\Statement), Array)
#6 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(81): Wikibase\DataModel\Serializers\ClaimSerializer->getSerialized(Object(Wikibase\DataModel\Statement\Statement))
#7 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimsSerializer.php(69): Wikibase\DataModel\Serializers\ClaimSerializer->serialize(Object(Wikibase\DataModel\Statement\Statement))
#8 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimsSerializer.php(59): Wikibase\DataModel\Serializers\ClaimsSerializer->getSerialized(Object(Wikibase\DataModel\Claim\Claims))
#9 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(145): Wikibase\DataModel\Serializers\ClaimsSerializer->serialize(Object(Wikibase\DataModel\Claim\Claims))
#10 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(81): Wikibase\DataModel\Serializers\EntitySerializer->addClaimsToSerialization(Object(Wikibase\DataModel\Entity\Item), Array)
#11 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(60): Wikibase\DataModel\Serializers\EntitySerializer->getSerialized(Object(Wikibase\DataModel\Entity\Item))
#12 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/vendor/serialization/serialization/src/Serializers/DispatchingSerializer.php(42): Wikibase\DataModel\Serializers\EntitySerializer->serialize(Object(Wikibase\DataModel\Entity\Item))
#13 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/lib/includes/store/EntityContentDataCodec.php(141): Serializers\DispatchingSerializer->serialize(Object(Wikibase\DataModel\Entity\Item))
#14 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityHandler.php(356): Wikibase\Lib\Store\EntityContentDataCodec->encodeEntity(Object(Wikibase\DataModel\Entity\Item), 'application/jso...')
#15 /srv/mediawiki/php-1.25wmf2/includes/content/AbstractContent.php(151): Wikibase\Repo\Content\EntityHandler->serializeContent(Object(Wikibase\ItemContent), 'application/jso...')
#16 /srv/mediawiki/php-1.25wmf2/includes/page/WikiPage.php(2154): AbstractContent->serialize('application/jso...')
#17 /srv/mediawiki/php-1.25wmf2/extensions/TemplateData/TemplateData.hooks.php(71): WikiPage->prepareContentForEdit(Object(Wikibase\ItemContent), NULL, Object(User), 'application/jso...')
#18 [internal function]: TemplateDataHooks::onPageContentSave(Object(WikiPage), Object(User), Object(Wikibase\ItemContent), 'Undid revision ...', 0, NULL, NULL, 2, Object(Status))
#19 /srv/mediawiki/php-1.25wmf2/includes/Hooks.php(206): call_user_func_array('TemplateDataHoo...', Array)
#20 /srv/mediawiki/php-1.25wmf2/includes/GlobalFunctions.php(3991): Hooks::run('PageContentSave', Array, NULL)
#21 /srv/mediawiki/php-1.25wmf2/includes/page/WikiPage.php(1780): wfRunHooks('PageContentSave', Array)
#22 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/actions/SubmitEntityAction.php(168): WikiPage->doEditContent(Object(Wikibase\ItemContent), 'Undid revision ...')
#23 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/actions/SubmitEntityAction.php(112): Wikibase\SubmitEntityAction->attemptSave(Object(Title), Object(Wikibase\ItemContent), 'Undid revision ...', '410a4cf2dc397bc...')
#24 /srv/mediawiki/php-1.25wmf2/extensions/Wikidata/extensions/Wikibase/repo/includes/actions/SubmitEntityAction.php(42): Wikibase\SubmitEntityAction->undo()
#25 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(414): Wikibase\SubmitEntityAction->show()
#26 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(282): MediaWiki->performAction(Object(Article), Object(Title))
#27 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(584): MediaWiki->performRequest()
#28 /srv/mediawiki/php-1.25wmf2/includes/MediaWiki.php(435): MediaWiki->main()
#29 /srv/mediawiki/php-1.25wmf2/index.php(46): MediaWiki->run()
#30 /srv/mediawiki/w/index.php(3): require('/srv/mediawiki/...')
#31 {main}
Comment 24 Lydia Pintscher 2014-10-14 09:17:25 UTC
*** Bug 71667 has been marked as a duplicate of this bug. ***
Comment 25 Aude 2014-10-15 10:25:54 UTC
cirrus indexing is also having trouble with accessing / deserializing items:

2014-10-15 09:41:20 mw1007 wikidatawiki: [4ef16d09] [no req]   Exception from line 53 of /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/SnaksSerializer.php: SnaksSerializer can only serialize Snaks objects
#0 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferenceSerializer.php(66): Wikibase\DataModel\Serializers\SnaksSerializer->serialize(NULL)
#1 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferenceSerializer.php(60): Wikibase\DataModel\Serializers\ReferenceSerializer->getSerialized(Object(Wikibase\DataModel\Reference))
#2 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferencesSerializer.php(65): Wikibase\DataModel\Serializers\ReferenceSerializer->serialize(Object(Wikibase\DataModel\Reference))
#3 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ReferencesSerializer.php(58): Wikibase\DataModel\Serializers\ReferencesSerializer->getSerialized(Object(Wikibase\DataModel\ReferenceList))
#4 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(115): Wikibase\DataModel\Serializers\ReferencesSerializer->serialize(Object(Wikibase\DataModel\ReferenceList))
#5 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(94): Wikibase\DataModel\Serializers\ClaimSerializer->addReferencesToSerialization(Object(Wikibase\DataModel\Statement\Statement), Array)
#6 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimSerializer.php(81): Wikibase\DataModel\Serializers\ClaimSerializer->getSerialized(Object(Wikibase\DataModel\Statement\Statement))
#7 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimsSerializer.php(69): Wikibase\DataModel\Serializers\ClaimSerializer->serialize(Object(Wikibase\DataModel\Statement\Statement))
#8 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/ClaimsSerializer.php(59): Wikibase\DataModel\Serializers\ClaimsSerializer->getSerialized(Object(Wikibase\DataModel\Claim\Claims))
#9 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(145): Wikibase\DataModel\Serializers\ClaimsSerializer->serialize(Object(Wikibase\DataModel\Claim\Claims))
#10 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(81): Wikibase\DataModel\Serializers\EntitySerializer->addClaimsToSerialization(Object(Wikibase\DataModel\Entity\Item), Array)
#11 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/wikibase/data-model-serialization/src/Serializers/EntitySerializer.php(60): Wikibase\DataModel\Serializers\EntitySerializer->getSerialized(Object(Wikibase\DataModel\Entity\Item))
#12 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/vendor/serialization/serialization/src/Serializers/DispatchingSerializer.php(42): Wikibase\DataModel\Serializers\EntitySerializer->serialize(Object(Wikibase\DataModel\Entity\Item))
#13 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContent.php(581): Serializers\DispatchingSerializer->serialize(Object(Wikibase\DataModel\Entity\Item))
#14 /srv/mediawiki/php-1.25wmf3/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContent.php(590): Wikibase\EntityContent->getNativeData()
#15 /srv/mediawiki/php-1.25wmf3/extensions/CirrusSearch/includes/BuildDocument/PageTextBuilder.php(58): Wikibase\EntityContent->getSize()
#16 /srv/mediawiki/php-1.25wmf3/extensions/CirrusSearch/includes/Updater.php(338): CirrusSearch\BuildDocument\PageTextBuilder->build()
#17 /srv/mediawiki/php-1.25wmf3/extensions/CirrusSearch/includes/Updater.php(192): CirrusSearch\Updater->buildDocumentsForPages(Array, 0)
#18 /srv/mediawiki/php-1.25wmf3/extensions/CirrusSearch/includes/Updater.php(67): CirrusSearch\Updater->updatePages(Array, '1ms', 120, 0)
#19 /srv/mediawiki/php-1.25wmf3/extensions/CirrusSearch/includes/Job/LinksUpdate.php(49): CirrusSearch\Updater->updateFromTitle(Object(Title))
#20 /srv/mediawiki/php-1.25wmf3/extensions/CirrusSearch/includes/Job/Job.php(57): CirrusSearch\Job\LinksUpdate->doJob()
#21 /srv/mediawiki/php-1.25wmf3/includes/jobqueue/JobRunner.php(136): CirrusSearch\Job\Job->run()
#22 /srv/mediawiki/php-1.25wmf3/maintenance/runJobs.php(80): JobRunner->run(Array)
#23 /srv/mediawiki/php-1.25wmf3/maintenance/doMaintenance.php(101): RunJobs->execute()
#24 /srv/mediawiki/php-1.25wmf3/maintenance/runJobs.php(95): require_once('/srv/mediawiki/...')
#25 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
Comment 26 Aude 2014-10-23 22:41:47 UTC
upon further investigation, php bug "SplObjectStorage contains corrupt member variables after garbage collection" sounds suspicious:

https://bugs.php.net/bug.php?id=65967

When trying to undo an edit that involved references, on my dev wiki, I am experiencing this issue, as well as Wikibase\Repo\Diff\ClaimDifferenceVisualizer::getSnakListValues() must be an instance of Wikibase\DataModel\Snak\SnakList (the value here tends to be a variety of things, for example:

'snaks' => '1' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '1' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . 'Ë' . "\0" . '' . "\0" . '' . "\0" . 'z' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '' . "\0" . '',
    ))

or null.  ("\0" represents null within private properties)
Comment 27 Aude 2014-10-23 22:42:33 UTC
*** Bug 71536 has been marked as a duplicate of this bug. ***
Comment 28 Aude 2014-10-23 22:59:06 UTC
sometimes the value of 'snaks' passed to ClaimDifferenceVisualizer::getSnakListValues() is a Term! when trying to undo something
Comment 29 WikidataBugzilla 2014-10-25 20:50:53 UTC
Commit pushed to referencelist at https://github.com/wmde/WikibaseDataModel

https://github.com/wmde/WikibaseDataModel/commit/05bd532e3ce6f5b9e31259b70acbca27f778e40c
Implement serializable in ReferenceList

Relying on SplObjectStorage serialization seems to be
problematic, especially when used with a large Item.

This converts the ReferenceList to a plain array
of Reference objects when serializing, which is more
reliable.

This appears to resolve the problems with ReferenceList
objects becoming corrupt.

Bug: 71479
Comment 30 Aude 2014-11-03 14:29:55 UTC
change has been deployed and think this is no longer a problem :)

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links