Page MenuHomePhabricator

Class Flow\Exception\InvalidDataException does not exist / Declaration of Flow\Exception\FlowException::__construct should be compatible with Wikimedia\NormalizedException\NormalizedException::normalizedConstructor
Closed, ResolvedPublic

Description

Seen on a ConfirmEdit (CAPTCHA extension) patch, and effectively blocking CI of many other patches

09:50:30 There were 7 errors:
09:50:30 
09:50:30 1) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #0 ('foo', 0, '')
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}
09:50:30 
09:50:30 2) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #1 ('foo', 1234, '127.0.0.1')
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}
09:50:30 
09:50:30 3) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #2 ('', 0, '127.0.0.1')
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}
09:50:30 
09:50:30 4) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #3 ('foo', -25, '')
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}
09:50:30 
09:50:30 5) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #4 ('foo', null, '127.0.0.1')
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}
09:50:30 
09:50:30 6) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #5 (null, 55, '')
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}
09:50:30 
09:50:30 7) Flow\Tests\Model\UserTupleTest::testInvalidInput with data set #6 ('foo', 0, null)
09:50:30 PHPUnit\Framework\Exception: Class Flow\Exception\InvalidDataException does not exist
09:50:30 
09:50:30 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:135
09:50:30 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit:106
09:50:30 
09:50:30 Caused by
09:50:30 ReflectionException: Class Flow\Exception\InvalidDataException does not exist in /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php:2604
09:50:30 Stack trace:
09:50:30 #0 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(2604): ReflectionClass->__construct()
09:50:30 #1 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1619): PHPUnit\Framework\TestCase->checkExceptionExpectations()
09:50:30 #2 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php(135): PHPUnit\Framework\TestCase->runTest()
09:50:30 #3 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): MediaWikiUnitTestCase->runTest()
09:50:30 #4 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\Framework\TestCase->runBare()
09:50:30 #5 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\Framework\TestResult->run()
09:50:30 #6 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestCase->run()
09:50:30 #7 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #8 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #9 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #10 /workspace/src/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\Framework\TestSuite->run()
09:50:30 #11 /workspace/src/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run()
09:50:30 #12 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\TextUI\TestRunner->run()
09:50:30 #13 /workspace/src/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\TextUI\Command->run()
09:50:30 #14 phpvfscomposer:///workspace/src/vendor/phpunit/phpunit/phpunit(106): PHPUnit\TextUI\Command::main()
09:50:30 #15 /workspace/src/vendor/bin/phpunit(118): include('phpvfscomposer:...')
09:50:30 #16 {main}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Ah.

10:14:08 2025-01-28 10:06:33 3bf46f96019c wikidb: [6753f100325c63b554c495a2] [no req]   PHP Warning: Declaration of Flow\Exception\FlowException::__construct($message, $code = 'default', $context = Array) should be compatible with Wikimedia\NormalizedException\NormalizedException::normalizedConstructor(string $normalizedMessage, array $messageContext = Array, int $code = 0, ?Throwable $previous = NULL)
10:14:08 #0 /workspace/src/extensions/Flow/includes/Exception/FlowException.php(11): MWExceptionHandler::handleError()
10:14:08 #1 /workspace/src/includes/AutoLoader.php(226): require_once(string)
10:14:08 #2 [internal function]: AutoLoader::autoload()
10:14:08 #3 /workspace/src/extensions/Flow/includes/Exception/NoIndexException.php(8): spl_autoload_call()
10:14:08 #4 /workspace/src/includes/AutoLoader.php(226): require_once(string)
10:14:08 #5 [internal function]: AutoLoader::autoload()
10:14:08 #6 /workspace/src/extensions/Flow/includes/Data/ObjectLocator.php(305): spl_autoload_call()
10:14:08 #7 /workspace/src/extensions/Flow/includes/Data/ObjectLocator.php(93): Flow\Data\ObjectLocator->getIndexFor()
10:14:08 #8 /workspace/src/extensions/Flow/includes/Data/ObjectLocator.php(69): Flow\Data\ObjectLocator->findMulti()
10:14:08 #9 /workspace/src/extensions/Flow/maintenance/FlowFixLinks.php(58): Flow\Data\ObjectLocator->find()
10:14:08 #10 /workspace/src/extensions/Flow/maintenance/FlowFixLinks.php(46): Flow\Maintenance\FlowFixLinks->removeVirtualPages()
10:14:08 #11 /workspace/src/maintenance/includes/LoggedUpdateMaintenance.php(51): Flow\Maintenance\FlowFixLinks->doDBUpdates()
10:14:08 #12 /workspace/src/maintenance/update.php(209): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
10:14:08 #13 /workspace/src/maintenance/includes/MaintenanceRunner.php(695): UpdateMediaWiki->execute()
10:14:08 #14 /workspace/src/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
10:14:08 #15 /workspace/src/maintenance/update.php(310): require_once(string)
10:14:08 #16 {main}
Reedy triaged this task as High priority.Jan 28 2025, 10:48 AM
Reedy raised the priority of this task from High to Unbreak Now!.Jan 28 2025, 12:03 PM
Reedy updated the task description. (Show Details)
Reedy renamed this task from Class Flow\Exception\InvalidDataException does not exist to Class Flow\Exception\InvalidDataException does not exist / Declaration of Flow\Exception\FlowException::__construct should be compatible with Wikimedia\NormalizedException\NormalizedException::normalizedConstructor.Jan 28 2025, 12:14 PM

Hm, this seems quite unfortunate… normally PHP doesn’t require constructor signatures to be compatible, but apparently this confuses it into requiring it?

class NormalizedException extends Exception implements INormalizedException {

	use NormalizedExceptionTrait {
		NormalizedExceptionTrait::normalizedConstructor as __construct;
	}

}

Effectively caused by Update wikimedia/normalized-exception to 2.1.1.

normally PHP doesn’t require constructor signatures to be compatible, but apparently this confuses it into requiring it?

Aha, the error only exists on PHP 7.4. PHP 8 fixes it. https://3v4l.org/7uiLN#veol

That’s going to make testing a fix more annoying :/ my idea was to introduce a new parent class (e.g. BaseFlowException) which extends NormalizedException with a compatible constructor signature, and then have FlowException extend this with its incompatible signature, and hope that this is enough to make PHP happy. Anybody got a PHP 7.4 environment and want to try this idea out? :)

Change #1114736 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Flow@master] WIP: Try fixing T384905

https://gerrit.wikimedia.org/r/1114736

normally PHP doesn’t require constructor signatures to be compatible, but apparently this confuses it into requiring it?

Aha, the error only exists on PHP 7.4. PHP 8 fixes it. https://3v4l.org/7uiLN#veol

I wonder if it’s easier to just revert that vendor bump until we get 8.1 deployed and stable…

Might be, yeah. (Given that the fix, if it works, would have to be repeated in Flow, GrowthExperiments, and one or two other repos as well.)

(FTR, I don’t know what the right deploy order would be for reverting a core+vendor change…)

Might be, yeah. (Given that the fix, if it works, would have to be repeated in Flow, GrowthExperiments, and one or two other repos as well.)

I'm wondering if doing https://gerrit.wikimedia.org/r/c/mediawiki/extensions/GrowthExperiments/+/1114696 and https://gerrit.wikimedia.org/r/c/mediawiki/extensions/AutoModerator/+/1114695 (removing the duplicated constructor that doesn't do anything) removes those needs...

(FTR, I don’t know what the right deploy order would be for reverting a core+vendor change…)

Same as bumping I guess... Have an MW core patch that depends on the vendor and let CI merge the two...

Per codesearch:

  • DiscussionTools should be fine
  • AutoModerator and GrowthExperiments should be fine, we can remove the constructor just in case
  • Flow and RequestTimeout have meaningfully different exception constructor signatures. Probably the best thing to do there is to drop NormalizedException as a parent and directly implement INormalizedException instead.

Change #1114736 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Flow@master] WIP: Try fixing T384905

https://gerrit.wikimedia.org/r/1114736

FWIW CI for this looks relatively promising at the moment (once I fixed the PHPCS issue). I can upload a less-WIP version soon.

We could also just undo the change to NormalizedException and release v2.1.2. The point of the new release was to make the default constructor available as a trait method, the change to NormalizedException was just meant as a small code quality improvement.

Change #1114736 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Fix PHP 7.4 issue

https://gerrit.wikimedia.org/r/1114736

Change #1114750 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/libs/RequestTimeout@master] Fix TimeoutException constructor after NormalizedException change

https://gerrit.wikimedia.org/r/1114750

Change #1114750 merged by jenkins-bot:

[mediawiki/libs/RequestTimeout@master] Fix TimeoutException constructor after NormalizedException change

https://gerrit.wikimedia.org/r/1114750

Thanks for the fixes, I re-trigggered the gate-and-submit jobs on patches that I could find which failed due to this bug.

Change #1114754 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/vendor@master] wikimedia/request-timeout: 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114754

Change #1114760 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/core@master] composer: wikimedia/request-timeout 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114760

Change #1114764 had a related patch set uploaded (by Gergő Tisza; author: Gergő Tisza):

[mediawiki/libs/NormalizedException@master] Add test for the common case of subclassing NormalizedException

https://gerrit.wikimedia.org/r/1114764

Change #1114754 merged by jenkins-bot:

[mediawiki/vendor@master] wikimedia/request-timeout: 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114754

Change #1114760 merged by jenkins-bot:

[mediawiki/core@master] composer: wikimedia/request-timeout 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114760

Change #1114764 merged by jenkins-bot:

[mediawiki/libs/NormalizedException@master] Add test for the common case of subclassing NormalizedException

https://gerrit.wikimedia.org/r/1114764

The faulty change https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1112730 made it into wmf.14, I think we have to backport the fixes too.

Change #1114799 had a related patch set uploaded (by Bartosz Dziewoński; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.14] Fix PHP 7.4 issue

https://gerrit.wikimedia.org/r/1114799

Change #1114800 had a related patch set uploaded (by Bartosz Dziewoński; author: Gergő Tisza):

[mediawiki/vendor@wmf/1.44.0-wmf.14] wikimedia/request-timeout: 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114800

Change #1114802 had a related patch set uploaded (by Bartosz Dziewoński; author: Gergő Tisza):

[mediawiki/core@wmf/1.44.0-wmf.14] composer: wikimedia/request-timeout 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114802

Change #1114799 merged by jenkins-bot:

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.14] Fix PHP 7.4 issue

https://gerrit.wikimedia.org/r/1114799

Change #1114800 merged by jenkins-bot:

[mediawiki/vendor@wmf/1.44.0-wmf.14] wikimedia/request-timeout: 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114800

Change #1114802 merged by Jeena Huneidi:

[mediawiki/core@wmf/1.44.0-wmf.14] composer: wikimedia/request-timeout 2.0.1 -> 2.0.2

https://gerrit.wikimedia.org/r/1114802

Mentioned in SAL (#wikimedia-operations) [2025-01-28T22:01:20Z] <jhuneidi@deploy2002> Started scap sync-world: Backport for [[gerrit:1114799|Fix PHP 7.4 issue (T384905)]], [[gerrit:1114800|wikimedia/request-timeout: 2.0.1 -> 2.0.2 (T384905)]], [[gerrit:1114802|composer: wikimedia/request-timeout 2.0.1 -> 2.0.2 (T384905)]]

Mentioned in SAL (#wikimedia-operations) [2025-01-28T22:06:14Z] <jhuneidi@deploy2002> jhuneidi, matmarex: Backport for [[gerrit:1114799|Fix PHP 7.4 issue (T384905)]], [[gerrit:1114800|wikimedia/request-timeout: 2.0.1 -> 2.0.2 (T384905)]], [[gerrit:1114802|composer: wikimedia/request-timeout 2.0.1 -> 2.0.2 (T384905)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)