- Issue created by @msnassar
- last update
about 1 year ago 9,625 pass, 2 fail - last update
about 1 year ago 9,628 pass - Status changed to Postponed: needs info
10 months ago 3:24pm 14 January 2024 - π©πͺGermany geek-merlin Freiburg, Germany
Meta-review: Posting patch / MR without setting NR or explanation what you do will not get you good karma.
Please check if it's a dup of the other issue.
- Status changed to Needs review
10 months ago 9:56am 15 January 2024 - π§πͺBelgium msnassar
Sorry forgot to change to NR.
I have updated the description of the ticket to have better explanation for the issue and added UPDATE section too... - πΈπ³Senegal diaodiallo
Hi, I am having this same issue with 2.2 but patch 2 is not working. Do someone fix this on 2.2?
- Assigned to kristiaanvandeneynde
- Status changed to RTBC
8 months ago 3:09am 7 March 2024 - πΊπΈUnited States dww
Hrm, I ran into exactly this error when trying to deploy some new config from local to a public test site that included creating some new group types and associated fields. drupal/group is at 3.2.2. Patch #4 allows the config import to succeed and I haven't noticed any trouble (although there's no site-specific test coverage yet).
It definitely looks like @kristiaanvandeneynde prefers patches, since there's neither a
.gitlab-ci.yml
file nor an issue about adding one. π Alas, patches aren't going to be tested in a few weeks/months. So we probably need to start moving everything to MRs, but that doesn't have to happen here. See π Add .gitlab-ci.yml file for automated MR testing ActiveThe resulting proposed code in
src/Entity/Storage/GroupRelationshipStorage.php
is a little dense, but that's mostly due to having to deal with both$group_relationship_type
and$group_relation_type
and needing to understand the difference. But that's part of working with the Group API. π Most of the patch bytes are due to adding a level of indentation for a newif
, not actual changes.Re: #6: #3414592 was created after this issue, so if anything, that one would be duplicate with this. To me, the code makes more sense in this patch than in https://git.drupalcode.org/project/group/-/merge_requests/125 (which contains CS errors, although we wouldn't know that until #3426239 is done).
I'm only supposed to be maintaining legacy branches, so I don't feel comfortable committing this. But I'll move it to RTBC and assign.
Thanks!
-Derek - Status changed to Needs work
8 months ago 8:53am 7 March 2024 - π§πͺBelgium kristiaanvandeneynde Antwerp, Belgium
I've never been a fan of code that hides symptoms rather than fights the cause or at least documents why we're hiding the symptoms instead. Some people call that defensive coding, I call that an invitation to go unnecessarily deep down a rabbit hole when you eventually end up having to debug all these hidden symptoms.
As the IS mentions, the OP cannot reproduce this on a clean installation so we don't even know if there is a bug in Group to begin with. If someone could come up with a reproducible way to trigger this error, either through instructions or (better yet) an automated test, then we could properly investigate this.
As far as #9 goes: I appreciate you not committing anything to the newer branches. As I've explained on the other issue regarding GitLab CI, I do prefer MRs, but they have to be made against 3.3.x, after which I'll backport them to 2.3.x. Older minor versions do not see any updates once a new one is out.
- Issue was unassigned.
- πΊπΈUnited States dww
All great points in #10. Agreed that better understanding the cause and having tests are needed before this is commit-able. Tagging and unassigning. Apologies for being hasty. I was coming to this issue from this story / experience:
It's late, I'm finally deploying another version of the site for a new round of user testing that everyone's excited about. I've got the tagged release up on the test site, but
drush cim
is dying with a fatal error inGroupRelationshipStorage
. Ugh, WTF? Search issue queue. There's exactly the error message I'm seeing. There's a patch. Looks pretty reasonable. Try it. It works. I can proceed with sending out that email to all the user testers. Lemme see if I can move this along as a real upstream fix...I was not thinking like a maintainer, more like a consumer. Sorry for that!
I can probably work on a test for this, since I have a reproducible situation locally. I haven't properly gone down the rabbit hole, yet, but my hunch is that some group-related config is not declaring its dependencies fully, and on config import, we're trying to create a group before the corresponding group_relationship_type exists. Anyway, I'll report back once I actually have a chance to debug this. Immediate need is to make progress on other fronts now that I have a work-around for this one. π
Sorry for the confusion around GitLab CI. I'll reply there.
Totally agreed on not committing anything to newer branches. That was our agreement all along. I was documenting it for the other participants here. I should have said "have agreed not to" instead of "don't feel comfortable". Again, sorry for the late night sloppy writing.
Thanks!
-Derek - π§πͺBelgium kristiaanvandeneynde Antwerp, Belgium
Yeah no worries. In general I'll never commit code that hides symptoms, it's just kicking the can down the road and will eventually catch up with you with all sorts of unpleasantries.
- πΊπΈUnited States xyxxznpm
Applying patch #4 for group version 3.2.2, error fixed. Thanks!
- πΊπΈUnited States dalemoore
I'm running into this issue after just installing Group. Tried to go and create my first group following the docs and immediately get the error. And now I get it any time I go to /admin/group.
The website encountered an unexpected error. Try again later. Error: Call to a member function getPluginId() on null in Drupal\group\Entity\Storage\GroupRelationshipStorage->getEntityClass() (line 93 of modules/contrib/group/src/Entity/Storage/GroupRelationshipStorage.php). Drupal\Core\Entity\EntityFieldManager->buildBundleFieldDefinitions('group_relationship', 'microsite-group_membership', Array) (Line: 353) Drupal\Core\Entity\EntityFieldManager->getFieldDefinitions('group_relationship', 'microsite-group_membership') (Line: 1219) Drupal\Core\Entity\Sql\SqlContentEntityStorage->loadFromDedicatedTables(Array, ) (Line: 503) Drupal\Core\Entity\Sql\SqlContentEntityStorage->mapFromStorageRecords(Array) (Line: 428) Drupal\Core\Entity\Sql\SqlContentEntityStorage->getFromStorage(Array) (Line: 394) Drupal\Core\Entity\Sql\SqlContentEntityStorage->doLoadMultiple(Array) (Line: 312) Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) (Line: 84) Drupal\group\Entity\GroupMembership::loadByUser(Object, NULL) (Line: 68) Drupal\group\GroupMembershipLoader->loadByUser(Object) (Line: 58) Drupal\group\Access\IndividualGroupPermissionCalculator->calculatePermissions(Object, 'individual') (Line: 138) Drupal\flexible_permissions\ChainPermissionCalculator->calculatePermissions(Object, 'individual') (Line: 41) Drupal\group\Access\GroupPermissionCalculator->calculateFullPermissions(Object) (Line: 40) Drupal\group\QueryAccess\GroupQueryAlter->doAlter('view') (Line: 150) Drupal\group\QueryAccess\QueryAlterBase->alter(Object, Object) (Line: 336) group_query_entity_query_alter(Object, NULL, NULL) (Line: 545) Drupal\Core\Extension\ModuleHandler->alter('query', Object) (Line: 495) Drupal\Core\Database\Query\Select->preExecute() (Line: 503) Drupal\Core\Database\Query\Select->preExecute() (Line: 520) Drupal\Core\Database\Query\Select->execute() (Line: 266) Drupal\Core\Entity\Query\Sql\Query->result() (Line: 84) Drupal\Core\Entity\Query\Sql\Query->execute() (Line: 316) Drupal\Core\Entity\Query\QueryBase->initializePager() (Line: 245) Drupal\Core\Entity\Query\Sql\Query->finish() (Line: 83) Drupal\Core\Entity\Query\Sql\Query->execute() (Line: 161) Drupal\group\Entity\Controller\GroupListBuilder->getEntityIds() (Line: 88) Drupal\Core\Entity\EntityListBuilder->load() (Line: 241) Drupal\Core\Entity\EntityListBuilder->render() (Line: 141) Drupal\group\Entity\Controller\GroupListBuilder->render() (Line: 23) Drupal\Core\Entity\Controller\EntityListController->listing('group') call_user_func_array(Array, Array) (Line: 123) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 627) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58) 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: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 106) Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85) 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: 38) Drupal\tracer\StackMiddleware\TracesMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
- π§πͺBelgium Axael
I had the same error as the OP on my acceptance environment. I applied patch #4 which fixed that specific error, but there's another one now showing in the watchdog and causing a WSOD:
Error : Call to a member function getPluginId() on null dans Drupal\group\GroupMembership->__construct() (/var/www/projects/xxx/web/modules/contrib/group/src/GroupMembership.php ligne 37)
This error doesn't show on my local dev environment. Once the website is migrated to the acceptance environment, the error seems to hit only admin-level users except user ID1. Could it be related to permissions?
- First commit to issue fork.
- Merge request !184Merge issue/group-3399452:3399452-error-call-to into project/group:3.3.x β (Open) created by vensires
- π¬π·Greece vensires
I have the same issue in non-local servers after uninstalling a previously installed group node plugin. After clearing the cache, the issue seems to be fixed but in acceptance we don't have this right and the pipeline keeps failing.
I will try the patch and update the ticket if I have a success. Created a MR for easier changes in case I find a solution for #15 π Error: Call to a member function getPluginId() on null in modules/contrib/group/src/Entity/Storage/GroupRelationshipStorage.php on line 93 Active while fixing the summary's issue first.
- π¬π·Greece vensires
Updated MR with latest changes in order to apply to Group v3.3.x. Uploading patch too.