Last modified: 2014-01-31 06:33:56 UTC
(Also reported here: https://www.mediawiki.org/wiki/Talk:Semantic_Bundle#x.5BError_after_updating_SB_with_SMW_1.9.0.2.5D_Exception_..._SMW_DI_Container.php:_Trying_to_get_the_subject_of_a_container_data_item_that_has_not_been_given_any._This_container_can_only_be_used_as_a_search_pattern._38267 ) Set-up: MediaWiki 1.22.1 SemanticBundle from 2014-01-03 SMW 1.9.0.2 Upgraded from SMW 1.8.0.5 After Upgrading, while executing (first try): php SMW_refreshData.php -d 50 -v (aborted) and then (following tries): php SMW_setup.php --delete (successful) php SMW_setup.php (successful) php SMW_refreshData.php -ftpv (successful) php SMW_refreshData.php -v (aborted) the process aborted with following error: ... Exception from line 76 of /var/www/myWiki/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php: Trying to get the subject of a container data item that has not been given any. This container can only be used as a search pattern. ... (30) Processing ID 31 ... PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/myWiki/extensions/Widgets/WidgetRenderer.php on line 144 (31) Processing ID 32 ... PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/myWiki/extensions/Widgets/WidgetRenderer.php on line 144 (32) Processing ID 33 ... [60214063] [no req] Exception from line 76 of /var/www/myWiki/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Container.php: Trying to get the subject of a container data item that has not been given any. This container can only be used as a search pattern. Backtrace: #0 /var/www/myWiki/extensions/SemanticMediaWiki/includes/SemanticData.php(596): SMWContainerSemanticData->getSubject() #1 /var/www/myWiki/extensions/SemanticMediaWiki/includes/SemanticData.php(302): SMW\SemanticData->addSubSemanticData(SMWContainerSemanticData) #2 /var/www/myWiki/extensions/SemanticMediaWiki/includes/SemanticData.php(388): SMW\SemanticData->addPropertyObjectValue(SMW\DIProperty, SMWDIContainer) #3 /var/www/myWiki/extensions/SemanticMediaWiki/includes/ParserData.php(213): SMW\SemanticData->addDataValue(SMWRecordValue) #4 /var/www/myWiki/extensions/SemanticMediaWiki/includes/parserhooks/SetParserFunction.php(66): SMW\ParserData->addDataValue(SMWRecordValue) #5 /var/www/myWiki/extensions/SemanticMediaWiki/includes/parserhooks/SetParserFunction.php(90): SMW\SetParserFunction->parse(SMW\ParserParameterFormatter) #6 [internal function]: SMW\SetParserFunction::render(Parser, string, string, string, string) #7 /var/www/myWiki/includes/parser/Parser.php(3615): call_user_func_array(array, array) #8 /var/www/myWiki/includes/parser/Parser.php(3332): Parser->callParserFunction(PPTemplateFrame_DOM, string, array) #9 /var/www/myWiki/includes/parser/Preprocessor_DOM.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_DOM) #10 /var/www/myWiki/extensions/ParserFunctions/ParserFunctions_body.php(137): PPFrame_DOM->expand(PPNode_DOM) #11 [internal function]: ExtParserFunctions::ifObj(Parser, PPTemplateFrame_DOM, array) #12 /var/www/myWiki/includes/parser/Parser.php(3615): call_user_func_array(string, array) #13 /var/www/myWiki/includes/parser/Parser.php(3332): Parser->callParserFunction(PPTemplateFrame_DOM, string, array) #14 /var/www/myWiki/includes/parser/Preprocessor_DOM.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_DOM) #15 /var/www/myWiki/extensions/ParserFunctions/ParserFunctions_body.php(139): PPFrame_DOM->expand(PPNode_DOM) #16 [internal function]: ExtParserFunctions::ifObj(Parser, PPTemplateFrame_DOM, array) #17 /var/www/myWiki/includes/parser/Parser.php(3615): call_user_func_array(string, array) #18 /var/www/myWiki/includes/parser/Parser.php(3332): Parser->callParserFunction(PPTemplateFrame_DOM, string, array) #19 /var/www/myWiki/includes/parser/Preprocessor_DOM.php(1114): Parser->braceSubstitution(array, PPTemplateFrame_DOM) #20 /var/www/myWiki/includes/parser/Parser.php(3487): PPFrame_DOM->expand(PPNode_DOM) #21 /var/www/myWiki/includes/parser/Preprocessor_DOM.php(1114): Parser->braceSubstitution(array, PPFrame_DOM) #22 /var/www/myWiki/includes/parser/Parser.php(3149): PPFrame_DOM->expand(PPNode_DOM, integer) #23 /var/www/myWiki/includes/parser/Parser.php(1212): Parser->replaceVariables(string) #24 /var/www/myWiki/includes/parser/Parser.php(395): Parser->internalParse(string) #25 /var/www/myWiki/includes/content/WikitextContent.php(300): Parser->parse(string, Title, ParserOptions, boolean, boolean, integer) #26 /var/www/myWiki/extensions/SemanticMediaWiki/includes/ContentParser.php(157): WikitextContent->getParserOutput(Title, integer, NULL, boolean) #27 /var/www/myWiki/extensions/SemanticMediaWiki/includes/ContentParser.php(106): SMW\ContentParser->fetchFromContent(Revision) #28 /var/www/myWiki/extensions/SemanticMediaWiki/includes/jobs/UpdateJob.php(85): SMW\ContentParser->parse() #29 /var/www/myWiki/extensions/SemanticMediaWiki/includes/jobs/UpdateJob.php(62): SMW\UpdateJob->runContentParser() #30 /var/www/myWiki/extensions/SemanticMediaWiki/includes/jobs/UpdateJob.php(52): SMW\UpdateJob->runUpdate() #31 /var/www/myWiki/extensions/SemanticMediaWiki/includes/storage/SQLStore/SMW_SQLStore3_SetupHandlers.php(401): SMW\UpdateJob->run() #32 /var/www/myWiki/extensions/SemanticMediaWiki/includes/storage/SQLStore/SMW_SQLStore3.php(410): SMWSQLStore3SetupHandlers->refreshData(integer, integer, boolean, boolean) #33 /var/www/myWiki/extensions/SemanticMediaWiki/maintenance/SMW_refreshData.php(148): SMWSQLStore3->refreshData(integer, integer, boolean, boolean) #34 {main} What's wrong? Many thanks in advance!
(In reply to comment #0) > /var/www/myWiki/extensions/SemanticMediaWiki/includes/SemanticData.php(596): > SMWContainerSemanticData->getSubject() > #1 > /var/www/myWiki/extensions/SemanticMediaWiki/includes/SemanticData.php(302): > SMW\SemanticData->addSubSemanticData(SMWContainerSemanticData) > #2 > /var/www/myWiki/extensions/SemanticMediaWiki/includes/SemanticData.php(388): > SMW\SemanticData->addPropertyObjectValue(SMW\DIProperty, SMWDIContainer) > #3 /var/www/myWiki/extensions/SemanticMediaWiki/includes/ParserData.php(213): > SMW\SemanticData->addDataValue(SMWRecordValue) I'm guessing here but looking at the trace I can see that you try to add a SMWRecordValue to a DIContainer (subobject) which will fail for sure as noted in [1]. Can you provide an XML (using MW's Special:Export) that includes the page and property that causes the issue. [1] https://bugzilla.wikimedia.org/show_bug.cgi?id=47472
> I'm guessing here but looking at the trace I can see that you try to add a > SMWRecordValue to a DIContainer (subobject) which will fail for sure as noted > in [1]. > > Can you provide an XML (using MW's Special:Export) that includes the page and > property that causes the issue. > > [1] https://bugzilla.wikimedia.org/show_bug.cgi?id=47472 Thank you for your help! Special:Export is problematic, because to recreate a testing environment you would need a set of 50+ nested templates and even more properties. However I'll send you this excerpt from template-code, where records and subojects are used parallel and which could have to do with: ... {{#set: DatumVonBis=Zeitspanne;{{#var:VAR_DatumVon}};{{#var:VAR_DatumBis}} |DatumString=undefiniert |DatumVon={{#var:VAR_DatumVon}} |DatumBis={{#var:VAR_DatumBis}} }} {{#subobject:InternalArchivobjekt |InternalDatumVon={{#var:VAR_DatumVon}} |InternalDatumBis={{#var:VAR_DatumBis}} }} ... The "Property:DatumVonBis" looks this: [[Type::Record]] [[Has fields:: Verbundtyp; DatumVon; DatumBis]]
See comment on [1]. [1] https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/140#issuecomment-33660546
[1] fixes the issue and will deployed with 1.9.0.3. [1] https://github.com/SemanticMediaWiki/SemanticMediaWiki/pull/144