Page MenuHomeMiraheze

DBQueryError (SMW-related)
Closed, ResolvedPublic

Description

Not mere minutes after I implemented some otherwise harmless SMW-supplied {{#ask:}} code in my wiki's {{Definition/Nearby}} dictionary component, pages in the Entry namespace defining Tovasala words (nearly all of the English side unaffected) got rendered as inaccessible. From the shared English/Tovasala entry on ad at press time:

A database query error has occurred. This may indicate a bug in the software.

[35d9af9054b2d529052e66f4] 2022-07-09 14:37:06: Fatal exception of type "Wikimedia\Rdbms\DBQueryError"

...as well as the Tovasala-English entry for sabar (to know):

A database query error has occurred. This may indicate a bug in the software.

[0c0d8051545e1be49bfd1367] 2022-07-09 14:39:28: Fatal exception of type "Wikimedia\Rdbms\DBQueryError"

Reverting to the barely functional DPL3 setup from before until diagnosis surfaces. (Previous run-in with DBQuery [via DPL3] detailed at T8975.)

Event Timeline

Reception123 triaged this task as Normal priority.Jul 9 2022, 16:24
Wikimedia\\Rdbms\\DBQueryError: Error 1044: Access denied for user 'mediawiki'@'%' to database 'constantnoblewiki' (db101)
Function: SMW\\SQLStore\\TableBuilder\\TemporaryTableBuilder::create
Query: CREATE TEMPORARY TABLE `t5`( id INT UNSIGNED KEY ) ENGINE=MEMORY
from /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(1606)
#0 /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(1590): Wikimedia\\Rdbms\\Database->getQueryException(string, integer, string, string)
#1 /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(1564): Wikimedia\\Rdbms\\Database->getQueryExceptionAndLog(string, integer, string, string)
#2 /srv/mediawiki/w/includes/libs/rdbms/database/Database.php(1173): Wikimedia\\Rdbms\\Database->reportQueryError(string, integer, string, string, boolean)
#3 /srv/mediawiki/w/includes/libs/rdbms/database/DBConnRef.php(69): Wikimedia\\Rdbms\\Database->query(string, string, integer)
#4 /srv/mediawiki/w/includes/libs/rdbms/database/DBConnRef.php(287): Wikimedia\\Rdbms\\DBConnRef->__call(string, array)
#5 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/MediaWiki/Connection/Database.php(379): Wikimedia\\Rdbms\\DBConnRef->query(string, string, boolean)
#6 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/MediaWiki/Connection/Database.php(291): SMW\\MediaWiki\\Connection\\Database->executeQuery(Wikimedia\\Rdbms\\DBConnRef, string, string, boolean)
#7 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/TableBuilder/TemporaryTableBuilder.php(59): SMW\\MediaWiki\\Connection\\Database->query(string, string, boolean)
#8 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/HierarchyTempTableBuilder.php(111): SMW\\SQLStore\\TableBuilder\\TemporaryTableBuilder->create(string)
#9 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(355): SMW\\SQLStore\\QueryEngine\\HierarchyTempTableBuilder->fillTempTable(string, string, string, integer)
#10 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(132): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->hierarchy(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#11 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(146): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->segment(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#12 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(122): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->table(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#13 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(146): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->segment(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#14 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(122): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->table(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#15 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(228): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->segment(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#16 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(125): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->conjunction(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#17 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(146): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->segment(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#18 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(122): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->table(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#19 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QuerySegmentListProcessor.php(115): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->segment(SMW\\SQLStore\\QueryEngine\\QuerySegment)
#20 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/QueryEngine/QueryEngine.php(199): SMW\\SQLStore\\QueryEngine\\QuerySegmentListProcessor->process(integer)
#21 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/SQLStore.php(388): SMW\\SQLStore\\QueryEngine\\QueryEngine->getQueryResult(SMWQuery)
#22 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/SQLStore/SQLStore.php(376): SMW\\SQLStore\\SQLStore->fetchQueryResult(SMWQuery)
#23 /srv/mediawiki/w/extensions/SemanticMediaWiki/includes/query/SMW_QueryProcessor.php(338): SMW\\SQLStore\\SQLStore->getQueryResult(SMWQuery)
#24 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/ParserFunctions/AskParserFunction.php(361): SMWQueryProcessor::getResultFromQuery(SMWQuery, array, integer, integer)
#25 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/ParserFunctions/AskParserFunction.php(196): SMW\\ParserFunctions\\AskParserFunction->doFetchResultsFromFunctionParameters(array, array)
#26 /srv/mediawiki/w/extensions/SemanticMediaWiki/src/ParserFunctionFactory.php(402): SMW\\ParserFunctions\\AskParserFunction->parse(array)
#27 /srv/mediawiki/w/includes/parser/Parser.php(3413): SMW\\ParserFunctionFactory->SMW\\{closure}(Parser, string, string, string, string, string, string, string, string, string, string, string, string)
#28 /srv/mediawiki/w/includes/parser/Parser.php(3096): Parser->callParserFunction(PPTemplateFrame_Hash, string, array)
...
Universal_Omega claimed this task.
Universal_Omega added a project: Database.

I think I have now fixed this by granting the CREATE TEMPORARY TABLES permission in mariadb, but please let us know if it worked. Thanks!