Problem/Motivation

The following error occurs on views pages using the default argument plugin (Group from ID in URL).

Error: Call to a member function getPluginId() on null in Drupal\group\GroupMembership->__construct() (line 37 of modules/contrib/group/src/GroupMembership.php).
Drupal\group\GroupMembershipLoader->wrapGroupRelationshipEntities(Array) (Line: 51)
Drupal\group\GroupMembershipLoader->load(Object, Object) (Line: 55)
Drupal\group\Access\GroupPermissionChecker->hasPermissionInGroup('view group', Object, Object) (Line: 214)
Drupal\group\Entity\Group->hasPermission('view group', Object) (Line: 33)
Drupal\group\Access\GroupAccessResult::allowedIfHasGroupPermission(Object, Object, 'view group') (Line: 72)
Drupal\group\Entity\Access\GroupAccessControlHandler->checkAccess(Object, 'view', Object) (Line: 109)
Drupal\Core\Entity\EntityAccessControlHandler->access(Object, 'view', Object, 1) (Line: 750)
Drupal\Core\Entity\ContentEntityBase->access('view', Object, 1) (Line: 72)
Drupal\Core\Entity\EntityAccessCheck->access(Object, Object, Object)
call_user_func_array(Array, Array) (Line: 160)
Drupal\Core\Access\AccessManager->performCheck('access_check.entity', Object) (Line: 136)
Drupal\Core\Access\AccessManager->check(Object, Object, NULL, 1) (Line: 93)
Drupal\Core\Access\AccessManager->checkNamedRoute('entity.group.latest_version', Array, Object, 1) (Line: 333)
Drupal\Core\Menu\LocalTaskManager->getTasksBuild('view.company_scopes.page_scopes', Object) (Line: 375)
Drupal\Core\Menu\LocalTaskManager->getLocalTasks('view.company_scopes.page_scopes', 0) (Line: 106)
Drupal\Core\Menu\Plugin\Block\LocalTasksBlock->build() (Line: 212)
Drupal\block\BlockViewBuilder::preRender(Array)
call_user_func_array('Drupal\block\BlockViewBuilder::preRender', Array) (Line: 107)
Drupal\Core\Render\Renderer->doTrustedCallback('Drupal\block\BlockViewBuilder::preRender', Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. See https://www.drupal.org/node/2966725', 'exception', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 910)
Drupal\Core\Render\Renderer->doCallback('#pre_render', 'Drupal\block\BlockViewBuilder::preRender', Array) (Line: 441)
Drupal\Core\Render\Renderer->doRender(Array, Object) (Line: 253)
Drupal\Core\Render\Renderer->doRenderRoot(Array, Object) (Line: 143)
Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
Fiber->resume() (Line: 649)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 142)
Drupal\Core\Render\Renderer->renderInIsolation(Array) (Line: 169)
Drupal\Core\Render\Renderer->doRenderPlaceholder(Array) (Line: 760)
Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
Fiber->resume() (Line: 771)
Drupal\Core\Render\Renderer->replacePlaceholders(Array) (Line: 265)
Drupal\Core\Render\Renderer->doRenderRoot(Array, Object) (Line: 143)
Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}() (Line: 634)
Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
Fiber->resume() (Line: 649)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 142)
Drupal\Core\Render\Renderer->renderInIsolation(Array) (Line: 113)
Drupal\Core\Render\Renderer->renderRoot(Array) (Line: 253)
Drupal\Core\Render\HtmlResponseAttachmentsProcessor->renderPlaceholders(Object) (Line: 93)
Drupal\Core\Render\HtmlResponseAttachmentsProcessor->processAttachments(Object) (Line: 45)
Drupal\Core\EventSubscriber\HtmlResponseSubscriber->onRespond(Object, 'kernel.response', Object) (Line: 246)
Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}(Object, 'kernel.response', Object) (Line: 206)
Symfony\Component\EventDispatcher\EventDispatcher->callListeners(Array, 'kernel.response', Object) (Line: 56)
Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object, 'kernel.response') (Line: 216)
Symfony\Component\HttpKernel\HttpKernel->filterResponse(Object, Object, 1) (Line: 204)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 43)
Drupal\redirect_after_login\RedirectMiddleware->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 118)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 92)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 53)
Asm89\Stack\Cors->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\AjaxPageState->handle(Object, 1, 1) (Line: 54)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 745)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

The issues is that: $group_relationship->getRelationshipType() returns null instead of a group id, but only in this situation, it generally works correctly. (line 37 of modules/contrib/group/src/GroupMembership.php).

I haven't found the exactly situation that because this to fail.

CommentFileSizeAuthor
#2 group-php-error-3571561-1.patch739 bytesspotzero

Comments

spotzero created an issue. See original summary.

spotzero’s picture

StatusFileSize
new739 bytes

This patch is a work around that resolves the PHP error that occurs. While is doesn't address the route cause, it fixes the error.

marcellinostroosnijder’s picture

I had the same issue too, but https://www.drupal.org/project/group/issues/3568872 has a working solution and explains the error.