Page MenuHomePhabricator

PHP Warning: Class __PHP_Incomplete_Class has no unserializer
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Warning: Class __PHP_Incomplete_Class has no unserializer
exception.trace
from /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/objectcache/MediumSpecificBagOStuff.php(1174)
#0 [internal function]: MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/objectcache/MediumSpecificBagOStuff.php(1174): unserialize(string)
#2 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/objectcache/RedisBagOStuff.php(106): MediumSpecificBagOStuff->unserialize(string)
#3 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/objectcache/MediumSpecificBagOStuff.php(124): RedisBagOStuff->doGet(string, integer)
#4 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/ChronologyProtector.php(484): MediumSpecificBagOStuff->get(string)
#5 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/ChronologyProtector.php(408): Wikimedia\Rdbms\ChronologyProtector->lazyStartup()
#6 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/ChronologyProtector.php(269): Wikimedia\Rdbms\ChronologyProtector->getStartupSessionPositions()
#7 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/lbfactory/LBFactory.php(654): Wikimedia\Rdbms\ChronologyProtector->applySessionReplicationPosition(Wikimedia\Rdbms\LoadBalancer)
#8 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1486): Wikimedia\Rdbms\LBFactory->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer)
#9 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/loadbalancer/LoadBalancer.php(558): Wikimedia\Rdbms\LoadBalancer->lazyLoadReplicationPositions()
#10 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/loadbalancer/LoadBalancer.php(510): Wikimedia\Rdbms\LoadBalancer->getReaderIndex(string, string)
#11 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/loadbalancer/LoadBalancer.php(962): Wikimedia\Rdbms\LoadBalancer->getConnectionIndex(integer, array, string)
#12 /srv/mediawiki/php-1.37.0-wmf.16/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1097): Wikimedia\Rdbms\LoadBalancer->getConnection(integer, array, string, integer)
#13 /srv/mediawiki/php-1.37.0-wmf.16/includes/user/ActorStore.php(680): Wikimedia\Rdbms\LoadBalancer->getConnectionRef(integer, array, string)
#14 /srv/mediawiki/php-1.37.0-wmf.16/includes/user/ActorStore.php(724): MediaWiki\User\ActorStore->getDBConnectionRefForQueryFlags(integer)
#15 /srv/mediawiki/php-1.37.0-wmf.16/includes/user/ActorStore.php(243): MediaWiki\User\ActorStore->newSelectQueryBuilderForQueryFlags(integer)
#16 /srv/mediawiki/php-1.37.0-wmf.16/includes/user/User.php(936): MediaWiki\User\ActorStore->getUserIdentityByName(string, integer)
#17 /srv/mediawiki/php-1.37.0-wmf.16/extensions/CentralAuth/includes/CentralAuthUser.php(2080): User::idFromName(string)
#18 /srv/mediawiki/php-1.37.0-wmf.16/extensions/CentralAuth/includes/CentralAuthUser.php(2138): CentralAuthUser->canAuthenticate()
#19 /srv/mediawiki/php-1.37.0-wmf.16/extensions/CentralAuth/includes/session/CentralAuthSessionProvider.php(194): CentralAuthUser->authenticateWithToken(string)
#20 /srv/mediawiki/php-1.37.0-wmf.16/includes/session/SessionManager.php(525): CentralAuthSessionProvider->provideSessionInfo(WebRequest)
#21 /srv/mediawiki/php-1.37.0-wmf.16/includes/session/SessionManager.php(248): MediaWiki\Session\SessionManager->getSessionInfoForRequest(WebRequest)
#22 /srv/mediawiki/php-1.37.0-wmf.16/includes/WebRequest.php(826): MediaWiki\Session\SessionManager->getSessionForRequest(WebRequest)
#23 /srv/mediawiki/php-1.37.0-wmf.16/includes/session/SessionManager.php(169): WebRequest->getSession()
#24 /srv/mediawiki/php-1.37.0-wmf.16/includes/Setup.php(740): MediaWiki\Session\SessionManager::getGlobalSession()
#25 /srv/mediawiki/php-1.37.0-wmf.16/includes/WebStart.php(87): require_once(string)
#26 /srv/mediawiki/php-1.37.0-wmf.16/api.php(43): require(string)
#27 /srv/mediawiki/w/api.php(3): require(string)
#28 {main}
Impact

1700+ similar error messages within a 10 minutes of 1.37.0-wmf.17 promotion to group0.

Notes

There are many traces and similar manifesting errors to choose from. I've arbitrarily selected this one. Note that errors occurred in both existing wmf.16 wikis and the new wmf.17 version upon group0 promotion.

Event Timeline

dduvall triaged this task as Unbreak Now! priority.Aug 3 2021, 7:37 PM
dduvall created this task.

Change 709815 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@master] Revert \"Rename DB primary position interfaces to DBPrimaryPos and MySQLPrimaryPos\"

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

Change 709788 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@wmf/1.37.0-wmf.17] Add MySQLPrimaryPos as an alias to MySQLMasterPos

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

Change 709788 abandoned by Urbanecm:

[mediawiki/core@wmf/1.37.0-wmf.17] Add MySQLPrimaryPos as an alias to MySQLMasterPos

Reason:

wrong branch

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

Change 709789 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@wmf/1.37.0-wmf.16] Add MySQLPrimaryPos as an alias to MySQLMasterPos

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

Change 709789 merged by jenkins-bot:

[mediawiki/core@wmf/1.37.0-wmf.16] Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos

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

Mentioned in SAL (#wikimedia-operations) [2021-08-03T20:39:05Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/autoload.php: rMW2d4ea752ec6f: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 1/3) (duration: 01m 08s)

Mentioned in SAL (#wikimedia-operations) [2021-08-03T20:40:33Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/includes/libs/rdbms/database/position/DBMasterPos.php: rMW2d4ea752ec6f: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 2/3) (duration: 01m 07s)

Mentioned in SAL (#wikimedia-operations) [2021-08-03T20:41:48Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/includes/libs/rdbms/database/position/DBMasterPos.php: REVERT: rMW2d4ea752ec6f: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 2/3) (duration: 00m 37s)

Mentioned in SAL (#wikimedia-operations) [2021-08-03T20:44:21Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/autoload.php: REVERT: rMW2d4ea752ec6f: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 1/3) (duration: 00m 37s)

Change 709790 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@wmf/1.37.0-wmf.16] Revert \"Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos\"

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

Change 709790 merged by Urbanecm:

[mediawiki/core@wmf/1.37.0-wmf.16] Revert \"Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos\"

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

Change 709791 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@wmf/1.37.0-wmf.16] Revert \"Revert \"Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos\"\"

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

Change 709791 merged by jenkins-bot:

[mediawiki/core@wmf/1.37.0-wmf.16] Revert \"Revert \"Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos\"\"

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

Mentioned in SAL (#wikimedia-operations) [2021-08-03T22:15:52Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/includes/libs/rdbms/database/position/DBMasterPos.php: rMW7d286dc0feae: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 1/3) (duration: 01m 07s)

Mentioned in SAL (#wikimedia-operations) [2021-08-03T22:18:20Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/includes/libs/rdbms/database/position/MySQLMasterPos.php: rMW7d286dc0feae: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 2/3) (duration: 01m 07s)

Mentioned in SAL (#wikimedia-operations) [2021-08-03T22:20:01Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.16/autoload.php: rMW7d286dc0feae: Add (MySQL/DB)PrimaryPos as an alias to (MySQL/DB)MasterPos (T287988; 3/3) (duration: 01m 07s)

Mentioned in SAL (#wikimedia-operations) [2021-08-03T22:37:16Z] <dduvall> re-rolled 1.37.0-wmf.17 to group0 following rollback and subsequent fixes for T287988 (T281158)

dduvall claimed this task.

I'm no longer seeing this error following the deployment of the future compatible fix and group0 promotion. Thanks, all!

Change 709815 abandoned by Legoktm:

[mediawiki/core@master] Revert \"Rename DB primary position interfaces to DBPrimaryPos and MySQLPrimaryPos\"

Reason:

No longer needed, fixed by hack in wmf.16

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