Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3, 2.5
    • Fix Version/s: 2.5
    • Component/s: Libraries, Performance
    • Labels:
    • Testing Instructions:
      Hide

      Testing difficulty: Medium (test site upgrades and add-on installation to be done)

      1. Make sure that upgrading 2.3 -> patched 2.5 and 2.4 -> patched 2.5 works with no error related to this patch.
      2. Make sure that all tests from lib/tests/pluginlib_test.php pass.
      3. Browse the test site for a while and make sure everything seems to work as expected (JavaScript, file picker etc). Watch the MUC usage stats in the footer (you may need to define MDL_PERF and MDL_PERFTOFOOT constants in config.php). You should get hits in core_plugin* caches at most of the pages (at some administration pages, these caches are automatically purged so you can see the caches being set there with no hits).
      4. Try to disable/enable some activity modules, blocks, filters, repositories and/or portfolios. Again, no regression should be spotted.
      5. Try to install some add-on module or block. Again, no new error message or warning should be detected.
      6. So far so good? Hmm. That's suspicious... Anyway, let us consider it tested Thanks!
      Show
      Testing difficulty: Medium (test site upgrades and add-on installation to be done) Make sure that upgrading 2.3 -> patched 2.5 and 2.4 -> patched 2.5 works with no error related to this patch. Make sure that all tests from lib/tests/pluginlib_test.php pass. Browse the test site for a while and make sure everything seems to work as expected (JavaScript, file picker etc). Watch the MUC usage stats in the footer (you may need to define MDL_PERF and MDL_PERFTOFOOT constants in config.php). You should get hits in core_plugin* caches at most of the pages (at some administration pages, these caches are automatically purged so you can see the caches being set there with no hits). Try to disable/enable some activity modules, blocks, filters, repositories and/or portfolios. Again, no regression should be spotted. Try to install some add-on module or block. Again, no new error message or warning should be detected. So far so good? Hmm. That's suspicious... Anyway, let us consider it tested Thanks!
    • Workaround:
      Hide

      Close your eyes and keep staying on your left foot only for a couple of minutes.

      Show
      Close your eyes and keep staying on your left foot only for a couple of minutes.
    • Affected Branches:
      MOODLE_23_STABLE, MOODLE_25_STABLE
    • Fixed Branches:
      MOODLE_25_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-34401-muc-pluginlib

      Description

      /lib/pluginlib has a number of static caches for things that don't change very much and may get called a lot. A good candidate for persistent caching between upgrades I think.

      $this->pluginsinfo
      $this->subpluginsinfo

      $pluginversions
      $blocksinfocache
      $globalstatescache
      $modulesinfocache
      $repositories
      $portfolios

      Other candidates are core functions like get_plugin_list().

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            Michael Aherne added a comment -

            Could the results of get_plugin_types also be cached between upgrades? If I understand it correctly, the speed of this function is the main thing stopping the implementation of subplugins for all plugin types.

            Show
            Michael Aherne added a comment - Could the results of get_plugin_types also be cached between upgrades? If I understand it correctly, the speed of this function is the main thing stopping the implementation of subplugins for all plugin types.
            Hide
            David Mudrak added a comment -

            I am extending the focus of this issue. I discovered couple of core functions (like get_plugin_list()) that are called very often with no caching. My initial tests show that we can significantly reduce Wall time spent in these functions by applying MUC, too.

            Show
            David Mudrak added a comment - I am extending the focus of this issue. I discovered couple of core functions (like get_plugin_list()) that are called very often with no caching. My initial tests show that we can significantly reduce Wall time spent in these functions by applying MUC, too.
            Hide
            David Mudrak added a comment -

            DEAR INTEGRATORS,

            the patchset introduces couple of new MUC caches. Firstly there are caches for get_plugin_types() and get_plugin_list() core functions that minimise the Wall time spent in these function significantly (as measured by the profiler).

            Then, all current static variables in lib/pluginlib.php are replaced with MODE_REQUEST caches and then again into proper MODE_APPLICATION caches. This is implemented in separate commits so that the logic of the transition is better documented in the code history. These new caches save ~5 DB requests per page and remove ~170 file inclusions at some pages.

            I must apologize as the integrator will probably experience conflicts in version.php several times (as I increased the version during the development). You may wish to just discard these conflicts and make sure that the version is increased before this is going to be tested. There is no explicit uprade step and MUC automatically re-scans definitions if needed so the intermediate version bumps are not really needed.

            Show
            David Mudrak added a comment - DEAR INTEGRATORS, the patchset introduces couple of new MUC caches. Firstly there are caches for get_plugin_types() and get_plugin_list() core functions that minimise the Wall time spent in these function significantly (as measured by the profiler). Then, all current static variables in lib/pluginlib.php are replaced with MODE_REQUEST caches and then again into proper MODE_APPLICATION caches. This is implemented in separate commits so that the logic of the transition is better documented in the code history. These new caches save ~5 DB requests per page and remove ~170 file inclusions at some pages. I must apologize as the integrator will probably experience conflicts in version.php several times (as I increased the version during the development). You may wish to just discard these conflicts and make sure that the version is increased before this is going to be tested. There is no explicit uprade step and MUC automatically re-scans definitions if needed so the intermediate version bumps are not really needed.
            Hide
            Damyon Wiese added a comment -

            The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

            Thanks!

            Show
            Damyon Wiese added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. Thanks!
            Hide
            Dan Poltawski added a comment -

            Hmm, one concern I have is that seems to significantly slow things for me:

            {pre}
            BEFORE:
            1.359413 secs
            RAM: 41.9MB
            RAM peak: 42.4MB
            Included 1000 files
            Contexts for which filters were loaded: 6
            Filters created: 18
            Pieces of content filtered: 8
            Strings filtered: 0
            get_string calls: 1264
            Included YUI modules: 0
            Other JavaScript modules: 3
            Log DB writes 1
            DB reads/writes: 77/0
            ticks: 136 user: 112 sys: 13 cuser: 0 csys: 0
            Load average: 2.46
            Session: 10.7KB
            Caches interaction by definition then store
            core/databasemeta
            ** static persist **: 28 / 18 / 0
            cachestore_file: 18 / 0 / 0
            adhoc/core_string
            cachestore_static: 2287 / 340 / 340
            core/htmlpurifier
            cachestore_file: 21 / 0 / 0
            core/calendar_subscriptions
            ** static persist **: 11 / 4 / 0
            cachestore_file: 4 / 0 / 0
            Total Hits / Misses / Sets : 2369 / 362 / 340

            AFTER:

            1.847111 secs
            RAM: 42.2MB
            RAM peak: 42.7MB
            Included 1000 files
            Contexts for which filters were loaded: 6
            Filters created: 18
            Pieces of content filtered: 8
            Strings filtered: 0
            get_string calls: 1264
            Included YUI modules: 0
            Other JavaScript modules: 3
            Log DB writes 1
            DB reads/writes: 77/0
            ticks: 184 user: 136 sys: 27 cuser: 0 csys: 0
            Load average: 1.80
            Session: 10.7KB
            Caches interaction by definition then store
            core/databasemeta
            ** static persist **: 28 / 18 / 0
            cachestore_file: 18 / 0 / 0
            adhoc/core_string
            cachestore_static: 2287 / 340 / 340
            core/pluginlist
            ** static persist **: 56 / 49 / 0
            cachestore_file: 8 / 41 / 41
            core/plugintypes
            ** static persist **: 1296 / 1 / 0
            cachestore_file: 0 / 1 / 2
            core/plugininfo_base
            ** static persist **: 868 / 2 / 0
            cachestore_file: 0 / 2 / 311
            core/plugininfo_mod
            ** static persist **: 72 / 1 / 0
            cachestore_file: 0 / 1 / 1
            core/plugininfo_block
            ** static persist **: 45 / 1 / 0
            cachestore_file: 0 / 1 / 1
            core/plugininfo_filter
            ** static persist **: 5 / 1 / 0
            cachestore_file: 0 / 1 / 1
            core/plugininfo_repository
            ** static persist **: 19 / 1 / 0
            cachestore_file: 0 / 1 / 1
            core/htmlpurifier
            cachestore_file: 21 / 0 / 0
            core/calendar_subscriptions
            ** static persist **: 11 / 4 / 0
            cachestore_file: 4 / 0 / 0
            Total Hits / Misses / Sets : 4738 / 466 / 698{pre}
            Show
            Dan Poltawski added a comment - Hmm, one concern I have is that seems to significantly slow things for me: {pre} BEFORE: 1.359413 secs RAM: 41.9MB RAM peak: 42.4MB Included 1000 files Contexts for which filters were loaded: 6 Filters created: 18 Pieces of content filtered: 8 Strings filtered: 0 get_string calls: 1264 Included YUI modules: 0 Other JavaScript modules: 3 Log DB writes 1 DB reads/writes: 77/0 ticks: 136 user: 112 sys: 13 cuser: 0 csys: 0 Load average: 2.46 Session: 10.7KB Caches interaction by definition then store core/databasemeta ** static persist **: 28 / 18 / 0 cachestore_file: 18 / 0 / 0 adhoc/core_string cachestore_static: 2287 / 340 / 340 core/htmlpurifier cachestore_file: 21 / 0 / 0 core/calendar_subscriptions ** static persist **: 11 / 4 / 0 cachestore_file: 4 / 0 / 0 Total Hits / Misses / Sets : 2369 / 362 / 340 AFTER: 1.847111 secs RAM: 42.2MB RAM peak: 42.7MB Included 1000 files Contexts for which filters were loaded: 6 Filters created: 18 Pieces of content filtered: 8 Strings filtered: 0 get_string calls: 1264 Included YUI modules: 0 Other JavaScript modules: 3 Log DB writes 1 DB reads/writes: 77/0 ticks: 184 user: 136 sys: 27 cuser: 0 csys: 0 Load average: 1.80 Session: 10.7KB Caches interaction by definition then store core/databasemeta ** static persist **: 28 / 18 / 0 cachestore_file: 18 / 0 / 0 adhoc/core_string cachestore_static: 2287 / 340 / 340 core/pluginlist ** static persist **: 56 / 49 / 0 cachestore_file: 8 / 41 / 41 core/plugintypes ** static persist **: 1296 / 1 / 0 cachestore_file: 0 / 1 / 2 core/plugininfo_base ** static persist **: 868 / 2 / 0 cachestore_file: 0 / 2 / 311 core/plugininfo_mod ** static persist **: 72 / 1 / 0 cachestore_file: 0 / 1 / 1 core/plugininfo_block ** static persist **: 45 / 1 / 0 cachestore_file: 0 / 1 / 1 core/plugininfo_filter ** static persist **: 5 / 1 / 0 cachestore_file: 0 / 1 / 1 core/plugininfo_repository ** static persist **: 19 / 1 / 0 cachestore_file: 0 / 1 / 1 core/htmlpurifier cachestore_file: 21 / 0 / 0 core/calendar_subscriptions ** static persist **: 11 / 4 / 0 cachestore_file: 4 / 0 / 0 Total Hits / Misses / Sets : 4738 / 466 / 698{pre}
            Hide
            David Mudrak added a comment -

            Hi Dan. Thanks for looking at it. I'm just wondering, what was the page you used for the comparison? Was it admin/index.php? As I can see, no pluguntype cache file store was hit and all were repopulated and set. It's what happens at admin/index.php as these caches are purged there. That might explain higher processing times. When using xhprof focused on a course/view.php page, my results were pretty ok.

            Show
            David Mudrak added a comment - Hi Dan. Thanks for looking at it. I'm just wondering, what was the page you used for the comparison? Was it admin/index.php? As I can see, no pluguntype cache file store was hit and all were repopulated and set. It's what happens at admin/index.php as these caches are purged there. That might explain higher processing times. When using xhprof focused on a course/view.php page, my results were pretty ok.
            Hide
            Dan Poltawski added a comment -

            It was /, however I tried on the course page too and saw similar results too.

            Show
            Dan Poltawski added a comment - It was /, however I tried on the course page too and saw similar results too.
            Hide
            Dan Poltawski added a comment - - edited

            Ok, on further examination it seems just to be the front page as an admin. Visiting the course pages, i'm consistently seeing a 0.1s improvement (and this is with a fast, local db, i'm sure the effects would be improved on a multiserver system).

            Show
            Dan Poltawski added a comment - - edited Ok, on further examination it seems just to be the front page as an admin. Visiting the course pages, i'm consistently seeing a 0.1s improvement (and this is with a fast, local db, i'm sure the effects would be improved on a multiserver system).
            Hide
            Dan Poltawski added a comment -

            Integrated to master, thanks David

            Show
            Dan Poltawski added a comment - Integrated to master, thanks David
            Hide
            Dan Poltawski added a comment -

            PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /var/lib/jenkins/git_repositories/master/cache/classes/config.php on line 288
            PHP Stack trace:
            PHP 1.

            {main}

            () /var/lib/jenkins/git_repositories/master/admin/cli/upgrade.php:0
            PHP 2. require() /var/lib/jenkins/git_repositories/master/admin/cli/upgrade.php:34
            PHP 3. require_once() /var/lib/jenkins/git_repositories/master/config.php:27
            PHP 4. initialise_cfg() /var/lib/jenkins/git_repositories/master/lib/setup.php:550
            PHP 5. get_config() /var/lib/jenkins/git_repositories/master/lib/setuplib.php:725
            PHP 6. cache::make() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:1414
            PHP 7. cache_factory->create_cache_from_definition() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:169
            PHP 8. cache_factory->create_definition() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:175
            PHP 9. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:357
            PHP 10. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 11. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 12. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 13. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 14. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 15. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 16. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 17. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 18. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 19. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 20. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 21. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 22. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 23. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 24. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 25. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 26. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 27. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 28. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 29. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 30. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 31. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 32. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 33. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 34. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 35. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 36. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 37. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 38. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 39. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 40. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 41. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 42. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 43. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 44. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 45. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 46. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 47. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 48. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 49. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 50. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 51. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 52. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 53. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 54. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 55. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 56. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 57. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 58. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 59. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 60. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 61. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 62. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 63. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 64. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 65. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 66. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 67. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 68. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 69. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 70. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 71. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 72. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 73. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 74. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 75. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 76. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 77. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 78. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 79. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 80. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 81. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 82. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 83. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 84. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 85. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 86. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 87. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 88. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 89. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            PHP 90. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312
            PHP 91. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369
            PHP 92. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437
            PHP 93. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189
            PHP 94. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276
            PHP 95. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811
            PHP 96. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488
            PHP 97. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727
            PHP 98. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797
            PHP 99. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532
            Error upgrading from MOODLE_22_STABLE to master
            Build step 'Execute shell' marked build as failure
            Archiving artifacts
            Jabber notifier plugin: Sending notification to: integration@conference.moodle.org
            Finished: FAILURE

            Show
            Dan Poltawski added a comment - PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /var/lib/jenkins/git_repositories/master/cache/classes/config.php on line 288 PHP Stack trace: PHP 1. {main} () /var/lib/jenkins/git_repositories/master/admin/cli/upgrade.php:0 PHP 2. require() /var/lib/jenkins/git_repositories/master/admin/cli/upgrade.php:34 PHP 3. require_once() /var/lib/jenkins/git_repositories/master/config.php:27 PHP 4. initialise_cfg() /var/lib/jenkins/git_repositories/master/lib/setup.php:550 PHP 5. get_config() /var/lib/jenkins/git_repositories/master/lib/setuplib.php:725 PHP 6. cache::make() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:1414 PHP 7. cache_factory->create_cache_from_definition() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:169 PHP 8. cache_factory->create_definition() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:175 PHP 9. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:357 PHP 10. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 11. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 12. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 13. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 14. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 15. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 16. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 17. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 18. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 19. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 20. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 21. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 22. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 23. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 24. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 25. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 26. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 27. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 28. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 29. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 30. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 31. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 32. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 33. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 34. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 35. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 36. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 37. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 38. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 39. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 40. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 41. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 42. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 43. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 44. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 45. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 46. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 47. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 48. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 49. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 50. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 51. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 52. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 53. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 54. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 55. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 56. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 57. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 58. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 59. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 60. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 61. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 62. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 63. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 64. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 65. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 66. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 67. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 68. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 69. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 70. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 71. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 72. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 73. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 74. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 75. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 76. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 77. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 78. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 79. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 80. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 81. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 82. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 83. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 84. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 85. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 86. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 87. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 88. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 89. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 PHP 90. cache_config_writer::create_default_configuration() /var/lib/jenkins/git_repositories/master/cache/classes/factory.php:312 PHP 91. cache_config_writer::locate_definitions() /var/lib/jenkins/git_repositories/master/cache/locallib.php:369 PHP 92. get_plugin_types() /var/lib/jenkins/git_repositories/master/cache/locallib.php:437 PHP 93. cache->get() /var/lib/jenkins/git_repositories/master/lib/moodlelib.php:8189 PHP 94. cache->parse_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:276 PHP 95. cache_helper::hash_key() /var/lib/jenkins/git_repositories/master/cache/classes/loaders.php:811 PHP 96. cache_definition->generate_single_key_prefix() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:488 PHP 97. cache_definition->get_cache_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:727 PHP 98. cache_helper::get_site_identifier() /var/lib/jenkins/git_repositories/master/cache/classes/definition.php:797 PHP 99. cache_factory->create_config_instance() /var/lib/jenkins/git_repositories/master/cache/classes/helper.php:532 Error upgrading from MOODLE_22_STABLE to master Build step 'Execute shell' marked build as failure Archiving artifacts Jabber notifier plugin: Sending notification to: integration@conference.moodle.org Finished: FAILURE
            Hide
            Dan Poltawski added a comment -

            This caused behat init to die horribly with segfault and it was breaking cli install too:
            http://integration.moodle.org/job/05.%20Compare%20installed-upgraded%20DB%20from%2022_STABLE%20(master)/524/console

            Show
            Dan Poltawski added a comment - This caused behat init to die horribly with segfault and it was breaking cli install too: http://integration.moodle.org/job/05.%20Compare%20installed-upgraded%20DB%20from%2022_STABLE%20(master)/524/console
            Hide
            Dan Poltawski added a comment -

            Since we caught this failure quickly and not many people had upgraded to integration I rewrote integration history to revert this.

            David is at a UK Moot, so it seemed safer to avoid having the branch broken by this.

            Show
            Dan Poltawski added a comment - Since we caught this failure quickly and not many people had upgraded to integration I rewrote integration history to revert this. David is at a UK Moot, so it seemed safer to avoid having the branch broken by this.
            Hide
            David Monllaó added a comment -

            Same problem using admin/tool/behat/cli/util.php, but no segmentation fault

            davidm@davidm-desktop:/var/www/INTEGRATION/master$ php admin/tool/behat/cli/util.php --enable
            PHP Fatal error:  Maximum function nesting level of '100' reached, aborting! in /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/config.php on line 104
            PHP Stack trace:
            PHP   1. {main}() /home/davidm/Desktop/moodlecode/INTEGRATION/master/admin/tool/behat/cli/util.php:0
            PHP   2. require() /home/davidm/Desktop/moodlecode/INTEGRATION/master/admin/tool/behat/cli/util.php:151
            PHP   3. initialise_cfg() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/setup.php:550
            PHP   4. get_config() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/setuplib.php:725
            PHP   5. cache::make() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:1414
            PHP   6. cache_factory->create_cache_from_definition() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:169
            PHP   7. cache_factory->create_definition() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:175
            PHP   8. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:357
            PHP   9. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  10. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  11. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  12. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  13. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  14. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  15. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  16. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  17. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  18. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  19. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  20. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  21. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  22. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  23. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  24. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  25. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  26. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  27. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  28. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  29. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  30. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  31. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  32. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  33. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  34. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  35. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  36. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  37. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  38. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  39. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  40. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  41. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  42. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  43. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  44. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  45. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  46. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  47. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  48. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  49. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  50. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  51. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  52. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  53. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  54. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  55. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  56. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  57. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  58. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  59. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  60. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  61. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  62. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  63. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  64. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  65. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  66. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  67. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  68. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  69. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  70. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  71. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  72. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  73. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  74. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  75. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  76. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  77. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  78. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  79. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  80. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  81. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  82. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  83. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  84. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  85. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  86. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  87. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  88. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  89. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312
            PHP  90. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369
            PHP  91. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437
            PHP  92. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189
            PHP  93. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276
            PHP  94. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811
            PHP  95. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488
            PHP  96. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727
            PHP  97. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797
            PHP  98. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532
            PHP  99. cache_config::config_file_exists() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:288
            

            Show
            David Monllaó added a comment - Same problem using admin/tool/behat/cli/util.php, but no segmentation fault davidm@davidm-desktop:/var/www/INTEGRATION/master$ php admin/tool/behat/cli/util.php --enable PHP Fatal error: Maximum function nesting level of '100' reached, aborting! in /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/config.php on line 104 PHP Stack trace: PHP 1. {main}() /home/davidm/Desktop/moodlecode/INTEGRATION/master/admin/tool/behat/cli/util.php:0 PHP 2. require() /home/davidm/Desktop/moodlecode/INTEGRATION/master/admin/tool/behat/cli/util.php:151 PHP 3. initialise_cfg() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/setup.php:550 PHP 4. get_config() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/setuplib.php:725 PHP 5. cache::make() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:1414 PHP 6. cache_factory->create_cache_from_definition() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:169 PHP 7. cache_factory->create_definition() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:175 PHP 8. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:357 PHP 9. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 10. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 11. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 12. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 13. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 14. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 15. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 16. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 17. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 18. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 19. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 20. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 21. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 22. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 23. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 24. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 25. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 26. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 27. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 28. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 29. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 30. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 31. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 32. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 33. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 34. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 35. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 36. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 37. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 38. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 39. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 40. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 41. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 42. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 43. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 44. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 45. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 46. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 47. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 48. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 49. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 50. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 51. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 52. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 53. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 54. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 55. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 56. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 57. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 58. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 59. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 60. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 61. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 62. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 63. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 64. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 65. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 66. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 67. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 68. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 69. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 70. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 71. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 72. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 73. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 74. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 75. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 76. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 77. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 78. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 79. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 80. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 81. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 82. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 83. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 84. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 85. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 86. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 87. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 88. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 89. cache_config_writer::create_default_configuration() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:312 PHP 90. cache_config_writer::locate_definitions() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:369 PHP 91. get_plugin_types() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/locallib.php:437 PHP 92. cache->get() /home/davidm/Desktop/moodlecode/INTEGRATION/master/lib/moodlelib.php:8189 PHP 93. cache->parse_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:276 PHP 94. cache_helper::hash_key() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/loaders.php:811 PHP 95. cache_definition->generate_single_key_prefix() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:488 PHP 96. cache_definition->get_cache_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:727 PHP 97. cache_helper::get_site_identifier() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/definition.php:797 PHP 98. cache_factory->create_config_instance() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/helper.php:532 PHP 99. cache_config::config_file_exists() /home/davidm/Desktop/moodlecode/INTEGRATION/master/cache/classes/factory.php:288
            Hide
            Aparup Banerjee added a comment -

            hm, it seems this is due to an xdebug (or some extensions) setting and not PHP? http://stackoverflow.com/questions/4293775/increasing-nesting-functions-calls-limit

            Show
            Aparup Banerjee added a comment - hm, it seems this is due to an xdebug (or some extensions) setting and not PHP? http://stackoverflow.com/questions/4293775/increasing-nesting-functions-calls-limit
            Hide
            Dan Poltawski added a comment -

            I expect that xdebug just stops it before infinitely looping to nothing. I got a segfault.

            Show
            Dan Poltawski added a comment - I expect that xdebug just stops it before infinitely looping to nothing. I got a segfault.
            Hide
            CiBoT added a comment -

            Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.

            Show
            CiBoT added a comment - Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.
            Hide
            David Mudrak added a comment -

            I remember myself having this error as well. And that is why MDL-37545 was reported and fixed. It seems like a loop problem inside MUC that is trying to use a cache that is not initialised yet. Sam H. might want to look at this eventually.

            Show
            David Mudrak added a comment - I remember myself having this error as well. And that is why MDL-37545 was reported and fixed. It seems like a loop problem inside MUC that is trying to use a cache that is not initialised yet. Sam H. might want to look at this eventually.
            Hide
            Sam Hemelryk added a comment -

            Linking to MDL-38387 as a blocker for this issue. It will fix the bug causing the infinite initialisation loop.

            The lesson learnt (by me) is that the cache API must not use caches internally.

            Show
            Sam Hemelryk added a comment - Linking to MDL-38387 as a blocker for this issue. It will fix the bug causing the infinite initialisation loop. The lesson learnt (by me) is that the cache API must not use caches internally.
            Hide
            David Mudrak added a comment -

            Well I must admit I was not able to reproduce failures reported by Dan and David Mo above. So I'm not a good person to test Sam's solution against this...

            I just rebased the branch for this issue and dealt with conflicts, not other addition. For me, upgrading from master works well - even without applying Sam's patch from MDL-38387 (maybe I did not try hard enough to reproduce the problem).

            I'm re-submitting this for integration now.

            Show
            David Mudrak added a comment - Well I must admit I was not able to reproduce failures reported by Dan and David Mo above. So I'm not a good person to test Sam's solution against this... I just rebased the branch for this issue and dealt with conflicts, not other addition. For me, upgrading from master works well - even without applying Sam's patch from MDL-38387 (maybe I did not try hard enough to reproduce the problem). I'm re-submitting this for integration now.
            Hide
            Aparup Banerjee added a comment -

            just checking in from MDL-38387, "I'm re-submitting this for integration now." but status = reopened , what am i missing?

            Show
            Aparup Banerjee added a comment - just checking in from MDL-38387 , "I'm re-submitting this for integration now." but status = reopened , what am i missing?
            Hide
            David Mudrak added a comment -

            Ooops! I'm sorry, I forgot to press the button. Thanks a lot Apu for catching this.

            Show
            David Mudrak added a comment - Ooops! I'm sorry, I forgot to press the button. Thanks a lot Apu for catching this.
            Hide
            Eloy Lafuente (stronk7) added a comment -

            The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

            TIA and ciao

            Show
            Eloy Lafuente (stronk7) added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. TIA and ciao
            Hide
            Eloy Lafuente (stronk7) added a comment -

            This has MDL-38387 defined as blocker... is that correct? Sam, David, seems you have different opinions?

            Show
            Eloy Lafuente (stronk7) added a comment - This has MDL-38387 defined as blocker... is that correct? Sam, David, seems you have different opinions?
            Hide
            Damyon Wiese added a comment -

            Thanks David,

            The blocker issue is now integrated so I have integrated this one for master.

            Show
            Damyon Wiese added a comment - Thanks David, The blocker issue is now integrated so I have integrated this one for master.
            Hide
            Damyon Wiese added a comment -

            (It will be good to get this one tested for as long as possible before the 25 release)

            Show
            Damyon Wiese added a comment - (It will be good to get this one tested for as long as possible before the 25 release)
            Hide
            Eloy Lafuente (stronk7) added a comment -

            so... passing as "nobody" tested it?

            Show
            Eloy Lafuente (stronk7) added a comment - so... passing as "nobody" tested it?
            Hide
            Dan Poltawski added a comment -

            Sorry, I was assigned as tester on this from initially integration, because I was teing whilst integrating, had no idea I was assigned it..

            Show
            Dan Poltawski added a comment - Sorry, I was assigned as tester on this from initially integration, because I was teing whilst integrating, had no idea I was assigned it..
            Hide
            Dan Poltawski added a comment -

            Really sorry about the delay, David should've shouted at me earlier, I was completely oblivious!

            Show
            Dan Poltawski added a comment - Really sorry about the delay, David should've shouted at me earlier, I was completely oblivious!
            Hide
            Dan Poltawski added a comment -

            Passing, looks good. Notes:

            1. Lots of misses on admin on frontpage, but as noted by david - that is to be expected
            2. On the upgrade from 24 -> 25 we get the missing cache definitions debug error. It would be nice to avoid that, but its not so important.

              Cache definitions reparsed causing cache reset in order to locate definition. You should bump the version number to ensure definitions are reprocessed.
              	•	line 411 of /cache/classes/factory.php: call to debugging()
              	•	line 181 of /cache/classes/factory.php: call to cache_factory->create_definition()
              	•	line 169 of /cache/classes/loaders.php: call to cache_factory->create_cache_from_definition()
              	•	line 1358 of /lib/outputrequirementslib.php: call to cache::make()
              	•	line 234 of /lib/outputrequirementslib.php: call to YUI_config->add_moodle_metadata()
              	•	line 600 of /lib/pagelib.php: call to page_requirements_manager->__construct()
              	•	line 717 of /lib/pagelib.php: call to moodle_page->magic_get_requires()
              	•	line 365 of /lib/outputrenderers.php: call to moodle_page->__get()
              	•	line 51 of /theme/base/layout/general.php: call to core_renderer->standard_head_html()
              	•	line 835 of /lib/outputrenderers.php: call to include()
              	•	line 765 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
              	•	line ? of unknownfile: call to core_renderer->header()
              	•	line 234 of /lib/outputrenderers.php: call to call_user_func_array()
              	•	line 146 of /admin/renderer.php: call to plugin_renderer_base->__call()
              	•	line 146 of /admin/renderer.php: call to core_admin_renderer->header()
              	•	line 220 of /admin/index.php: call to core_admin_renderer->upgrade_confirm_page()
              

            Show
            Dan Poltawski added a comment - Passing, looks good. Notes: Lots of misses on admin on frontpage, but as noted by david - that is to be expected On the upgrade from 24 -> 25 we get the missing cache definitions debug error. It would be nice to avoid that, but its not so important. Cache definitions reparsed causing cache reset in order to locate definition. You should bump the version number to ensure definitions are reprocessed. • line 411 of /cache/classes/factory.php: call to debugging() • line 181 of /cache/classes/factory.php: call to cache_factory->create_definition() • line 169 of /cache/classes/loaders.php: call to cache_factory->create_cache_from_definition() • line 1358 of /lib/outputrequirementslib.php: call to cache::make() • line 234 of /lib/outputrequirementslib.php: call to YUI_config->add_moodle_metadata() • line 600 of /lib/pagelib.php: call to page_requirements_manager->__construct() • line 717 of /lib/pagelib.php: call to moodle_page->magic_get_requires() • line 365 of /lib/outputrenderers.php: call to moodle_page->__get() • line 51 of /theme/base/layout/general.php: call to core_renderer->standard_head_html() • line 835 of /lib/outputrenderers.php: call to include() • line 765 of /lib/outputrenderers.php: call to core_renderer->render_page_layout() • line ? of unknownfile: call to core_renderer->header() • line 234 of /lib/outputrenderers.php: call to call_user_func_array() • line 146 of /admin/renderer.php: call to plugin_renderer_base->__call() • line 146 of /admin/renderer.php: call to core_admin_renderer->header() • line 220 of /admin/index.php: call to core_admin_renderer->upgrade_confirm_page()
            Hide
            Martin Dougiamas added a comment -

            yay!

            Show
            Martin Dougiamas added a comment - yay!
            Hide
            Damyon Wiese added a comment -

            This issue has been integrated upstream and is now available via git (and in some hours, via mirrors and downloads).

            Thanks for your contributions!

            Show
            Damyon Wiese added a comment - This issue has been integrated upstream and is now available via git (and in some hours, via mirrors and downloads). Thanks for your contributions!

              People

              • Votes:
                1 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: