Hi,
I'm using 8.1.0-rc1.

I've found an issue which is very rare, when a view is set as homepage and the user doesn't have access to it.
(For example the homepage is only a login box)
This case worked in 8.0, seems to be a regression.

The debug trace:

The website encountered an unexpected error. Please try again later.

InvalidArgumentException: Source path has to start with a slash. in Drupal\Core\Path\AliasManager->getAliasByPath() (line 191 of core/lib/Drupal/Core/Path/AliasManager.php).
Drupal\system\Plugin\Condition\RequestPath->evaluate() (Line: 71)
Drupal\Core\Condition\ConditionManager->execute(Object) (Line: 82)
Drupal\Core\Condition\ConditionPluginBase->execute() (Line: 31)
Drupal\block\BlockAccessControlHandler->resolveConditions(Array, 'and') (Line: 128)
Drupal\block\BlockAccessControlHandler->checkAccess(Object, 'view', Object) (Line: 98)
Drupal\Core\Entity\EntityAccessControlHandler->access(Object, 'view', NULL, 1) (Line: 339)
Drupal\Core\Entity\Entity->access('view', NULL, 1) (Line: 61)
Drupal\block\BlockRepository->getVisibleBlocksPerRegion(Array) (Line: 142)
Drupal\block\Plugin\DisplayVariant\BlockPageVariant->build() (Line: 264)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 122)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 95)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 116)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 2) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 2, 1) (Line: 62)
Drupal\Core\StackMiddleware\Session->handle(Object, 2, 1) (Line: 53)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 2, 1) (Line: 103)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 2, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 2, 1) (Line: 51)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 2, 1) (Line: 55)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 2, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 2) (Line: 150)
Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber->makeSubrequest(Object, '/system/403', 403) (Line: 104)
Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber->on403(Object) (Line: 103)
Drupal\Core\EventSubscriber\HttpExceptionSubscriberBase->onException(Object, 'kernel.exception', Object) (Line: 116)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.exception', Object) (Line: 216)
Symfony\Component\HttpKernel\HttpKernel->handleException(Object, Object, 1) (Line: 70)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 62)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 211)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 125)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 79)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 55)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 631)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

How to reproduce

  • Create a view and set it up as anonymous users don't have access to it.
  • Set it as your homepage.
  • Log out of the site.
  • Ensure your site is accessed "mydomain.com" without any path info in URL.

I couldn't reproduce when the homepage is simply set to 'system/403', so seems to be views related.

CommentFileSizeAuthor
#10 d8-2705643-10.patch843 bytesimre.horjan
#9 d8-2705643.patch864 bytesimre.horjan

Comments

imre.horjan created an issue. See original summary.

imre.horjan’s picture

Issue summary: View changes
imre.horjan’s picture

getAliasByPath() is called with an empty string '' in this case.

imre.horjan’s picture

Issue summary: View changes
imre.horjan’s picture

Comment removed: Posted to wrong issue

imre.horjan’s picture

Assigned: Unassigned » imre.horjan
Status: Active » Needs work
Issue tags: +#PenceoWeeklySprint
imre.horjan’s picture

Version: 8.1.0-rc1 » 8.2.x-dev
imre.horjan’s picture

8.2 debug trace:

InvalidArgumentException: Source path has to start with a slash. in Drupal\Core\Path\AliasManager->getAliasByPath() (line 191 of core/lib/Drupal/Core/Path/AliasManager.php).
Drupal\system\Plugin\Condition\RequestPath->evaluate() (Line: 71)
Drupal\Core\Condition\ConditionManager->execute(Object) (Line: 82)
Drupal\Core\Condition\ConditionPluginBase->execute() (Line: 31)
Drupal\block\BlockAccessControlHandler->resolveConditions(Array, 'and') (Line: 128)
Drupal\block\BlockAccessControlHandler->checkAccess(Object, 'view', Object) (Line: 98)
Drupal\Core\Entity\EntityAccessControlHandler->access(Object, 'view', NULL, 1) (Line: 339)
Drupal\Core\Entity\Entity->access('view', NULL, 1) (Line: 61)
Drupal\block\BlockRepository->getVisibleBlocksPerRegion(Array) (Line: 142)
Drupal\block\Plugin\DisplayVariant\BlockPageVariant->build() (Line: 264)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 122)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 95)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 116)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 2) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 2, 1) (Line: 62)
Drupal\Core\StackMiddleware\Session->handle(Object, 2, 1) (Line: 53)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 2, 1) (Line: 103)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 2, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 2, 1) (Line: 51)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 2, 1) (Line: 55)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 2, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 2) (Line: 150)
Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber->makeSubrequest(Object, '/system/403', 403) (Line: 104)
Drupal\Core\EventSubscriber\DefaultExceptionHtmlSubscriber->on403(Object) (Line: 103)
Drupal\Core\EventSubscriber\HttpExceptionSubscriberBase->onException(Object, 'kernel.exception', Object) (Line: 116)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.exception', Object) (Line: 216)
Symfony\Component\HttpKernel\HttpKernel->handleException(Object, Object, 1) (Line: 70)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 62)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 103)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 55)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 631)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

imre.horjan’s picture

Assigned: imre.horjan » Unassigned
Status: Needs work » Needs review
StatusFileSize
new864 bytes
imre.horjan’s picture

StatusFileSize
new843 bytes
imre.horjan’s picture

mibfire’s picture

Works properly.

dagmar’s picture

Status: Needs review » Needs work
Issue tags: +Needs tests

@imre.horjan thanks for your patch.

We need some test that ensure this does not break again.

dawehner’s picture

imre.horjan’s picture

Status: Needs work » Closed (duplicate)

Let's close this one in favor of Tim Plunkett's patch, since he's provided test as well.