Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMW_DI_Time.php: There is no year 0 in Gregorian and Julian calendars #2259

Closed
Klaus15 opened this issue Feb 15, 2017 · 2 comments
Closed

SMW_DI_Time.php: There is no year 0 in Gregorian and Julian calendars #2259

Klaus15 opened this issue Feb 15, 2017 · 2 comments
Labels
bug Occurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal error duplicate

Comments

@Klaus15
Copy link

Klaus15 commented Feb 15, 2017

Setup and configuration

  • SMW version: 2.4.5
  • MW version: 1.25.1
  • PHP version: 5.6.30-0+deb8u1
  • DB (MySQL etc.): 5.5.54-0+deb8u1

Issue

After an Test-Update from smw 2.2 to smw 2.45 I'm getting errors when I execute rebuildData.php -v -d 50 (I've already done setupStore.php --delete / setupStore.php )

(349/85247)     Finished processing ID 353* (Datei:Dialog-error.png)
[3ec40548] [no req]   SMW\DataItemException from line 133 of /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Time.php: There is no year 0 in Gregorian and Julian calendars.
Backtrace:
#0 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Time.php(152): SMWDITime->__construct(integer, string)
#1 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/datavalues/SMW_DataValue.php(171): SMWTimeValue->parseUserValue(string)
#2 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/DataValueFactory.php(123): SMWDataValue->setUserValue(string, boolean)
#3 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/DataValueFactory.php(172): SMW\DataValueFactory->newDataValueByType(string, string, boolean, SMW\DIProperty, SMW\DIWikiPage)
#4 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/DataValueFactory.php(229): SMW\DataValueFactory->newDataValueByProperty(SMW\DIProperty, string, boolean, SMW\DIWikiPage)
#5 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(409): SMW\DataValueFactory->newDataValueByText(string, string, boolean, SMW\DIWikiPage)
#6 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(386): SMW\InTextAnnotationParser->addPropertyValue(array, string, boolean)
#7 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(323): SMW\InTextAnnotationParser->process(array)
#8 [internal function]: SMW\InTextAnnotationParser->preprocess(array)
#9 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(133): preg_replace_callback(string, string, string)
#10 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/InternalParseBeforeLinks.php(110): SMW\InTextAnnotationParser->parse(string)
#11 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/InternalParseBeforeLinks.php(62): SMW\MediaWiki\Hooks\InternalParseBeforeLinks->performUpdate()
#12 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/HookRegistry.php(204): SMW\MediaWiki\Hooks\InternalParseBeforeLinks->process()
#13 [internal function]: SMW\MediaWiki\Hooks\HookRegistry->SMW\MediaWiki\Hooks\{closure}(Parser, string, StripState)
#14 /var/www/html/mediawiki/includes/Hooks.php(209): call_user_func_array(Closure, array)
#15 /var/www/html/mediawiki/includes/parser/Parser.php(1241): Hooks::run(string, array)
#16 /var/www/html/mediawiki/includes/parser/Parser.php(434): Parser->internalParse(string)
#17 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/ContentParser.php(202): Parser->parse(string, Title, ParserOptions, boolean, boolean, integer)
#18 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/ContentParser.php(147): SMW\ContentParser->fetchFromParser()
#19 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(135): SMW\ContentParser->parse()
#20 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(118): SMW\MediaWiki\Jobs\UpdateJob->needToParsePageContentBeforeUpdate()
#21 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(87): SMW\MediaWiki\Jobs\UpdateJob->doPrepareForUpdate()
#22 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(56): SMW\MediaWiki\Jobs\UpdateJob->doUpdate()
#23 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/SQLStore/ByIdDataRebuildDispatcher.php(191): SMW\MediaWiki\Jobs\UpdateJob->run()
#24 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/Maintenance/DataRebuilder.php(307): SMW\SQLStore\ByIdDataRebuildDispatcher->dispatchRebuildFor(integer)
#25 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/Maintenance/DataRebuilder.php(266): SMW\Maintenance\DataRebuilder->doExecuteFor(SMW\SQLStore\ByIdDataRebuildDispatcher, integer)
#26 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/Maintenance/DataRebuilder.php(167): SMW\Maintenance\DataRebuilder->doRebuildAll()
#27 /var/www/html/mediawiki/extensions/SemanticMediaWiki/maintenance/rebuildData.php(149): SMW\Maintenance\DataRebuilder->rebuild()
#28 /var/www/html/mediawiki/maintenance/doMaintenance.php(103): SMW\Maintenance\RebuildData->execute()
#29 /var/www/html/mediawiki/extensions/SemanticMediaWiki/maintenance/rebuildData.php(197): require_once(string)
#30 {main}

After searching around a little bit, it turns out, that rebuilddata.php runs ok when I delete all "Date"-Attributes in the wiki. Has there been a change in the definition of date-attributes? I'm defining them as [[Datentyp::Datum]]

I've also turned on $wgDebugDumpSql in Localsettings.php:

Query mediawiki (15697) (slave): SELECT /* SMWSql3SmwIds::getDatabaseIdAndSort 127.0.0.1 */  smw_id,smw_sortkey  FROM `smw_object_ids`   WHERE smw_title = 'Has_lastlogon' AND smw_namespace = '102' AND smw_iw = '' AND smw_subobject = ''  LIMIT 1
Query mediawiki (15698) (slave): SELECT /* SMWSQLStore3Readers::fetchSemanticData 127.0.0.1 */  o_id AS id0,o0.smw_title AS v0,o0.smw_namespace AS v1,o0.smw_iw AS v2,o0.smw_sortkey AS v3,o0.smw_subobject AS v4  FROM `smw_fpt_redi` INNER JOIN `smw_object_ids` AS o0 ON o_id=o0.smw_id   WHERE s_title='Has_lastlogon' AND s_namespace='102'
Query mediawiki (15699) (slave): SELECT /* SMWSQLStore3Readers::fetchSemanticData 127.0.0.1 */  o_serialized AS v0  FROM `smw_fpt_type`   WHERE s_id='1105'
Query mediawiki (15700) (slave): SELECT /* SqlBagOStuff::getMulti 127.0.0.1 */  keyname,value,exptime  FROM `objectcache`   WHERE keyname = 'mediawiki:smw:pvp:store:c942ddeab7d4c736097c4c12921ad2c0'
Query mediawiki (15701) (slave): SELECT /* SqlBagOStuff::getMulti 127.0.0.1 */  keyname,value,exptime  FROM `objectcache`   WHERE keyname = 'mediawiki:smw:pvp:store:608b2df1b928aaf28177005f014b0268'
Query mediawiki (15702) (slave): SELECT /* SMWSql3SmwIds::getDatabaseIdAndSort 127.0.0.1 */  smw_id,smw_sortkey  FROM `smw_object_ids`   WHERE smw_title = 'Has_badpwdcount' AND smw_namespace = '102' AND smw_iw = '' AND smw_subobject = ''  LIMIT 1
Query mediawiki (15703) (slave): SELECT /* SMWSQLStore3Readers::fetchSemanticData 127.0.0.1 */  o_id AS id0,o0.smw_title AS v0,o0.smw_namespace AS v1,o0.smw_iw AS v2,o0.smw_sortkey AS v3,o0.smw_subobject AS v4  FROM `smw_fpt_redi` INNER JOIN `smw_object_ids` AS o0 ON o_id=o0.smw_id   WHERE s_title='Has_badpwdcount' AND s_namespace='102'
Query mediawiki (15704) (slave): SELECT /* SMWSQLStore3Readers::fetchSemanticData 127.0.0.1 */  o_serialized AS v0  FROM `smw_fpt_type`   WHERE s_id='984'
[exception] [79b1272a] [no req]   SMW\DataItemException from line 133 of /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/dataitems/SMW_DI_Time.php: There is no year 0 in Gregorian and Julian calendars.
#0 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Time.php(152): SMWDITime->__construct(2, '0')
#1 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/datavalues/SMW_DataValue.php(171): SMWTimeValue->parseUserValue('0')
#2 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/DataValueFactory.php(123): SMWDataValue->setUserValue('0', false)
#3 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/DataValueFactory.php(172): SMW\DataValueFactory->newDataValueByType('_dat', '0', false, Object(SMW\DIProperty), Object(SMW\DIWikiPage))
#4 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/DataValueFactory.php(229): SMW\DataValueFactory->newDataValueByProperty(Object(SMW\DIProperty), '0', false, Object(SMW\DIWikiPage))
#5 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(409): SMW\DataValueFactory->newDataValueByText('Has badpwdcount', '0', false, Object(SMW\DIWikiPage))
#6 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(386): SMW\InTextAnnotationParser->addPropertyValue(Array, '0', false)
#7 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(323): SMW\InTextAnnotationParser->process(Array)
#8 [internal function]: SMW\InTextAnnotationParser->preprocess(Array)
#9 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/InTextAnnotationParser.php(133): preg_replace_callback('/\\[\\[          ...', 'self::preproces...', '<span style="co...')
#10 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/InternalParseBeforeLinks.php(110): SMW\InTextAnnotationParser->parse('<span style="co...')
#11 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/InternalParseBeforeLinks.php(62): SMW\MediaWiki\Hooks\InternalParseBeforeLinks->performUpdate()
#12 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/HookRegistry.php(204): SMW\MediaWiki\Hooks\InternalParseBeforeLinks->process()
#13 [internal function]: SMW\MediaWiki\Hooks\HookRegistry->SMW\MediaWiki\Hooks\{closure}(Object(Parser), '<span style="co...', Object(StripState))
#14 /var/www/html/mediawiki/includes/Hooks.php(209): call_user_func_array(Object(Closure), Array)
#15 /var/www/html/mediawiki/includes/parser/Parser.php(1241): Hooks::run('InternalParseBe...', Array)
#16 /var/www/html/mediawiki/includes/parser/Parser.php(434): Parser->internalParse('{{AD-User\n|salu...')
#17 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/ContentParser.php(202): Parser->parse('{{AD-User\n|salu...', Object(Title), Object(ParserOptions), true, true, 932762)
#18 /var/www/html/mediawiki/extensions/SemanticMediaWiki/includes/ContentParser.php(147): SMW\ContentParser->fetchFromParser()
#19 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(135): SMW\ContentParser->parse()
#20 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(118): SMW\MediaWiki\Jobs\UpdateJob->needToParsePageContentBeforeUpdate()
#21 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(87): SMW\MediaWiki\Jobs\UpdateJob->doPrepareForUpdate()
#22 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/MediaWiki/Jobs/UpdateJob.php(56): SMW\MediaWiki\Jobs\UpdateJob->doUpdate()
#23 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/SQLStore/ByIdDataRebuildDispatcher.php(191): SMW\MediaWiki\Jobs\UpdateJob->run()
#24 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/Maintenance/DataRebuilder.php(307): SMW\SQLStore\ByIdDataRebuildDispatcher->dispatchRebuildFor(353)
#25 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/Maintenance/DataRebuilder.php(266): SMW\Maintenance\DataRebuilder->doExecuteFor(Object(SMW\SQLStore\ByIdDataRebuildDispatcher), 353)
#26 /var/www/html/mediawiki/extensions/SemanticMediaWiki/src/Maintenance/DataRebuilder.php(167): SMW\Maintenance\DataRebuilder->doRebuildAll()
#27 /var/www/html/mediawiki/extensions/SemanticMediaWiki/maintenance/rebuildData.php(149): SMW\Maintenance\DataRebuilder->rebuild()
#28 /var/www/html/mediawiki/maintenance/doMaintenance.php(103): SMW\Maintenance\RebuildData->execute()
#29 /var/www/html/mediawiki/extensions/SemanticMediaWiki/maintenance/rebuildData.php(197): require_once('/var/www/html/m...')
#30 {main}

Can you help me with that?

Thanks a lot,
Klaus

@mwjames
Copy link
Contributor

mwjames commented Feb 15, 2017 via email

@kghbln kghbln added bug Occurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal error duplicate labels Feb 15, 2017
@kghbln
Copy link
Member

kghbln commented Feb 15, 2017

@Klaus15 Thanks for reporting.

As indicated in [1] it will be deployed with 2.5 but if someone wants to do a backport we might get this out earlier.

I did not see this until now so 2.4.6 got released today without a backport for this. :( Sometimes things fail to fall into place properly. Thus it will most likely be 2.5.0 next month.

@kghbln kghbln closed this as completed Feb 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Occurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal error duplicate
Projects
None yet
Development

No branches or pull requests

3 participants