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

Prevent error 'Maximum recursion level of 15 reached. ' #4971

Closed
mattab opened this issue Apr 9, 2014 · 3 comments
Closed

Prevent error 'Maximum recursion level of 15 reached. ' #4971

mattab opened this issue Apr 9, 2014 · 3 comments
Labels
answered For when a question was asked and we referred to forum or answered it. Bug For errors / faults / flaws / inconsistencies etc.
Milestone

Comments

@mattab
Copy link
Member

mattab commented Apr 9, 2014

Can we prevent this bug from occurring?

Url where this was reproduced http://demo.piwik.org/index.php?module=CoreHome&action=index&idSite=32&period=range&date=2014-04-01,2014-04-07#/module=Actions&action=indexPageUrls&idSite=32&period=range&date=2014-04-01,2014-04-07

Error message follows.

Failed to get data from API: Maximum recursion level of 15 reached. Maybe you have set a DataTable\Row with an associated DataTable belonging already to one of its parent tables?#0 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#1 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#2 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#3 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#4 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#5 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#6 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#7 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#8 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#9 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#10 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#11 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#12 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#13 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#14 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#15 /home/piwik-demo/www/demo.piwik.org/core/DataTable.php(1118): Piwik\DataTable->getSerialized('100', '100', 2)#16 /home/piwik-demo/www/demo.piwik.org/core/ArchiveProcessor.php(211): Piwik\DataTable->getSerialized('500', '100', 2)#17 /home/piwik-demo/www/demo.piwik.org/plugins/Actions/Archiver.php(527): Piwik\ArchiveProcessor->aggregateDataTableRecords(Array, '500', '100', 2, Array, Array)#18 /home/piwik-demo/www/demo.piwik.org/core/ArchiveProcessor/PluginsArchiver.php(100): Piwik\Plugins\Actions\Archiver->aggregateMultipleReports()#19 /home/piwik-demo/www/demo.piwik.org/core/ArchiveProcessor/Loader.php(118): Piwik\ArchiveProcessor\PluginsArchiver->callAggregateAllPlugins(53, 1)#20 /home/piwik-demo/www/demo.piwik.org/core/ArchiveProcessor/Loader.php(72): Piwik\ArchiveProcessor\Loader->prepareAllPluginsArchive(53, 1)#21 /home/piwik-demo/www/demo.piwik.org/core/Archive.php(802): Piwik\ArchiveProcessor\Loader->prepareArchive('Actions')#22 /home/piwik-demo/www/demo.piwik.org/core/Archive.php(615): Piwik\Archive->prepareArchive(Array, Object(Piwik\Site), Object(Piwik\Period\Range))#23 /home/piwik-demo/www/demo.piwik.org/core/Archive.php(557): Piwik\Archive->cacheArchiveIdsAfterLaunching(Array, Array)#24 /home/piwik-demo/www/demo.piwik.org/core/Archive.php(498): Piwik\Archive->getArchiveIds(Array)#25 /home/piwik-demo/www/demo.piwik.org/core/Archive.php(369): Piwik\Archive->get('Actions_actions...', 'blob', NULL)#26 /home/piwik-demo/www/demo.piwik.org/core/Archive.php(460): Piwik\Archive->getDataTable('Actions_actions...', NULL)#27 /home/piwik-demo/www/demo.piwik.org/plugins/Actions/API.php(565): Piwik\Archive::getDataTableFromArchive('Actions_actions...', '32', 'range', '2014-04-01,2014...', false, false, false, true, false)#28 /home/piwik-demo/www/demo.piwik.org/plugins/Actions/API.php(123): Piwik\Plugins\Actions\API->getDataTableFromArchive('Actions_actions...', '32', 'range', '2014-04-01,2014...', false, false, false, false)#29 [internal function]: Piwik\Plugins\Actions\API->getPageUrls('32', 'range', '2014-04-01,2014...', false, false, false, false)#30 /home/piwik-demo/www/demo.piwik.org/core/API/Proxy.php(209): call_user_func_array(Array, Array)#31 /home/piwik-demo/www/demo.piwik.org/core/API/Request.php(215): Piwik\API\Proxy->call('\Piwik\Plugins\...', 'getPageUrls', Array)#32 /home/piwik-demo/www/demo.piwik.org/core/ViewDataTable/Request.php(48): Piwik\API\Request->process()#33 /home/piwik-demo/www/demo.piwik.org/core/Plugin/ViewDataTable.php(271): Piwik\ViewDataTable\Request->loadDataTableFromAPI(Array)#34 /home/piwik-demo/www/demo.piwik.org/core/Plugin/Visualization.php(166): Piwik\Plugin\ViewDataTable->loadDataTableFromAPI(Array)#35 /home/piwik-demo/www/demo.piwik.org/core/Plugin/ViewDataTable.php(358): Piwik\Plugin\Visualization->buildView()#36 /home/piwik-demo/www/demo.piwik.org/core/Plugin/Controller.php(233): Piwik\Plugin\ViewDataTable->render()#37 /home/piwik-demo/www/demo.piwik.org/plugins/Actions/Controller.php(89): Piwik\Plugin\Controller->renderReport('getPageUrls')#38 /home/piwik-demo/www/demo.piwik.org/plugins/Actions/Controller.php(29): Piwik\Plugins\Actions\Controller->getPageUrls(true)#39 [internal function]: Piwik\Plugins\Actions\Controller->indexPageUrls()#40 /home/piwik-demo/www/demo.piwik.org/core/FrontController.php(505): call_user_func_array(Array, Array)#41 /home/piwik-demo/www/demo.piwik.org/core/FrontController.php(85): Piwik\FrontController->doDispatch(NULL, NULL, NULL)#42 /home/piwik-demo/www/demo.piwik.org/core/dispatch.php(34): Piwik\FrontController->dispatch()#43 /home/piwik-demo/www/demo.piwik.org/index.php(47): require_once('/home/piwik-dem...')#44 {main}


@anonymous-matomo-user
Copy link

Fixed for me in 2.2.0 release.

@mattab
Copy link
Member Author

mattab commented Apr 27, 2014

It can still occur though, depending on user data.

When it does occur, I think we should catch this exception and just skip the problematic row, to prevent a fatal crash (maybe log a Warning/error as well).

@mattab mattab added this to the 2.5.0 - Piwik 2.5.0 milestone Jul 8, 2014
@mattab mattab modified the milestones: Mid term, Short term Apr 9, 2015
@mattab
Copy link
Member Author

mattab commented Sep 11, 2015

if anyone experiences this issue, please leave a comment here & we will reopen the bug

@mattab mattab closed this as completed Sep 11, 2015
@mattab mattab added the answered For when a question was asked and we referred to forum or answered it. label Sep 11, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
answered For when a question was asked and we referred to forum or answered it. Bug For errors / faults / flaws / inconsistencies etc.
Projects
None yet
Development

No branches or pull requests

2 participants