-
-
Notifications
You must be signed in to change notification settings - Fork 244
Closed
Labels
bugOccurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal errorOccurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal error
Description
Setup
- SMW version: 4.2.0 (sheep-y fork)
- MW version: 1.4.2
- PHP version: 8.3.10
- DB system (MySQL, Blazegraph, etc.) and version: MySQL 10.5.23-MariaDB-0+deb11u1
Issue
Detailed description of the issue and a stack trace if applicable:
[DeferredUpdates] DeferredUpdates::run: started MediaWiki\Deferred\AutoCommitUpdate_MediaWiki\Deferred\LinksUpdate\LinksUpdate::doUpdate #1785
[exception] [c694115d35df408a715aa2a4] /index.php?title=Poison_Spray&action=submit
TypeError: SMW\MediaWiki\Hooks\LinksUpdateComplete::process(): Argument #1 ($linksUpdate) must be of type LinksUpdate, MediaWiki\Deferred\LinksUpdate\LinksUpdate given, called in /home/wiki/mediawiki-1.42.1/extensions/SemanticMediaWiki/src/MediaWiki/Hooks.php on line 839
#0 /home/wiki/mediawiki-1.42.1/extensions/SemanticMediaWiki/src/MediaWiki/Hooks.php(839): SMW\MediaWiki\Hooks\LinksUpdateComplete->process()
#1 /home/wiki/mediawiki-1.42.1/includes/HookContainer/HookContainer.php(159): SMW\MediaWiki\Hooks->onLinksUpdateComplete()
#2 /home/wiki/mediawiki-1.42.1/includes/HookContainer/HookRunner.php(2346): MediaWiki\HookContainer\HookContainer->run()
#3 /home/wiki/mediawiki-1.42.1/includes/deferred/LinksUpdate/LinksUpdate.php(194): MediaWiki\HookContainer\HookRunner->onLinksUpdateComplete()
#4 /home/wiki/mediawiki-1.42.1/includes/deferred/AutoCommitUpdate.php(47): MediaWiki\Deferred\LinksUpdate\LinksUpdate->MediaWiki\Deferred\LinksUpdate\{closure}()
#5 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(486): MediaWiki\Deferred\AutoCommitUpdate->doUpdate()
#6 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(198): MediaWiki\Deferred\DeferredUpdates::attemptUpdate()
#7 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(296): MediaWiki\Deferred\DeferredUpdates::run()
#8 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(269): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}()
#9 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(198): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue()
#10 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(293): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates()
#11 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(266): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}()
#12 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(198): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue()
#13 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(279): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates()
#14 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(672): MediaWiki\Deferred\DeferredUpdates::doUpdates()
#15 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(495): MediaWiki\MediaWikiEntryPoint->restInPeace()
#16 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(453): MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#17 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(208): MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#18 /home/wiki/mediawiki-1.42.1/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#19 {main}
[DeferredUpdates] Deferred update 'MediaWiki\Deferred\AutoCommitUpdate_MediaWiki\Deferred\LinksUpdate\LinksUpdate::doUpdate' failed to run.
#0 /home/wiki/mediawiki-1.42.1/extensions/SemanticMediaWiki/src/MediaWiki/Hooks.php(839): SMW\MediaWiki\Hooks\LinksUpdateComplete->process()
#1 /home/wiki/mediawiki-1.42.1/includes/HookContainer/HookContainer.php(159): SMW\MediaWiki\Hooks->onLinksUpdateComplete()
#2 /home/wiki/mediawiki-1.42.1/includes/HookContainer/HookRunner.php(2346): MediaWiki\HookContainer\HookContainer->run()
#3 /home/wiki/mediawiki-1.42.1/includes/deferred/LinksUpdate/LinksUpdate.php(194): MediaWiki\HookContainer\HookRunner->onLinksUpdateComplete()
#4 /home/wiki/mediawiki-1.42.1/includes/deferred/AutoCommitUpdate.php(47): MediaWiki\Deferred\LinksUpdate\LinksUpdate->MediaWiki\Deferred\LinksUpdate\{closure}()
#5 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(486): MediaWiki\Deferred\AutoCommitUpdate->doUpdate()
#6 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(198): MediaWiki\Deferred\DeferredUpdates::attemptUpdate()
#7 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(296): MediaWiki\Deferred\DeferredUpdates::run()
#8 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(269): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}()
#9 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(198): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue()
#10 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(293): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates()
#11 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(266): MediaWiki\Deferred\DeferredUpdates::MediaWiki\Deferred\{closure}()
#12 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdatesScope.php(198): MediaWiki\Deferred\DeferredUpdatesScope->processStageQueue()
#13 /home/wiki/mediawiki-1.42.1/includes/deferred/DeferredUpdates.php(279): MediaWiki\Deferred\DeferredUpdatesScope->processUpdates()
#14 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(672): MediaWiki\Deferred\DeferredUpdates::doUpdates()
#15 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(495): MediaWiki\MediaWikiEntryPoint->restInPeace()
#16 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(453): MediaWiki\MediaWikiEntryPoint->doPostOutputShutdown()
#17 /home/wiki/mediawiki-1.42.1/includes/MediaWikiEntryPoint.php(208): MediaWiki\MediaWikiEntryPoint->postOutputShutdown()
#18 /home/wiki/mediawiki-1.42.1/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#19 {main}
[rdbms] MediaWiki\Deferred\DeferredUpdatesScopeMediaWikiStack::onRunUpdateFailed: acknowledged server-side transaction loss on localhost
[rdbms] MediaWiki\Deferred\DeferredUpdatesScopeMediaWikiStack::onRunUpdateFailed: acknowledged server-side transaction loss on localhost
[DeferredUpdates] DeferredUpdates::run: ended MediaWiki\Deferred\AutoCommitUpdate_MediaWiki\Deferred\LinksUpdate\LinksUpdate::doUpdate #1785, processing time: 0.0009920597076416
Steps to reproduce the observation (recommendation is to use the sandbox):
- Edit a page that transcludes a template with properties to set
- Observe the debug log
- Press Save changes
- Debug log shows the exception above
- Updates to property values on related pages do not propagate without running
rebuildData.php
Quick fix that works on my machine™
diff --git a/src/MediaWiki/Hooks/LinksUpdateComplete.php b/src/MediaWiki/Hooks/LinksUpdateComplete.php
index 1fd8408ad..0a8fd97a7 100644
--- a/src/MediaWiki/Hooks/LinksUpdateComplete.php
+++ b/src/MediaWiki/Hooks/LinksUpdateComplete.php
@@ -72,7 +72,7 @@ class LinksUpdateComplete implements HookListener {
*
* @return true
*/
- public function process( LinksUpdate $linksUpdate ) {
+ public function process( \MediaWiki\Deferred\LinksUpdate\LinksUpdate $linksUpdate ) {
if ( $this->isReady === false ) {
return $this->doAbort();
}
anth1y and jaideraf
Metadata
Metadata
Assignees
Labels
bugOccurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal errorOccurrence of an unintended or unanticipated behaviour that causes a vulnerability or fatal error