Author: van.de.bugger
Description:
`[[Corresponds to::0 xxx]]' causes error message:
Warning: Division by zero in /var/www/ocw/mediawiki-1.17.1/extensions /SemanticMediaWiki/includes/datavalues/SMW_DV_Quantity.php on line 30
and `Special:Internal error' with stack backtrace:
Initialisation value '' is not a number.
Backtrace:
#0 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Quantity.php(30): SMWDINumber->__construct(false, '_qty')
#1 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/datavalues/SMW_DV_Number.php(110): SMWQuantityValue->convertToMainUnit(1, '????????')
#2 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/datavalues/SMW_DataValue.php(169): SMWNumberValue->parseUserValue('1 ????????')
#3 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/SMW_DataValueFactory.php(113): SMWDataValue->setUserValue('1 ????????', false)
#4 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/SMW_DataValueFactory.php(177): SMWDataValueFactory::newTypeIdValue('_qty', '1 ????????', false, Object(SMWDIProperty), Object(SMWDIWikiPage))
#5 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/SMW_ParseData.php(113): SMWDataValueFactory::newPropertyObjectValue(Object(SMWDIProperty), '1 ????????', false, Object(SMWDIWikiPage))
#6 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/SMW_ParserExtensions.php(165): SMWParseData::addProperty('Time to search', '1 ????????', false, Object(Parser), true)
#7 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/SMW_ParserExtensions.php(112): SMWParserExtensions::parsePropertiesCallback(Array)
#8 [internal function]: SMWParserExtensions::simpleParsePropertiesCallback(Array)
#9 /var/www/ocw/mediawiki-1.17.1/extensions/SemanticMediaWiki/includes/SMW_ParserExtensions.php(71): preg_replace_callback('/\[\[ ...', Array, '?* [[Time to se...')
#10 [internal function]: SMWParserExtensions::onInternalParseBeforeLinks(Object(Parser), '?* [[Time to se...', Object(StripState))
#11 /var/www/ocw/mediawiki-1.17.1/includes/Hooks.php(158): call_user_func_array(Array, Array)
#12 /var/www/ocw/mediawiki-1.17.1/includes/parser/Parser.php(1005): wfRunHooks('InternalParseBe...', Array)
#13 /var/www/ocw/mediawiki-1.17.1/includes/parser/Parser.php(283): Parser->internalParse('<!-- * [[Time t...')
#14 /var/www/ocw/mediawiki-1.17.1/includes/EditPage.php(1939): Parser->parse('<!-- * [[Time t...', Object(Title), Object(ParserOptions))
#15 /var/www/ocw/mediawiki-1.17.1/includes/EditPage.php(1218): EditPage->getPreviewText()
#16 /var/www/ocw/mediawiki-1.17.1/includes/EditPage.php(437): EditPage->showEditForm()
#17 /var/www/ocw/mediawiki-1.17.1/includes/EditPage.php(296): EditPage->edit()
#18 /var/www/ocw/mediawiki-1.17.1/includes/Wiki.php(522): EditPage->submit()
#19 /var/www/ocw/mediawiki-1.17.1/includes/Wiki.php(69): MediaWiki->performAction(Object(OutputPage), Object(Article), Object(Title), Object(User), Object(WebRequest))
#20 /var/www/ocw/mediawiki-1.17.1/index.php(114): MediaWiki->performRequestForTitle(Object(Title), Object(Article), Object(OutputPage), Object(User), Object(WebRequest))
#21 {main}
Zero value for `Corresponds to' is a user mistake, but it should not cause SMW internal error with PHP stack dump.
BTW, I faced with problem by a mistake. I wrote [[Corresponds to::0.001 km]]'. Looks pretty good, doesn't? But MW content language specifies decimal separator as comma, so 0.001 km' is parsed as number 0' and unit .0001 km'. However, no warning or errors are show on property page. Instead, it causes stack dump on another page…
Version: unspecified
Severity: normal