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

Fix getCurrentHost #16

Closed
wants to merge 1 commit into from
Closed

Fix getCurrentHost #16

wants to merge 1 commit into from

Conversation

bernardn
Copy link

@bernardn bernardn commented Jan 8, 2013

fix getCurrentHost method that failed to return the correct host when used behind a Proxy because it called an IP-related method.
add getOriginalHostFromHeader method for that purpose

fix getCurrentHost method that failed to return the correct host when used behind a Proxy because it called an IP-related method.
add getOriginalHostFromHeader method for that purpose
@mattab
Copy link
Member

mattab commented Feb 3, 2013

What is the _SERVER value that "fails" in your case ? because removing this function call is not correct

@mattab mattab closed this Feb 3, 2013
@bernardn
Copy link
Author

bernardn commented Feb 3, 2013

Dear mattab, it seems you closed this topic a liitle bit too fast. Let's at least take a look at how the software behaves when calling that function: it always return the default value because this function is not intended to be called there : it's an IP-related function, which is intended to process Client IP addresses and not server hostnames. It fails when PIWIK is running behind a proxy, because the value has to be retrieved by that function in the proxy-provided headers. It doesnt fail in an usual setup because the faulty code always return the default value.

@mattab
Copy link
Member

mattab commented Feb 3, 2013

This function call is there for a reason: some piwik hosts run on IP
adresses, so the header can contain one, or even a list of IP address.

On 04/02/13 01:11, Bernard Nauwelaerts wrote:

Dear mattab, it seems you closed this topic a liitle bit too fast.
Let's at least take a look at how the software behaves when calling
that function: it always return the default value because this
function is not intended to be called there : it's an IP-related
function, which is intended to process Client IP addresses and not
server hostnames. It fails when PIWIK is running behind a proxy,
because the value has to be retrieved by that function in the
proxy-provided headers. It doesnt fail in an usual setup because the
faulty code always return the default value.


Reply to this email directly or view it on GitHub
#16 (comment).

@bernardn
Copy link
Author

bernardn commented Feb 3, 2013

This function call has no reason to be at THAT place... It's absolutely a technical non-sense. This make your system UNUSABLE behind a proxy because it builds ABSOLUTE URLs based on the Host information that can only retrieved in headers given by the proxy, whose names are stored in config, which CAN NOT be retrieved by a function that processes client IP addresses. But you obviously have not taken any serious look at the problem. So, please let some advised person review this issue instead of closing it. Thanks.

@mattab mattab reopened this Feb 4, 2013
@mattab
Copy link
Member

mattab commented Feb 4, 2013

The code is unit tested at: https://github.com/piwik/piwik/blob/master/tests/PHPUnit/Core/UrlTest.php#L133

you patch breask the test, plus I cant replicate the bug. So please answer the first question: What is the _SERVER value that "fails" in your case ? and what is your config file? Ideally include in pull request the test update that shows the issue.

PS: we are working on having builds executed on each pull request, this will be helpful

@robocoder
Copy link
Contributor

-1

@mattab
Copy link
Member

mattab commented Feb 4, 2013

@bernard next time, try submit tests + better explanation for your pull requests ,

Cheers

@mattab mattab closed this Feb 4, 2013
@bernardn
Copy link
Author

bernardn commented Feb 4, 2013

@mattab The unit test failed because it tries to get the Host among a list of names. I adapted the code to return the first element. By the way, it seems that these tests contain an error : the proxy_ips config parameter is set, causing the function GetCurrentHost returning the wanted value. However, this is wrong because the proxy_ips config parameter is intended to exclude proxy IP addresses from information retrieved from x-forwarded-for header. This is very different from the x-forwarded-host header, which is intended to carry host names.

I'll resubmit a pull request with these changes.

Regards

@bernardn
Copy link
Author

bernardn commented Feb 4, 2013

@mattab, I don't understand your question related to _SERVER value. My piwik setup is located behind a reverse-proxy and piwik is unable to retrieve the original Host header because it is processed by a function intended to process IP addresses and not hosts.

Here is the related config :

[General]
assume_secure_protocol = 1
proxy_client_headers[] = "HTTP_X_FORWARDED_FOR"
proxy_host_headers[] = "HTTP_X_ORIGINAL_HOST"
proxy_ips[] = "10.9.70.42"
proxy_ips[] = "10.9.70.41"

@robocoder
Copy link
Contributor

The convention for X-Forwarded-Host is that proxies append their IP address to the header. So the code takes the last element that isn't in the exclusion list. This is the least likely to be spoofed, so is preferred over the first element.

If X-Original-Host behaves differently, then I can see why you'd want to change the code, but this would break the more common configuration.

BTW if you look at Piwik_IP::getNonProxyIpFromHeader(), it doesn't actually care if the element is an IP address or host.

@bernardn
Copy link
Author

bernardn commented Feb 4, 2013

@robocoder
The header the proxies append their IPs in is X-Forwarded-For

X-Forwarded-Host contains the Original Host header, i.e. the requested site domain name, because the reverse proxy is very likely to pass the request to a server whose name differs. e.g. www.example.org <proxy> www.lan.example.org

These are very different things, that serve different purposes.

@JE4GLE JE4GLE mentioned this pull request Dec 2, 2020
tsteur added a commit that referenced this pull request May 12, 2021
Have been getting this notification many times every time I fetch a screen and always receive heaps of notifications (when dev mode enabled). This should fix it.

> WARNING: Avoiding segment subquery due to missing start date and/or an end date. Please ensure a start date and/or end date is set when initializing a segment if it's used to build a query. Stacktrace: #0 /piwik/core/Segment.php(266): Piwik\Segment-&gt;doesSegmentNeedSubquery('!=', 'eventCategory') #1 /piwik/core/Segment.php(241): Piwik\Segment-&gt;getExpressionsWithUnionsResolved(Array) #2 /piwik/core/Segment.php(150): Piwik\Segment-&gt;initializeSegment('eventCategory!=...', Array) #3 /piwik/plugins/SegmentEditor/API.php(409): Piwik\Segment-&gt;__construct('eventCategory!=...', Array) #4 [internal function]: Piwik\Plugins\SegmentEditor\API-&gt;getAll('1') #5 /piwik/core/API/Proxy.php(244): call_user_func_array(Array, Array) #6 /piwik/core/Context.php(28): Piwik\API\Proxy-&gt;Piwik\API\{closure}() #7 /piwik/core/API/Proxy.php(335): Piwik\Context::executeWithQueryParameters(Array, Object(Closure)) #8 /piwik/core/API/Request.php(266): Piwik\API\Proxy-&gt;call('\\Piwik\\Plugins\\...', 'getAll', Array) #9 /piwik/core/API/Request.php(559): Piwik\API\Request-&gt;process() #10 /piwik/plugins/SegmentEditor/SegmentEditor.php(356): Piwik\API\Request::processRequest('SegmentEditor.g...', Array, Array) #11 /piwik/core/Segment.php(624): Piwik\Plugins\SegmentEditor\SegmentEditor::getAllSegmentsForSite(1) #12 /piwik/core/Archive/DataTableFactory.php(588): Piwik\Segment-&gt;getStoredSegmentName(1) #13 /piwik/core/Archive/DataTableFactory.php(288): Piwik\Archive\DataTableFactory-&gt;setPrettySegmentMetadata(Object(Piwik\DataTable)) #14 /piwik/core/Archive/DataTableFactory.php(259): Piwik\Archive\DataTableFactory-&gt;makeDataTableFromSingleBlob(Array, Array) #15 /piwik/core/Archive/DataTableFactory.php(375): Piwik\Archive\DataTableFactory-&gt;makeFromBlobRow(Array, Array) #16 /piwik/core/Archive/DataTableFactory.php(347): Piwik\Archive\DataTableFactory-&gt;createDataTable(Array, Array) #17 /piwik/core/Archive/DataTableFactory.php(188): Piwik\Archive\DataTableFactory-&gt;createDataTableMapFromIndex(Array, Array, Array) #18 /piwik/core/Archive/DataCollection.php(289): Piwik\Archive\DataTableFactory-&gt;make(Array, Array) #19 /piwik/core/Archive.php(386): Piwik\Archive\DataCollection-&gt;getExpandedDataTable(Array, NULL, NULL, false) #20 /piwik/core/ArchiveProcessor.php(346): Piwik\Archive-&gt;getDataTableExpanded('Goals_ItemsSku', NULL, NULL, false) #21 /piwik/core/ArchiveProcessor.php(213): Piwik\ArchiveProcessor-&gt;aggregateDataTableRecord('Goals_ItemsSku', NULL, NULL) #22 /piwik/plugins/Goals/Archiver.php(436): Piwik\ArchiveProcessor-&gt;aggregateDataTableRecords(Array, NULL, NULL, NULL, NULL, NULL, Array) #23 /piwik/core/Plugin/Archiver.php(103): Piwik\Plugins\Goals\Archiver-&gt;aggregateMultipleReports() #24 /piwik/core/ArchiveProcessor/PluginsArchiver.php(168): Piwik\Plugin\Archiver-&gt;callAggregateMultipleReports() #25 /piwik/core/ArchiveProcessor/Loader.php(228): Piwik\ArchiveProcessor\PluginsArchiver-&gt;callAggregateAllPlugins(2, 0, false) #26 /piwik/core/ArchiveProcessor/Loader.php(163): Piwik\ArchiveProcessor\Loader-&gt;prepareAllPluginsArchive(2, 0) #27 /piwik/core/ArchiveProcessor/Loader.php(101): Piwik\ArchiveProcessor\Loader-&gt;prepareArchiveImpl('Goals') #28 /piwik/core/Context.php(75): Piwik\ArchiveProcessor\Loader-&gt;Piwik\ArchiveProcessor\{closure}() #29 /piwik/core/ArchiveProcessor/Loader.php(105): Piwik\Context::changeIdSite(1, Object(Closure)) #30 /piwik/core/ArchiveProcessor.php(668): Piwik\ArchiveProcessor\Loader-&gt;prepareArchive('Goals') #31 /piwik/plugins/Goals/Archiver.php(485): Piwik\ArchiveProcessor-&gt;processDependentArchive('Goals', 'visitorType%3D%...') #32 /piwik/core/Plugin/Archiver.php(103): Piwik\Plugins\Goals\Archiver-&gt;aggregateMultipleReports() #33 /piwik/core/ArchiveProcessor/PluginsArchiver.php(168): Piwik\Plugin\Archiver-&gt;callAggregateMultipleReports() #34 /piwik/core/ArchiveProcessor/Loader.php(228): Piwik\ArchiveProcessor\PluginsArchiver-&gt;callAggregateAllPlugins(2, 0, false) #35 /piwik/core/ArchiveProcessor/Loader.php(163): Piwik\ArchiveProcessor\Loader-&gt;prepareAllPluginsArchive(2, 0) #36 /piwik/core/ArchiveProcessor/Loader.php(101): Piwik\ArchiveProcessor\Loader-&gt;prepareArchiveImpl('VisitsSummary') #37 /piwik/core/Context.php(75): Piwik\ArchiveProcessor\Loader-&gt;Piwik\ArchiveProcessor\{closure}() #38 /piwik/core/ArchiveProcessor/Loader.php(105): Piwik\Context::changeIdSite(1, Object(Closure)) #39 /piwik/plugins/CoreAdminHome/API.php(278): Piwik\ArchiveProcessor\Loader-&gt;prepareArchive('VisitsSummary') #40 /piwik/core/Archive.php(825): Piwik\Plugins\CoreAdminHome\API-&gt;archiveReports(1, Object(Piwik\Period\Week), '2021-05-10', '', 'VisitsSummary', NULL) #41 /piwik/core/Archive.php(624): Piwik\Archive-&gt;prepareArchive(Array, Object(Piwik\Site), Object(Piwik\Period\Week)) #42 /piwik/core/Archive.php(571): Piwik\Archive-&gt;cacheArchiveIdsAfterLaunching(Array, Array) #43 /piwik/core/Archive.php(497): Piwik\Archive-&gt;getArchiveIds(Array) #44 /piwik/core/Archive.php(312): Piwik\Archive-&gt;get(Array, 'numeric') #45 /piwik/core/ArchiveProcessor.php(606): Piwik\Archive-&gt;getDataTableFromNumeric(Array) #46 /piwik/core/ArchiveProcessor.php(252): Piwik\ArchiveProcessor-&gt;getAggregatedNumericMetrics(Array, false) #47 /piwik/core/ArchiveProcessor/PluginsArchiver.php(306): Piwik\ArchiveProcessor-&gt;aggregateNumericMetrics(Array) #48 /piwik/core/ArchiveProcessor/PluginsArchiver.php(104): Piwik\ArchiveProcessor\PluginsArchiver-&gt;aggregateMultipleVisitsMetrics() #49 /piwik/core/ArchiveProcessor/Loader.php(222): Piwik\ArchiveProcessor\PluginsArchiver-&gt;callAggregateCoreMetrics() #50 /piwik/core/ArchiveProcessor/Loader.php(163): Piwik\ArchiveProcessor\Loader-&gt;prepareAllPluginsArchive(6, 1) #51 /piwik/core/ArchiveProcessor/Loader.php(101): Piwik\ArchiveProcessor\Loader-&gt;prepareArchiveImpl('VisitsSummary') #52 /piwik/core/Context.php(75): Piwik\ArchiveProcessor\Loader-&gt;Piwik\ArchiveProcessor\{closure}() #53 /piwik/core/ArchiveProcessor/Loader.php(105): Piwik\Context::changeIdSite(1, Object(Closure)) #54 /piwik/plugins/CoreAdminHome/API.php(278): Piwik\ArchiveProcessor\Loader-&gt;prepareArchive('VisitsSummary') #55 /piwik/core/Archive.php(825): Piwik\Plugins\CoreAdminHome\API-&gt;archiveReports(1, Object(Piwik\Period\Month), '2021-05-01', '', 'VisitsSummary', NULL) #56 /piwik/core/Archive.php(624): Piwik\Archive-&gt;prepareArchive(Array, Object(Piwik\Site), Object(Piwik\Period\Month)) #57 /piwik/core/Archive.php(571): Piwik\Archive-&gt;cacheArchiveIdsAfterLaunching(Array, Array) #58 /piwik/core/Archive.php(497): Piwik\Archive-&gt;getArchiveIds(Array) #59 /piwik/core/Archive.php(312): Piwik\Archive-&gt;get(Array, 'numeric') #60 /piwik/plugins/VisitsSummary/API.php(36): Piwik\Archive-&gt;getDataTableFromNumeric(Array) #61 [internal function]: Piwik\Plugins\VisitsSummary\API-&gt;get('1', 'month', 'yesterday', false, Array) #62 /piwik/core/API/Proxy.php(244): call_user_func_array(Array, Array) #63 /piwik/core/Context.php(28): Piwik\API\Proxy-&gt;Piwik\API\{closure}() #64 /piwik/core/API/Proxy.php(335): Piwik\Context::executeWithQueryParameters(Array, Object(Closure)) #65 /piwik/core/API/Request.php(266): Piwik\API\Proxy-&gt;call('\\Piwik\\Plugins\\...', 'get', Array) #66 /piwik/core/API/Request.php(559): Piwik\API\Request-&gt;process() #67 /piwik/plugins/CoreHome/Columns/UserId.php(119): Piwik\API\Request::processRequest('VisitsSummary.g...', Array, Array) #68 /piwik/plugins/CoreHome/Columns/UserId.php(104): Piwik\Plugins\CoreHome\Columns\UserId-&gt;isUsedInSite('1', 'month', 'yesterday') #69 /piwik/plugins/CoreHome/Columns/UserId.php(89): Piwik\Plugins\CoreHome\Columns\UserId-&gt;isUsedInSiteCached('1', 'month', 'yesterday') #70 /piwik/plugins/VisitsSummary/Reports/Get.php(181): Piwik\Plugins\CoreHome\Columns\UserId-&gt;isUsedInAtLeastOneSite(Array, 'month', 'yesterday') #71 /piwik/plugins/VisitsSummary/Reports/Get.php(87): Piwik\Plugins\VisitsSummary\Reports\Get-&gt;addSparklineColumns(Object(Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines)) #72 /piwik/core/Plugin/ViewDataTable.php(239): Piwik\Plugins\VisitsSummary\Reports\Get-&gt;configureView(Object(Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines)) #73 /piwik/core/ViewDataTable/Factory.php(243): Piwik\Plugin\ViewDataTable-&gt;__construct('get', 'VisitsSummary.g...', Array) #74 /piwik/core/ViewDataTable/Factory.php(156): Piwik\ViewDataTable\Factory::createViewDataTableInstance('Piwik\\Plugins\\C...', 'VisitsSummary.g...', 'VisitsSummary.g...', Array) #75 /piwik/core/Plugin/Report.php(318): Piwik\ViewDataTable\Factory::build('sparklines', 'VisitsSummary.g...', 'VisitsSummary.g...', 1) #76 /piwik/plugins/CoreHome/Controller.php(58): Piwik\Plugin\Report-&gt;render() #77 [internal function]: Piwik\Plugins\CoreHome\Controller-&gt;renderReportWidget(Object(Piwik\Plugins\VisitsSummary\Reports\Get)) #78 /piwik/core/FrontController.php(615): call_user_func_array(Array, Array) #79 /piwik/core/FrontController.php(167): Piwik\FrontController-&gt;doDispatch('VisitsSummary', 'get', Array) #80 /piwik/core/dispatch.php(32): Piwik\FrontController-&gt;dispatch() #81 /piwik/index.php(25): require_once('/Users/thomasst...') #82 {main} (Module: API, Action: get, Method: SegmentEditor.getAll, In CLI mode: false)
diosmosis pushed a commit that referenced this pull request May 13, 2021
* Prevent error message in dev mode no date is defined in segment

Have been getting this notification many times every time I fetch a screen and always receive heaps of notifications (when dev mode enabled). This should fix it.

> WARNING: Avoiding segment subquery due to missing start date and/or an end date. Please ensure a start date and/or end date is set when initializing a segment if it's used to build a query. Stacktrace: #0 /piwik/core/Segment.php(266): Piwik\Segment-&gt;doesSegmentNeedSubquery('!=', 'eventCategory') #1 /piwik/core/Segment.php(241): Piwik\Segment-&gt;getExpressionsWithUnionsResolved(Array) #2 /piwik/core/Segment.php(150): Piwik\Segment-&gt;initializeSegment('eventCategory!=...', Array) #3 /piwik/plugins/SegmentEditor/API.php(409): Piwik\Segment-&gt;__construct('eventCategory!=...', Array) #4 [internal function]: Piwik\Plugins\SegmentEditor\API-&gt;getAll('1') #5 /piwik/core/API/Proxy.php(244): call_user_func_array(Array, Array) #6 /piwik/core/Context.php(28): Piwik\API\Proxy-&gt;Piwik\API\{closure}() #7 /piwik/core/API/Proxy.php(335): Piwik\Context::executeWithQueryParameters(Array, Object(Closure)) #8 /piwik/core/API/Request.php(266): Piwik\API\Proxy-&gt;call('\\Piwik\\Plugins\\...', 'getAll', Array) #9 /piwik/core/API/Request.php(559): Piwik\API\Request-&gt;process() #10 /piwik/plugins/SegmentEditor/SegmentEditor.php(356): Piwik\API\Request::processRequest('SegmentEditor.g...', Array, Array) #11 /piwik/core/Segment.php(624): Piwik\Plugins\SegmentEditor\SegmentEditor::getAllSegmentsForSite(1) #12 /piwik/core/Archive/DataTableFactory.php(588): Piwik\Segment-&gt;getStoredSegmentName(1) #13 /piwik/core/Archive/DataTableFactory.php(288): Piwik\Archive\DataTableFactory-&gt;setPrettySegmentMetadata(Object(Piwik\DataTable)) #14 /piwik/core/Archive/DataTableFactory.php(259): Piwik\Archive\DataTableFactory-&gt;makeDataTableFromSingleBlob(Array, Array) #15 /piwik/core/Archive/DataTableFactory.php(375): Piwik\Archive\DataTableFactory-&gt;makeFromBlobRow(Array, Array) #16 /piwik/core/Archive/DataTableFactory.php(347): Piwik\Archive\DataTableFactory-&gt;createDataTable(Array, Array) #17 /piwik/core/Archive/DataTableFactory.php(188): Piwik\Archive\DataTableFactory-&gt;createDataTableMapFromIndex(Array, Array, Array) #18 /piwik/core/Archive/DataCollection.php(289): Piwik\Archive\DataTableFactory-&gt;make(Array, Array) #19 /piwik/core/Archive.php(386): Piwik\Archive\DataCollection-&gt;getExpandedDataTable(Array, NULL, NULL, false) #20 /piwik/core/ArchiveProcessor.php(346): Piwik\Archive-&gt;getDataTableExpanded('Goals_ItemsSku', NULL, NULL, false) #21 /piwik/core/ArchiveProcessor.php(213): Piwik\ArchiveProcessor-&gt;aggregateDataTableRecord('Goals_ItemsSku', NULL, NULL) #22 /piwik/plugins/Goals/Archiver.php(436): Piwik\ArchiveProcessor-&gt;aggregateDataTableRecords(Array, NULL, NULL, NULL, NULL, NULL, Array) #23 /piwik/core/Plugin/Archiver.php(103): Piwik\Plugins\Goals\Archiver-&gt;aggregateMultipleReports() #24 /piwik/core/ArchiveProcessor/PluginsArchiver.php(168): Piwik\Plugin\Archiver-&gt;callAggregateMultipleReports() #25 /piwik/core/ArchiveProcessor/Loader.php(228): Piwik\ArchiveProcessor\PluginsArchiver-&gt;callAggregateAllPlugins(2, 0, false) #26 /piwik/core/ArchiveProcessor/Loader.php(163): Piwik\ArchiveProcessor\Loader-&gt;prepareAllPluginsArchive(2, 0) #27 /piwik/core/ArchiveProcessor/Loader.php(101): Piwik\ArchiveProcessor\Loader-&gt;prepareArchiveImpl('Goals') #28 /piwik/core/Context.php(75): Piwik\ArchiveProcessor\Loader-&gt;Piwik\ArchiveProcessor\{closure}() #29 /piwik/core/ArchiveProcessor/Loader.php(105): Piwik\Context::changeIdSite(1, Object(Closure)) #30 /piwik/core/ArchiveProcessor.php(668): Piwik\ArchiveProcessor\Loader-&gt;prepareArchive('Goals') #31 /piwik/plugins/Goals/Archiver.php(485): Piwik\ArchiveProcessor-&gt;processDependentArchive('Goals', 'visitorType%3D%...') #32 /piwik/core/Plugin/Archiver.php(103): Piwik\Plugins\Goals\Archiver-&gt;aggregateMultipleReports() #33 /piwik/core/ArchiveProcessor/PluginsArchiver.php(168): Piwik\Plugin\Archiver-&gt;callAggregateMultipleReports() #34 /piwik/core/ArchiveProcessor/Loader.php(228): Piwik\ArchiveProcessor\PluginsArchiver-&gt;callAggregateAllPlugins(2, 0, false) #35 /piwik/core/ArchiveProcessor/Loader.php(163): Piwik\ArchiveProcessor\Loader-&gt;prepareAllPluginsArchive(2, 0) #36 /piwik/core/ArchiveProcessor/Loader.php(101): Piwik\ArchiveProcessor\Loader-&gt;prepareArchiveImpl('VisitsSummary') #37 /piwik/core/Context.php(75): Piwik\ArchiveProcessor\Loader-&gt;Piwik\ArchiveProcessor\{closure}() #38 /piwik/core/ArchiveProcessor/Loader.php(105): Piwik\Context::changeIdSite(1, Object(Closure)) #39 /piwik/plugins/CoreAdminHome/API.php(278): Piwik\ArchiveProcessor\Loader-&gt;prepareArchive('VisitsSummary') #40 /piwik/core/Archive.php(825): Piwik\Plugins\CoreAdminHome\API-&gt;archiveReports(1, Object(Piwik\Period\Week), '2021-05-10', '', 'VisitsSummary', NULL) #41 /piwik/core/Archive.php(624): Piwik\Archive-&gt;prepareArchive(Array, Object(Piwik\Site), Object(Piwik\Period\Week)) #42 /piwik/core/Archive.php(571): Piwik\Archive-&gt;cacheArchiveIdsAfterLaunching(Array, Array) #43 /piwik/core/Archive.php(497): Piwik\Archive-&gt;getArchiveIds(Array) #44 /piwik/core/Archive.php(312): Piwik\Archive-&gt;get(Array, 'numeric') #45 /piwik/core/ArchiveProcessor.php(606): Piwik\Archive-&gt;getDataTableFromNumeric(Array) #46 /piwik/core/ArchiveProcessor.php(252): Piwik\ArchiveProcessor-&gt;getAggregatedNumericMetrics(Array, false) #47 /piwik/core/ArchiveProcessor/PluginsArchiver.php(306): Piwik\ArchiveProcessor-&gt;aggregateNumericMetrics(Array) #48 /piwik/core/ArchiveProcessor/PluginsArchiver.php(104): Piwik\ArchiveProcessor\PluginsArchiver-&gt;aggregateMultipleVisitsMetrics() #49 /piwik/core/ArchiveProcessor/Loader.php(222): Piwik\ArchiveProcessor\PluginsArchiver-&gt;callAggregateCoreMetrics() #50 /piwik/core/ArchiveProcessor/Loader.php(163): Piwik\ArchiveProcessor\Loader-&gt;prepareAllPluginsArchive(6, 1) #51 /piwik/core/ArchiveProcessor/Loader.php(101): Piwik\ArchiveProcessor\Loader-&gt;prepareArchiveImpl('VisitsSummary') #52 /piwik/core/Context.php(75): Piwik\ArchiveProcessor\Loader-&gt;Piwik\ArchiveProcessor\{closure}() #53 /piwik/core/ArchiveProcessor/Loader.php(105): Piwik\Context::changeIdSite(1, Object(Closure)) #54 /piwik/plugins/CoreAdminHome/API.php(278): Piwik\ArchiveProcessor\Loader-&gt;prepareArchive('VisitsSummary') #55 /piwik/core/Archive.php(825): Piwik\Plugins\CoreAdminHome\API-&gt;archiveReports(1, Object(Piwik\Period\Month), '2021-05-01', '', 'VisitsSummary', NULL) #56 /piwik/core/Archive.php(624): Piwik\Archive-&gt;prepareArchive(Array, Object(Piwik\Site), Object(Piwik\Period\Month)) #57 /piwik/core/Archive.php(571): Piwik\Archive-&gt;cacheArchiveIdsAfterLaunching(Array, Array) #58 /piwik/core/Archive.php(497): Piwik\Archive-&gt;getArchiveIds(Array) #59 /piwik/core/Archive.php(312): Piwik\Archive-&gt;get(Array, 'numeric') #60 /piwik/plugins/VisitsSummary/API.php(36): Piwik\Archive-&gt;getDataTableFromNumeric(Array) #61 [internal function]: Piwik\Plugins\VisitsSummary\API-&gt;get('1', 'month', 'yesterday', false, Array) #62 /piwik/core/API/Proxy.php(244): call_user_func_array(Array, Array) #63 /piwik/core/Context.php(28): Piwik\API\Proxy-&gt;Piwik\API\{closure}() #64 /piwik/core/API/Proxy.php(335): Piwik\Context::executeWithQueryParameters(Array, Object(Closure)) #65 /piwik/core/API/Request.php(266): Piwik\API\Proxy-&gt;call('\\Piwik\\Plugins\\...', 'get', Array) #66 /piwik/core/API/Request.php(559): Piwik\API\Request-&gt;process() #67 /piwik/plugins/CoreHome/Columns/UserId.php(119): Piwik\API\Request::processRequest('VisitsSummary.g...', Array, Array) #68 /piwik/plugins/CoreHome/Columns/UserId.php(104): Piwik\Plugins\CoreHome\Columns\UserId-&gt;isUsedInSite('1', 'month', 'yesterday') #69 /piwik/plugins/CoreHome/Columns/UserId.php(89): Piwik\Plugins\CoreHome\Columns\UserId-&gt;isUsedInSiteCached('1', 'month', 'yesterday') #70 /piwik/plugins/VisitsSummary/Reports/Get.php(181): Piwik\Plugins\CoreHome\Columns\UserId-&gt;isUsedInAtLeastOneSite(Array, 'month', 'yesterday') #71 /piwik/plugins/VisitsSummary/Reports/Get.php(87): Piwik\Plugins\VisitsSummary\Reports\Get-&gt;addSparklineColumns(Object(Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines)) #72 /piwik/core/Plugin/ViewDataTable.php(239): Piwik\Plugins\VisitsSummary\Reports\Get-&gt;configureView(Object(Piwik\Plugins\CoreVisualizations\Visualizations\Sparklines)) #73 /piwik/core/ViewDataTable/Factory.php(243): Piwik\Plugin\ViewDataTable-&gt;__construct('get', 'VisitsSummary.g...', Array) #74 /piwik/core/ViewDataTable/Factory.php(156): Piwik\ViewDataTable\Factory::createViewDataTableInstance('Piwik\\Plugins\\C...', 'VisitsSummary.g...', 'VisitsSummary.g...', Array) #75 /piwik/core/Plugin/Report.php(318): Piwik\ViewDataTable\Factory::build('sparklines', 'VisitsSummary.g...', 'VisitsSummary.g...', 1) #76 /piwik/plugins/CoreHome/Controller.php(58): Piwik\Plugin\Report-&gt;render() #77 [internal function]: Piwik\Plugins\CoreHome\Controller-&gt;renderReportWidget(Object(Piwik\Plugins\VisitsSummary\Reports\Get)) #78 /piwik/core/FrontController.php(615): call_user_func_array(Array, Array) #79 /piwik/core/FrontController.php(167): Piwik\FrontController-&gt;doDispatch('VisitsSummary', 'get', Array) #80 /piwik/core/dispatch.php(32): Piwik\FrontController-&gt;dispatch() #81 /piwik/index.php(25): require_once('/Users/thomasst...') #82 {main} (Module: API, Action: get, Method: SegmentEditor.getAll, In CLI mode: false)

* Update API.php
sgiehl added a commit that referenced this pull request Feb 3, 2022
Revert "[automatic composer updates]"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants