What is the problem?
If an election has numbers over 1000, it can lead to incorrect output in the tally page like: "1": 2,000 - 1 = 1,666.666668 (keep factor: 0.833333)
It also leads to errors in the logs like:
2021-08-26 12:48:55 [YSeNt-rwfjiz1jlhHBIJCAAAABQ] deployment-mediawiki11 votewiki 1.37.0-alpha error ERROR: [YSeNt-rwfjiz1jlhHBIJCAAAABQ] /wiki/Special:SecurePoll/tally/1954 PHP Notice: A non well formed numeric value encountered {"exception_url":"/wiki/Special:SecurePoll/tally/1954","reqId":"YSeNt-rwfjiz1jlhHBIJCAAAABQ","caught_by":"mwe_handler"} [Exception ErrorException] (/srv/mediawiki/php-master/extensions/SecurePoll/includes/Talliers/STVTallier.php:294) PHP Notice: A non well formed numeric value encountered #0 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Talliers/STVTallier.php(294): MWExceptionHandler::handleError(integer, string, string, integer, array) #1 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Talliers/ElectionTallier.php(185): MediaWiki\Extensions\SecurePoll\Talliers\STVTallier->getHtmlResult() #2 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Pages/TallyPage.php(208): MediaWiki\Extensions\SecurePoll\Talliers\ElectionTallier->getHtmlResult() #3 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Pages/TallyPage.php(92): MediaWiki\Extensions\SecurePoll\Pages\TallyPage->showTallyResult() #4 /srv/mediawiki/php-master/extensions/SecurePoll/includes/SpecialSecurePoll.php(70): MediaWiki\Extensions\SecurePoll\Pages\TallyPage->execute(array) #5 /srv/mediawiki/php-master/includes/specialpage/SpecialPage.php(646): MediaWiki\Extensions\SecurePoll\SpecialSecurePoll->execute(string) #6 /srv/mediawiki/php-master/includes/specialpage/SpecialPageFactory.php(1366): SpecialPage->run(string) #7 /srv/mediawiki/php-master/includes/MediaWiki.php(314): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext) #8 /srv/mediawiki/php-master/includes/MediaWiki.php(925): MediaWiki->performRequest() #9 /srv/mediawiki/php-master/includes/MediaWiki.php(559): MediaWiki->main() #10 /srv/mediawiki/php-master/index.php(53): MediaWiki->run() #11 /srv/mediawiki/php-master/index.php(46): wfIndexMain() #12 /srv/mediawiki/w/index.php(3): require(string) #13 {main} 2021-08-26 12:48:55 [YSeNt-rwfjiz1jlhHBIJCAAAABQ] deployment-mediawiki11 votewiki 1.37.0-alpha error ERROR: [YSeNt-rwfjiz1jlhHBIJCAAAABQ] /wiki/Special:SecurePoll/tally/1954 PHP Notice: A non well formed numeric value encountered {"exception_url":"/wiki/Special:SecurePoll/tally/1954","reqId":"YSeNt-rwfjiz1jlhHBIJCAAAABQ","caught_by":"mwe_handler"} [Exception ErrorException] (/srv/mediawiki/php-master/extensions/SecurePoll/includes/Talliers/STVTallier.php:317) PHP Notice: A non well formed numeric value encountered #0 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Talliers/STVTallier.php(317): MWExceptionHandler::handleError(integer, string, string, integer, array) #1 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Talliers/ElectionTallier.php(185): MediaWiki\Extensions\SecurePoll\Talliers\STVTallier->getHtmlResult() #2 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Pages/TallyPage.php(208): MediaWiki\Extensions\SecurePoll\Talliers\ElectionTallier->getHtmlResult() #3 /srv/mediawiki/php-master/extensions/SecurePoll/includes/Pages/TallyPage.php(92): MediaWiki\Extensions\SecurePoll\Pages\TallyPage->showTallyResult() #4 /srv/mediawiki/php-master/extensions/SecurePoll/includes/SpecialSecurePoll.php(70): MediaWiki\Extensions\SecurePoll\Pages\TallyPage->execute(array) #5 /srv/mediawiki/php-master/includes/specialpage/SpecialPage.php(646): MediaWiki\Extensions\SecurePoll\SpecialSecurePoll->execute(string) #6 /srv/mediawiki/php-master/includes/specialpage/SpecialPageFactory.php(1366): SpecialPage->run(string) #7 /srv/mediawiki/php-master/includes/MediaWiki.php(314): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, RequestContext) #8 /srv/mediawiki/php-master/includes/MediaWiki.php(925): MediaWiki->performRequest() #9 /srv/mediawiki/php-master/includes/MediaWiki.php(559): MediaWiki->main() #10 /srv/mediawiki/php-master/index.php(53): MediaWiki->run() #11 /srv/mediawiki/php-master/index.php(46): wfIndexMain() #12 /srv/mediawiki/w/index.php(3): require(string) #13 {main}
And also:
2021-08-26 12:48:56 [YSeNt-rwfjiz1jlhHBIJCAAAABQ] deployment-mediawiki11 votewiki 1.37.0-alpha formatnum WARNING: Language::formatNum with non-numeric string {"number":"1,666.666668"} 2021-08-26 12:48:56 [YSeNt-rwfjiz1jlhHBIJCAAAABQ] deployment-mediawiki11 votewiki 1.37.0-alpha formatnum WARNING: Language::formatNum with non-numeric string {"number":"1,555.555557"} 2021-08-26 12:48:56 [YSeNt-rwfjiz1jlhHBIJCAAAABQ] deployment-mediawiki11 votewiki 1.37.0-alpha formatnum WARNING: Language::formatNum with non-numeric string {"number":"1,185.185187"}
Found while testing T288740.
Steps to reproduce problem
blt file to reproduce errors above.
Examples on beta:
- https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1954
- https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1319
- https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1213 (round 3)
- https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1187 (round 7, 10)
- https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1249 (various rounds including 3, 4, 8, 12)
- https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1237 (various rounds including 3, 4, 12)
- I also saw this when testing the Irish general election, but I have not been able to upload this successfully to beta.
Environment
Wiki(s): SecurePoll 3.0.0 (1c3236a) 06:20, 30 August 2021