Skip to content

[Bug]: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column revenue_evolution and nb_conversions_evolution in row #21373

@tsteur

Description

@tsteur

What happened?

We're seeing below archiving problem in Matomo 5. Note that these are all happening during archiving.

[2023-10-03 17:52:04] piwik.WARNING: Exception: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column revenue_evolution in row # ['label' => -2, 'nb_visits' => 194, 'nb_actions' => 567, 'nb_pageviews' => 566, 'revenue' => 0, 'nb_conversions' => 0, 'visits_evolution' => 0, 'visits_evolution_trend' => 2, 'actions_evolution' => 0, 'actions_evolution_trend' => 2, 'pageviews_evolution' => 0, 'pageviews_evolution_trend' => 2, 'revenue_evolution' => 0, 'revenue_evolution_trend' => 0, 'nb_conversions_evolution' => 0, 'nb_conversions_evolution_trend' => 0, 'orders' => 0, 'ecommerce_revenue' => 0, 'orders_evolution' => 0, 'orders_evolution_trend' => 0, 'ecommerce_revenue_evolution' => 0, 'ecommerce_revenue_evolution_trend' => 0] [] [idsubtable = ]
in /core/DataTable/Row.php:808 Stack trace: #0 /core/DataTable/Row.php(691): Piwik\DataTable\Row->warnWhenSummingTwoStrings(0, '0%', 'revenue_evoluti...') #1 /core/DataTable/Row.php(534): Piwik\DataTable\Row->sumRowArray(0, '0%', 'revenue_evoluti...') #2 /core/DataTable/Row.php(503): Piwik\DataTable\Row->getColumnValuesMerged('sum', 0, '0%', Object(Piwik\DataTable\Row), Object(Piwik\DataTable\Row), 'revenue_evoluti...') #3 /core/API/DataTableManipulator/ReportTotalsCalculator.php(113): Piwik\DataTable\Row->sumRow(Object(Piwik\DataTable\Row), false, false) #4 /core/API/DataTableManipulator.php(66): Piwik\API\DataTableManipulator\ReportTotalsCalculator->manipulateDataTable(Object(Piwik\DataTable)) #5 /core/API/DataTableManipulator/ReportTotalsCalculator.php(60): Piwik\API\DataTableManipulator->manipulate(Object(Piwik\DataTable)) #6 /core/API/DataTablePostProcessor.php(206): Piwik\API\DataTableManipulator\ReportTotalsCalculator->calculate(Object(Piwik\DataTable)) #7 /core/API/DataTablePostProcessor.php(115): Piwik\API\DataTablePostProcessor->applyTotalsCalculator(Object(Piwik\DataTable)) #8 /core/API/ResponseBuilder.php(190): Piwik\API\DataTablePostProcessor->process(Object(Piwik\DataTable)) #9 /core/API/ResponseBuilder.php(104): Piwik\API\ResponseBuilder->handleDataTable(Object(Piwik\DataTable)) #10 /core/API/Request.php(278): Piwik\API\ResponseBuilder->getResponse(Object(Piwik\DataTable), 'MultiSites', 'getAll') #11 /core/Context.php(28): Piwik\API\Request->Piwik\API{closure}() #12 /core/API/Request.php(279): Piwik\Context::executeWithQueryParameters(Array, Object(Closure)) #13 /plugins/API/ProcessedReport.php(391): Piwik\API\Request->process() #14 /plugins/API/API.php(282): Piwik\Plugins\API\ProcessedReport->getProcessedReport('1', 'day', '2023-10-02', 'MultiSites', 'getAll', false, Array, false, 'en', true, false, false, false, 'bc', false) #15 [internal function]: Piwik\Plugins\API\API->getProcessedReport('1', 'day', '2023-10-02', 'MultiSites', 'getAll', false, Array, false, 'en', true, false, false, false, 'bc', false) #16 /core/API/Proxy.php(255): call_user_func_array(Array, Array) #17 /core/Context.php(28): Piwik\API\Proxy->Piwik\API{closure}() #18 /core/API/Proxy.php(346): Piwik\Context::executeWithQueryParameters(Array, Object(Closure)) #19 /core/API/Request.php(272): Piwik\API\Proxy->call('\Piwik\Plugins\...', 'getProcessedRep...', Array) #20 /core/API/Request.php(578): Piwik\API\Request->process() #21 /plugins/ScheduledReports/API.php(488): Piwik\API\Request::processRequest('API.getProcesse...', Array) #22 /plugins/ScheduledReports/API.php(653): Piwik\Plugins\ScheduledReports\API->generateReport(1, '2023-10-02', 'en', 2, 'day') #23 /core/Context.php(75): Piwik\Plugins\ScheduledReports\API->Piwik\Plugins\ScheduledReports{closure}() #24 /plugins/ScheduledReports/API.php(728): Piwik\Context::changeIdSite(1, Object(Closure)) #25 [internal function]: Piwik\Plugins\ScheduledReports\API->sendReport(1) #26 /core/Scheduler/Scheduler.php(309): call_user_func(Array, 1) #27 /core/Scheduler/Scheduler.php(154): Piwik\Scheduler\Scheduler->executeTask(Object(Piwik\Scheduler\Task)) #28 /plugins/CoreAdminHome/API.php(76): Piwik\Scheduler\Scheduler->run() #29 /core/CronArchive.php(659): Piwik\Plugins\CoreAdminHome\API->runScheduledTasks() #30 /core/CronArchive.php(277): Piwik\CronArchive->runScheduledTasks() #31 /core/Access.php(661): Piwik\CronArchive->Piwik{closure}() #32 /core/CronArchive.php(282): Piwik\Access::doAsSuperUser(Object(Closure)) #33 /plugins/CoreConsole/Commands/CoreArchiver.php(32): Piwik\CronArchive->main() #34 /core/Plugin/ConsoleCommand.php(110): Piwik\Plugins\CoreConsole\Commands\CoreArchiver->doExecute() #35 /vendor/symfony/console/Command/Command.php(298): Piwik\Plugin\ConsoleCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #36 /core/Plugin/ConsoleCommand.php(125): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #37 /vendor/symfony/console/Application.php(1040): Piwik\Plugin\ConsoleCommand->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #38 /vendor/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand(Object(Piwik\Plugins\CoreConsole\Commands\CoreArchiver), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #39 /core/Console.php(106): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #40 [internal function]: Piwik\Console->originDoRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #41 /core/Console.php(145): call_user_func(Array, Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #42 /core/Access.php(670): Piwik\Console->Piwik{closure}() #43 /core/Console.php(146): Piwik\Access::doAsSuperUser(Object(Closure)) #44 /core/Console.php(85): Piwik\Console->doRunImpl(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #45 /vendor/symfony/console/Application.php(171): Piwik\Console->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) #46 /console(32): Symfony\Component\Console\Application->run() #47 {main} {"exception":"[object] (Exception(code: 0): Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column revenue_evolution in row # ['label' => -2, 'nb_visits' => 194, 'nb_actions' => 567, 'nb_pageviews' => 566, 'revenue' => 0, 'nb_conversions' => 0, 'visits_evolution' => 0, 'visits_evolution_trend' => 2, 'actions_evolution' => 0, 'actions_evolution_trend' => 2, 'pageviews_evolution' => 0, 'pageviews_evolution_trend' => 2, 'revenue_evolution' => 0, 'revenue_evolution_trend' => 0, 'nb_conversions_evolution' => 0, 'nb_conversions_evolution_trend' => 0, 'orders' => 0, 'ecommerce_revenue' => 0, 'orders_evolution' => 0, 'orders_evolution_trend' => 0, 'ecommerce_revenue_evolution' => 0, 'ecommerce_revenue_evolution_trend' => 0] [] [idsubtable = ]
\n at /core/DataTable/Row.php:808)"} {"class":"API","request_id":"10805"}

What should happen?

No warning

How can this be reproduced?

Unsure

Matomo Version

Matomo 5

Matomo Patch or Minor Version

0

PHP Version

.

Server Operating System

.

What browsers are you seeing the problem on?

Not applicable (e.g. an API call etc.)

Computer Operating System

.

Relevant log output

Note this may be related PG-3081 ?

Validations

Metadata

Metadata

Assignees

Labels

BugFor errors / faults / flaws / inconsistencies etc.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions