magento2-developer-quickdevbar icon indicating copy to clipboard operation
magento2-developer-quickdevbar copied to clipboard

"No files for wrapper" error

Open blacktek opened this issue 1 year ago • 6 comments

Hello, in our development environment we're experiencing some random "No files for wrapper" for the ajax requests https:///quickdevbar/index/ajax?_=1734367183135 (return a 202 HTTP return code)

After some debug, we've noticed that the problem starts with the execute method in vendor/vpietri/adm-quickdevbar/Controller/Index/Ajax.php

try { $this->qdbHelperRegister->loadDataFromFile();

        $this->_view->loadLayout('quickdevbar');
        $output = $this->_view->getLayout()->getBlock('quick.dev.maintabs')
            //->setNeedHtmlContent(true)
            ->toHtml();
    } catch (\Exception $e) {
        $output = $e->getMessage();
        $resultRaw->setStatusHeader(
            \Laminas\Http\Response::STATUS_CODE_202,
            \Laminas\Http\AbstractMessage::VERSION_11,
            'QDB Error'
        );
    }

if we use $this->qdbHelperRegister->loadDataFromFile(true); it works; the function is defined like this: public function loadDataFromFile($ajax = false) { $wrapperContent = $this->qdbHelper->getWrapperContent($ajax); $this->setRegisteredData($wrapperContent); $this->pullDataFromService = false; }

the stack trace for the error is

No files for wrapper---#0 /var/www/html/vendor/vpietri/adm-quickdevbar/Helper/Register.php(70): ADM\QuickDevBar\Helper\Data->getWrapperContent(false) #1 /var/www/html/vendor/vpietri/adm-quickdevbar/Controller/Index/Ajax.php(34): ADM\QuickDevBar\Helper\Register->loadDataFromFile() #2 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(58): ADM\QuickDevBar\Controller\Index\Ajax->execute() #3 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(138): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->___callParent('execute', Array) #4 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(153): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->Magento\Framework\Interception{closure}() #5 /var/www/html/generated/code/ADM/QuickDevBar/Controller/Index/Ajax/Interceptor.php(23): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->___callPlugins('execute', Array, Array) #6 /var/www/html/vendor/magento/framework/App/Action/Action.php(111): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->execute() #7 /var/www/html/vendor/vpietri/adm-quickdevbar/Controller/Index.php(54): Magento\Framework\App\Action\Action->dispatch(Object(Magento\Framework\App\Request\Http)) #8 /var/www/html/vendor/vpietri/adm-quickdevbar/Controller/Index/Ajax.php(66): ADM\QuickDevBar\Controller\Index->dispatch(Object(Magento\Framework\App\Request\Http)) #9 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(58): ADM\QuickDevBar\Controller\Index\Ajax->dispatch(Object(Magento\Framework\App\Request\Http)) #10 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(138): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->___callParent('dispatch', Array) #11 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(153): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http)) #12 /var/www/html/generated/code/ADM/QuickDevBar/Controller/Index/Ajax/Interceptor.php(32): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->___callPlugins('dispatch', Array, Array) #13 /var/www/html/vendor/magento/framework/App/FrontController.php(245): ADM\QuickDevBar\Controller\Index\Ajax\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http)) #14 /var/www/html/vendor/magento/framework/App/FrontController.php(212): Magento\Framework\App\FrontController->getActionResponse(Object(ADM\QuickDevBar\Controller\Index\Ajax\Interceptor), Object(Magento\Framework\App\Request\Http)) #15 /var/www/html/vendor/magento/framework/App/FrontController.php(147): Magento\Framework\App\FrontController->processRequest(Object(Magento\Framework\App\Request\Http), Object(ADM\QuickDevBar\Controller\Index\Ajax\Interceptor)) #16 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\FrontController->dispatch(Object(Magento\Framework\App\Request\Http)) #17 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\FrontController\Interceptor->___callParent('dispatch', Array) #18 /var/www/html/vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php(99): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http)) #19 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(135): Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http)) #20 /var/www/html/vendor/amasty/module-push-notifications/Plugin/Action.php(84): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http)) #21 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(135): Amasty\PushNotifications\Plugin\Action->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http)) #22 /var/www/html/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(75): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http)) #23 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(135): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http)) #24 /var/www/html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception{closure}(Object(Magento\Framework\App\Request\Http)) #25 /var/www/html/generated/code/Magento/Framework/App/FrontController/Interceptor.php(23): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, NULL) #26 /var/www/html/vendor/magento/framework/App/Http.php(116): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http)) #27 /var/www/html/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http->launch() #28 /var/www/html/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch() #29 /var/www/html/pub/index.php(144): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor)) #30 {main}

blacktek avatar Dec 16 '24 16:12 blacktek

@vpietri this error seems related to frontend FPC (redis FPC too). If we add a random string to the page URL it disappears

blacktek avatar Dec 18 '24 08:12 blacktek

any idea how to sovle this issue?

martingg88 avatar Jul 21 '25 04:07 martingg88

Hello @martingg88 @blacktek ,

Do you reproduce this issue on the home page? After several refresh you still have the same error?

By my side, I can reproduce this error only when I restore a browser session :-(

vpietri avatar Jul 23 '25 11:07 vpietri

Hi @vpietri we decided to change toolbar, unfortunately we can't help anymore. I can't remember now where it was happening, sorry :(

blacktek avatar Jul 23 '25 12:07 blacktek

Hi @vpietri we decided to change toolbar, unfortunately we can't help anymore. I can't remember now where it was happening, sorry :(

do u find any good toolbar so far?

martingg88 avatar Jul 23 '25 16:07 martingg88

we're now using https://github.com/Smile-SA/magento2-module-debug-toolbar

blacktek avatar Jul 24 '25 06:07 blacktek