[FIXED] Error on group join (or request to join)

Brettflan

Active Member
At least that's what it looks like. This error just recently showed up in our server error log in the admin panel from a user. I haven't tried to replicate it.

Code:
LogicException: Attempted to set 'group_id' while a save was pending without forceSet src/XF/Mvc/Entity/Entity.php:598

Stack trace

#0 src/XF/Mvc/Entity/Entity.php(743): XF\Mvc\Entity\Entity->set('group_id', 467, Array)
#1 src/addons/Truonglv/Groups/Service/Group/Joiner.php(174): XF\Mvc\Entity\Entity->bulkSet(Array)
#2 src/XF/Service/ValidateAndSavableTrait.php(42): Truonglv\Groups\Service\Group\Joiner->_save()
#3 src/addons/Truonglv/Groups/Pub/Controller/Group.php(1115): Truonglv\Groups\Service\Group\Joiner->save()
#4 src/XF/Mvc/Dispatcher.php(352): Truonglv\Groups\Pub\Controller\Group->actionJoin(Object(XF\Mvc\ParameterBag))
#5 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('Truonglv\\Groups...', 'Join', Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\Pub\Controller\Group), NULL)
#6 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\Pub\Controller\Group), NULL)
#7 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#9 src/XF.php(517): XF\App->run()
#10 index.php(20): XF::runApp('XF\\Pub\\App')
#11 {main}

Request state

array(4) {
  ["url"] => string(66) "/index.php?groups/warband-t%C3%BCrkiye-8v8-turnuvas%C4%B1.467/join"
  ["referrer"] => string(60) "https://forums.taleworlds.com/index.php?members/thoe.544103/"
  ["_GET"] => array(1) {
    ["groups/warband-türkiye-8v8-turnuvası_467/join"] => string(0) ""
  }
  ["_POST"] => array(4) {
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(31) "/index.php?members/thoe.544103/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
Based on the referrer, it looks like this user tried to join a group listed in another user's profile. But based on the error, it seems like something else just happened to be updating the group in the database through XenForo's entity handler when this triggered and tried to change the same group entity. An unlikely and unfortunate collision. So, probably really hard to reproduce intentionally.

But, there's a good chance you'll know better what's going on there.
 
Got another one today, pretty much the same:

Code:
LogicException: Attempted to set 'group_id' while a save was pending without forceSet src/XF/Mvc/Entity/Entity.php:598

Stack trace

#0 src/XF/Mvc/Entity/Entity.php(743): XF\Mvc\Entity\Entity->set('group_id', 16, Array)
#1 src/addons/Truonglv/Groups/Service/Group/Joiner.php(174): XF\Mvc\Entity\Entity->bulkSet(Array)
#2 src/XF/Service/ValidateAndSavableTrait.php(42): Truonglv\Groups\Service\Group\Joiner->_save()
#3 src/addons/Truonglv/Groups/Pub/Controller/Group.php(1115): Truonglv\Groups\Service\Group\Joiner->save()
#4 src/XF/Mvc/Dispatcher.php(352): Truonglv\Groups\Pub\Controller\Group->actionJoin(Object(XF\Mvc\ParameterBag))
#5 src/XF/Mvc/Dispatcher.php(259): XF\Mvc\Dispatcher->dispatchClass('Truonglv\\Groups...', 'Join', Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\Pub\Controller\Group), NULL)
#6 src/XF/Mvc/Dispatcher.php(115): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(Truonglv\Groups\Pub\Controller\Group), NULL)
#7 src/XF/Mvc/Dispatcher.php(57): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(2351): XF\Mvc\Dispatcher->run()
#9 src/XF.php(517): XF\App->run()
#10 index.php(20): XF::runApp('XF\\Pub\\App')
#11 {main}

Request state

array(4) {
  ["url"] => string(42) "/index.php?groups/dr-deutschritter.16/join"
  ["referrer"] => string(64) "https://forums.taleworlds.com/index.php?members/sv%C3%84n.55666/"
  ["_GET"] => array(1) {
    ["groups/dr-deutschritter_16/join"] => string(0) ""
  }
  ["_POST"] => array(4) {
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(35) "/index.php?members/sv%C3%84n.55666/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}

This one likewise looks to be from one user viewing another user's profile, seeing the groups they're part of, and clicking the link there to try to join the group.
 
Back
Top