Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
4 tasks done
tsteur opened this issue Oct 5, 2023 · 4 comments
Assignees
Labels
Bug For errors / faults / flaws / inconsistencies etc.
Milestone

Comments

@tsteur
Copy link
Member

tsteur commented Oct 5, 2023

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

@tsteur tsteur added Potential Bug Something that might be a bug, but needs validation and confirmation it can be reproduced. To Triage An issue awaiting triage by a Matomo core team member labels Oct 5, 2023
@tsteur tsteur changed the title [Bug]: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column revenue_evolution in row [Bug]: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column revenue_evolution and nb_conversions_evolution in row Oct 5, 2023
@tsteur
Copy link
Member Author

tsteur commented Oct 5, 2023

Same problem for nb_conversions_evolution.

[2023-10-03 17:52:04] piwik.WARNING: Exception: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column nb_conversions_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%', 'nb_conversions_...') #1 /core/DataTable/Row.php(534): Piwik\DataTable\Row->sumRowArray(0, '0%', 'nb_conversions_...') #2 /core/DataTable/Row.php(503): Piwik\DataTable\Row->getColumnValuesMerged('sum', 0, '0%', Object(Piwik\DataTable\Row), Object(Piwik\DataTable\Row), 'nb_conversions_...') #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 nb_conversions_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 "}

@tsteur
Copy link
Member Author

tsteur commented Oct 5, 2023

Issue also happens for actions_evolution.

[2023-10-03 17:52:04] piwik.WARNING: Exception: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column actions_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%', 'actions_evoluti...') #1 /core/DataTable/Row.php(534): Piwik\DataTable\Row->sumRowArray(0, '0%', 'actions_evoluti...') #2 /core/DataTable/Row.php(503): Piwik\DataTable\Row->getColumnValuesMerged('sum', 0, '0%', Object(Piwik\DataTable\Row), Object(Piwik\DataTable\Row), 'actions_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 actions_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 "}

and also for pageviews_evolution

[2023-10-03 17:52:04] piwik.WARNING: Exception: Trying to add two strings in DataTable\Row::sumRowArray: 0 + 0% for column pageviews_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%', 'pageviews_evolu...') #1 /core/DataTable/Row.php(534): Piwik\DataTable\Row->sumRowArray(0, '0%', 'pageviews_evolu...') #2 /core/DataTable/Row.php(503): Piwik\DataTable\Row->getColumnValuesMerged('sum', 0, '0%', Object(Piwik\DataTable\Row), Object(Piwik\DataTable\Row), 'pageviews_evolu...') #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 pageviews_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"}

And also for ecommerce_revenue_evolution and visits_evolution and others

@tsteur
Copy link
Member Author

tsteur commented Oct 5, 2023

@Stan-vw this is another Matomo 5 regression that needs fixing. Potentially, PG-3081 is related.

@sgiehl
Copy link
Member

sgiehl commented Oct 6, 2023

Seems for all those cases happen when generating a scheduled reports that includes MultiSites.getAll. For some reason it tries to sum up already formatted percent values for the totals row.
That's something we should try to reproduce locally to be able to find the reason

@sgiehl sgiehl added Regression Indicates a feature used to work in a certain way but it no longer does even though it should. and removed To Triage An issue awaiting triage by a Matomo core team member labels Oct 6, 2023
@sgiehl sgiehl added this to the For Prioritization milestone Oct 6, 2023
@mneudert mneudert self-assigned this Oct 17, 2023
@sgiehl sgiehl modified the milestones: For Prioritization, 5.0.0 Oct 30, 2023
@sgiehl sgiehl added Bug For errors / faults / flaws / inconsistencies etc. and removed Regression Indicates a feature used to work in a certain way but it no longer does even though it should. Potential Bug Something that might be a bug, but needs validation and confirmation it can be reproduced. labels Oct 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For errors / faults / flaws / inconsistencies etc.
Projects
None yet
Development

No branches or pull requests

4 participants