У Magento 2 виникають ситуації, коли сторінка довго завантажєуться, і тоді ви отримуєте 500 фатальну помилку, обмеження пам’яті або помилку очікування (timeout error). Це  називається нескінченним циклом (infinite loop) в PHP-коді, коли той самий код виконується знову і знову. Це пов’язано з основними проблемами Magento або, швидше за все, третьостороннім розширенням .

Щоб виправити нескінченний цикл (infinite loop) і знайти вхід у цикл, виконайте наведені нижче дії:

1. Відкрийте файл app/bootstrap.php та додайте наступний код у наступному після відкриваючого PHP тегу <?php рядку: 

$_SERVER['MAGE_PROFILER'] = 'html';

2. Відкрийте файл vendor/magento/framework/Profiler.php та додайте наступний код на початок функції "public static function start($timerName, array $tags = null)" , напр.

private static $firsttime = null;
public static function start($timerName, array $tags = null)
{

    if (!self::$firsttime) {
        self::$firsttime = time();
    }

    if (time() - self::$firsttime > 10) { //10 - is seconds to wait
        \Magento\Framework\Debug::backtrace(false, true, false); // Magento 2 Debug Backtrace
        exit();
    }

3. Відкрийте сторінку з проблемою нескінченного циклу.

4. Перевірте інформацію бектрейсу, щоб отримати уявлення про те, який код створює цикл. Зверніть увагу на кастомне розширення, ви повинні побачити його методи знову і знову в бектрейсі.

5. Після цього не забудьте скасувати зміни в bootstrap.php та Profiler.php