diff -u b/core/modules/system/system.module b/core/modules/system/system.module --- b/core/modules/system/system.module +++ b/core/modules/system/system.module @@ -854,7 +854,7 @@ function system_get_info($type, $name = NULL) { $info = array(); if ($type == 'module') { - if (!$data = \Drupal::state()->get('system.module.data')) { + if (!$data = \Drupal::cache()->get('system.module.data')) { $data = system_rebuild_module_data(); } foreach (\Drupal::moduleHandler()->getModuleList() as $module => $filename) { @@ -999,11 +999,11 @@ $files[$name] = $module->getPathname(); } $modules = \Drupal::moduleHandler()->buildModuleDependencies($modules); - // Store the module info in state. We rely on consecutive calls to + // Store the module info in cache. We rely on consecutive calls to // system_rebuild_module_data() to reset this key, such as when // listing modules, (un)installating modules, importing configuration, // updating the site and when flushing all caches. - \Drupal::state()->set('system.module.data', $modules); + \Drupal::cache()->set('system.module.data', $modules); $modules_cache = $modules; // Store filenames to allow drupal_get_filename() to only in patch2: unchanged: --- a/core/modules/user/src/PermissionHandler.php +++ b/core/modules/user/src/PermissionHandler.php @@ -227,9 +227,8 @@ protected function sortPermissions(array $all_permissions = array()) { */ protected function getModuleNames() { $modules = array(); - $module_info = $this->systemRebuildModuleData(); foreach (array_keys($this->moduleHandler->getModuleList()) as $module) { - $modules[$module] = $module_info[$module]->info['name']; + $modules[$module] = $this->moduleHandler->getName($module); } asort($modules); return $modules;