- Affected version
- 2.3.7
PHP:
while ($row = $results->fetchAliasGrouped())
{
$entity = $this->em->hydrateFromGrouped($row, $map);
$id = $keyedBy ? $keyedBy($entity) : $entity->getIdentifier();
Tracing from
hydrateFromGrouped, instantiateEntity can return null which may cause hydrateFromGrouped to return null in a wonky edge case. That will make the call to Entity::getIdentifier() fail and really doesn't make any sense to pass to $keyedBy which probably expects the argument to be non-null too.Adding
if ($entity === null) { continue; } after the hydrateFromGrouped call and then updating hydrateFromGrouped return type hint to be nullable would fix this.Source user bug report, my code is just calling
NewPosts::render() and inserts some data into the return WidgetRenderer objectCode:Sunucu hata günlüğü Error: Error rendering widget: Call to a member function getIdentifier() on null src/XF/Mvc/Entity/Finder.php:1497 Tarafından: Bilinmeyen hesap 1 Ocak 2026 07:20'de Yığın izleme #0 src/XF/Mvc/Entity/Finder.php(1450): XF\Mvc\Entity\Finder->getCollectionFromResults(Object(XF\Db\Mysqli\Statement)) #1 src/XF/Widget/NewPosts.php(93): XF\Mvc\Entity\Finder->fetch() #2 src/addons/SV/UserActivity/WidgetUserCountActivityInjector.php(59): XF\Widget\NewPosts->render() #3 internal_data/code_cache/widgets/_52_x10.php(5): SV\UserActivity\XF\Widget\NewPosts->render() #4 src/XF/Template/Templater.php(8197): XF\SubContainer\Widget->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Array) #5 src/XF/SubContainer/Widget.php(176): XF\Template\Templater->renderWidgetClosure(Object(Closure), Array) #6 src/XF/Template/Templater.php(2144): XF\SubContainer\Widget->getCompiledWidget(Array, Array) #7 internal_data/code_cache/templates/l2/s29/public/thread_view.php(1459): XF\Template\Templater->widgetPosition('thread_view_sid...', Array) #8 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet)) #9 src/addons/Apocalypse/SMSConfirmation/XF/Template/Templater.php(0): XF\Template\Templater->renderTemplate('thread_view', Array, true, NULL) #10 src/XF/Template/Template.php(24): Apocalypse\SMSConfirmation\XF\Template\Templater->renderTemplate('public:thread_v...', Array) #11 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render() #12 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array) #13 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View)) #14 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View)) #15 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html') #16 src/XF/App.php(2824): XF\Mvc\Dispatcher->run() #17 src/XF.php(806): XF\App->run() #18 index.php(23): XF::runApp('XF\\Pub\\App') #19 {main} Durum isteği array(4) { ["url"] => string(50) "/konu/poco-x7-pro-iron-man-versiyonu-kirmizi.1194/" ["referrer"] => bool(false) ["_GET"] => array(0) { } ["_POST"] => array(0) { } }