Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 291280

Excessive calling of menu loader

$
0
0

I have a straitforward menu loader:

<?php
  $items
[$root . '/snapshot/%cim_snapshot'] = array(
   
'title'=> 'Snapshot details',
   
'page callback'=> 'cim_admin_snapshot_view',
   
'page arguments'=> array(5),
   
'access arguments'=> array('administer snapshots'),
   
'file'=> 'cim.admin.inc',
  );
?>

However, cim_snapshot_load ends up being called 8 times. Seems like it gets called from all over the place, I've created a list of semi-readable, poor-mans backtraces:

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\LegacyRequestSubscriber::onKernelRequestLegacy -> menu_set_custom_theme -> menu_get_custom_theme -> menu_get_item -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> block_page_build -> block_get_blocks_by_region -> _block_get_renderable_region -> Drupal\Core\Entity\Entity::access -> Drupal\block\BlockAccessController::viewAccess -> Drupal\block\BlockBase::access -> Drupal\system\Plugin\block\block\SystemHelpBlock::blockAccess -> menu_get_active_help -> menu_tab_root_path -> menu_local_tasks -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> block_page_build -> block_get_blocks_by_region -> _block_get_renderable_region -> Drupal\Core\Entity\Entity::access -> Drupal\block\BlockAccessController::viewAccess -> Drupal\block\BlockBase::access -> Drupal\system\Plugin\block\block\SystemHelpBlock::blockAccess -> menu_get_active_help -> menu_tab_root_path -> menu_local_tasks -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> block_page_build -> block_get_blocks_by_region -> _block_get_renderable_region -> Drupal\Core\Entity\Entity::access -> Drupal\block\BlockAccessController::viewAccess -> Drupal\block\BlockBase::access -> Drupal\system\Plugin\block\block\SystemHelpBlock::blockAccess -> menu_get_active_help -> menu_tab_root_path -> menu_local_tasks -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> block_page_build -> block_get_blocks_by_region -> _block_get_renderable_region -> Drupal\Core\Entity\Entity::access -> Drupal\block\BlockAccessController::viewAccess -> Drupal\block\BlockBase::access -> Drupal\system\Plugin\block\block\SystemHelpBlock::blockAccess -> menu_get_active_help -> menu_tab_root_path -> menu_local_tasks -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> block_page_build -> block_get_blocks_by_region -> _block_get_renderable_region -> Drupal\Core\Entity\Entity::access -> Drupal\block\BlockAccessController::viewAccess -> Drupal\block\BlockBase::access -> Drupal\system\Plugin\block\block\SystemHelpBlock::blockAccess -> menu_get_active_help -> menu_tab_root_path -> menu_local_tasks -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> drupal_render -> theme -> shortcut_preprocess_page -> drupal_get_title -> menu_get_active_title -> menu_get_active_trail -> menu_set_active_trail -> menu_link_get_preferred -> _menu_translate -> _menu_load_objects -> cim_snapshot_load

drupal_handle_request -> Symfony\Component\HttpKernel\Kernel::handle -> Drupal\Core\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handle -> Symfony\Component\HttpKernel\HttpKernel::handleRaw -> Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::dispatch -> Symfony\Component\EventDispatcher\EventDispatcher::doDispatch -> call_user_func -> Drupal\Core\EventSubscriber\ViewSubscriber::onView -> Drupal\Core\EventSubscriber\ViewSubscriber::onHtml -> drupal_render_page -> drupal_render -> theme -> shortcut_preprocess_page -> drupal_get_title -> menu_get_active_title -> menu_get_active_trail -> menu_set_active_trail -> _menu_link_translate -> _menu_load_objects -> cim_snapshot_load


Viewing all articles
Browse latest Browse all 291280

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>