Comments (8)
@cweiske Never had this issue and i am using this extension since a long time already. Are you using a special cache configuration?
from typo3_encore.
@cweiske Could you check if master is fixing the problem for you. I have removed the cache configuration option. It is not really useful in the end.
from typo3_encore.
@cweiske Please have a look at version 5.0.0. The issue must be fixed there. I must have something to do with the cache.
from typo3_encore.
I use Redis for caching, and have the following option for that in LocalConfiguration.php
:
'SYS' => [
'caching' => [
'cacheConfigurations' => [
'typo3_encore' => [
'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\RedisBackend',
'frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend',
'options' => [
'hostname' => 'redis',
],
],
],
],
Removing that configuration does not change the problem I reported.
You removed the cache with commit 23f4460 (#172).
After upgrading the extension here to 5.0.0, the problem still exists - the stracktrace is the same, except for some changed line numbers.
from typo3_encore.
Could you please try to investigate why this happens. Would be really nice.
from typo3_encore.
I have to leave for now, but currently I see that in Classes/Integration/EntryLookupFactory.php::getCollection()
, $entrypointsPathDefaultBuild = $this->settingsService->getStringByPath('entrypointJsonPath');
returns null
when the cache is empty.
After the first run, $entrypointsPathDefaultBuild
has a value and the collection gets its _default
build.
I plan to investigate further next week.
from typo3_encore.
When looking at the full stack trace, we see why this is happening.
The relevant lines:
#31 TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->getConfigArray() called at [public/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php:71]
#21 FluidTYPO3\Flux\Integration\ContentTypeBuilder->registerContentType() called at [public/typo3conf/ext/flux/Classes/Integration/HookSubscribers/TableConfigurationPostProcessor.php:123]
#10 TYPO3\CMS\Fluid\Core\ViewHelper\ViewHelperResolver->createViewHelperInstanceFromClassName() called at [vendor/typo3fluid/fluid/src/Core/ViewHelper/ViewHelperResolver.php:274]
#0 Ssch\Typo3Encore\Integration\EntryLookupFactory->getCollection() called at [public/typo3conf/ext/typo3_encore/Classes/Asset/EntrypointLookupCollection.php:27]
When the cache is empty, every cache must be recreated.
When TypoScript templates are parsed, TYPO3 includes the flux typoscript that automatically registers content elements.
To do this, it instructs fluid to render the Configuration section of the template file, but fluid parses and instantiates all the elements in the content element template file. One of the tags in the flux content element is an <encore:renderWebpackScriptTags>
tag (albeit in a different section!), and instantiating that triggers typo3_encore which tries to fetch the TypoScript - this fails, because the TypoScript is just being parsed.
Inside typo3_encore
:
RenderWebpackScriptTagsViewHelper
wants aTagRenderer
in its constructorTagRenderer
wants aEntrypointLookupCollectionInterface
EntrypointLookupCollection
calls$entryLookupFactory->getCollection()
.
The full stack trace:
#0 Ssch\Typo3Encore\Integration\EntryLookupFactory->getCollection() called at [public/typo3conf/ext/typo3_encore/Classes/Asset/EntrypointLookupCollection.php:27]
#1 Ssch\Typo3Encore\Asset\EntrypointLookupCollection->__construct() called at [public/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3512]
#2 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstanceForDi() called at [var/cache/code/di/DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3.php:3672]
#3 DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3->getEntrypointLookupCollectionService() called at [var/cache/code/di/DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3.php:3692]
#4 DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3->getTagRendererService() called at [var/cache/code/di/DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3.php:3941]
#5 DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3->{closure}() called at [var/cache/code/di/DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3.php:3944]
#6 DependencyInjectionContainer_90755401085f8ec84c196431e1f7d99576cbf1b3->getRenderWebpackScriptTagsViewHelperService() called at [vendor/symfony/dependency-injection/Container.php:239]
#7 Symfony\Component\DependencyInjection\Container->make() called at [vendor/symfony/dependency-injection/Container.php:219]
#8 Symfony\Component\DependencyInjection\Container->get() called at [public/typo3/sysext/extbase/Classes/Object/ObjectManager.php:109]
#9 TYPO3\CMS\Extbase\Object\ObjectManager->get() called at [public/typo3/sysext/fluid/Classes/Core/ViewHelper/ViewHelperResolver.php:77]
#10 TYPO3\CMS\Fluid\Core\ViewHelper\ViewHelperResolver->createViewHelperInstanceFromClassName() called at [vendor/typo3fluid/fluid/src/Core/ViewHelper/ViewHelperResolver.php:274]
#11 TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperResolver->createViewHelperInstance() called at [vendor/typo3fluid/fluid/src/Core/Parser/TemplateParser.php:344]
#12 TYPO3Fluid\Fluid\Core\Parser\TemplateParser->openingViewHelperTagHandler() called at [vendor/typo3fluid/fluid/src/Core/Parser/TemplateParser.php:283]
#13 TYPO3Fluid\Fluid\Core\Parser\TemplateParser->buildObjectTree() called at [vendor/typo3fluid/fluid/src/Core/Parser/TemplateParser.php:143]
#14 TYPO3Fluid\Fluid\Core\Parser\TemplateParser->parse() called at [vendor/typo3fluid/fluid/src/Core/Parser/TemplateParser.php:211]
#15 TYPO3Fluid\Fluid\Core\Parser\TemplateParser->parseTemplateSource() called at [vendor/typo3fluid/fluid/src/Core/Parser/TemplateParser.php:191]
#16 TYPO3Fluid\Fluid\Core\Parser\TemplateParser->getOrParseAndStoreTemplate() called at [vendor/typo3fluid/fluid/src/View/AbstractTemplateView.php:387]
#17 TYPO3Fluid\Fluid\View\AbstractTemplateView->getCurrentParsedTemplate() called at [vendor/typo3fluid/fluid/src/View/AbstractTemplateView.php:230]
#18 TYPO3Fluid\Fluid\View\AbstractTemplateView->renderSection() called at [public/typo3conf/ext/flux/Classes/Provider/AbstractProvider.php:389]
#19 FluidTYPO3\Flux\Provider\AbstractProvider->extractConfiguration() called at [public/typo3conf/ext/flux/Classes/Provider/AbstractProvider.php:285]
#20 FluidTYPO3\Flux\Provider\AbstractProvider->getForm() called at [public/typo3conf/ext/flux/Classes/Integration/ContentTypeBuilder.php:174]
#21 FluidTYPO3\Flux\Integration\ContentTypeBuilder->registerContentType() called at [public/typo3conf/ext/flux/Classes/Integration/HookSubscribers/TableConfigurationPostProcessor.php:123]
#22 FluidTYPO3\Flux\Integration\HookSubscribers\TableConfigurationPostProcessor->spoolQueuedContentTypeRegistrations() called at [public/typo3conf/ext/flux/Classes/Integration/HookSubscribers/TableConfigurationPostProcessor.php:65]
#23 FluidTYPO3\Flux\Integration\HookSubscribers\TableConfigurationPostProcessor->processData() called at [public/typo3conf/ext/flux/Classes/Integration/HookSubscribers/TableConfigurationPostProcessor.php:41]
#24 FluidTYPO3\Flux\Integration\HookSubscribers\TableConfigurationPostProcessor->includeStaticTypoScriptHook()
#25 call_user_func_array() called at [public/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3381]
#26 TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction() called at [public/typo3/sysext/core/Classes/TypoScript/TemplateService.php:788]
#27 TYPO3\CMS\Core\TypoScript\TemplateService->includeStaticTypoScriptSources() called at [public/typo3/sysext/core/Classes/TypoScript/TemplateService.php:662]
#28 TYPO3\CMS\Core\TypoScript\TemplateService->processTemplate() called at [public/typo3/sysext/core/Classes/TypoScript/TemplateService.php:589]
#29 TYPO3\CMS\Core\TypoScript\TemplateService->runThroughTemplates() called at [public/typo3/sysext/core/Classes/TypoScript/TemplateService.php:437]
#30 TYPO3\CMS\Core\TypoScript\TemplateService->start() called at [public/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php:2103]
#31 TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->getConfigArray() called at [public/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php:71]
#32 TYPO3\CMS\Frontend\Middleware\PrepareTypoScriptFrontendRendering->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#33 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/TypoScriptFrontendInitialization.php:108]
#34 TYPO3\CMS\Frontend\Middleware\TypoScriptFrontendInitialization->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#35 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/PreviewSimulator.php:66]
#36 TYPO3\CMS\Frontend\Middleware\PreviewSimulator->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#37 class@anonymous->handle() called at [public/typo3/sysext/workspaces/Classes/Middleware/WorkspacePreviewPermissions.php:47]
#38 TYPO3\CMS\Workspaces\Middleware\WorkspacePreviewPermissions->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#39 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/PageArgumentValidator.php:131]
#40 TYPO3\CMS\Frontend\Middleware\PageArgumentValidator->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#41 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/PageResolver.php:106]
#42 TYPO3\CMS\Frontend\Middleware\PageResolver->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#43 class@anonymous->handle() called at [public/typo3/sysext/workspaces/Classes/Middleware/WorkspacePreview.php:127]
#44 TYPO3\CMS\Workspaces\Middleware\WorkspacePreview->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#45 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/StaticRouteResolver.php:80]
#46 TYPO3\CMS\Frontend\Middleware\StaticRouteResolver->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#47 class@anonymous->handle() called at [public/typo3conf/ext/crawler/Classes/Middleware/FrontendUserAuthenticator.php:74]
#48 AOE\Crawler\Middleware\FrontendUserAuthenticator->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#49 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/SiteBaseRedirectResolver.php:94]
#50 TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#51 class@anonymous->handle() called at [public/typo3/sysext/redirects/Classes/Http/Middleware/RedirectHandler.php:92]
#52 TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#53 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/FrontendUserAuthenticator.php:77]
#54 TYPO3\CMS\Frontend\Middleware\FrontendUserAuthenticator->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#55 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php:66]
#56 TYPO3\CMS\Frontend\Middleware\BackendUserAuthenticator->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#57 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/MaintenanceMode.php:55]
#58 TYPO3\CMS\Frontend\Middleware\MaintenanceMode->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#59 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/SiteResolver.php:65]
#60 TYPO3\CMS\Frontend\Middleware\SiteResolver->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#61 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/EidHandler.php:64]
#62 TYPO3\CMS\Frontend\Middleware\EidHandler->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#63 class@anonymous->handle() called at [public/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php:45]
#64 TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#65 class@anonymous->handle() called at [public/typo3/sysext/frontend/Classes/Middleware/TimeTrackerInitialization.php:58]
#66 TYPO3\CMS\Frontend\Middleware\TimeTrackerInitialization->process() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:172]
#67 class@anonymous->handle() called at [public/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:78]
#68 TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle() called at [public/typo3/sysext/core/Classes/Http/AbstractApplication.php:85]
#69 TYPO3\CMS\Core\Http\AbstractApplication->handle() called at [public/typo3/sysext/frontend/Classes/Http/Application.php:69]
#70 TYPO3\CMS\Frontend\Http\Application->handle() called at [public/typo3/sysext/core/Classes/Http/AbstractApplication.php:97]
#71 TYPO3\CMS\Core\Http\AbstractApplication->run() called at [public/index.php:25]
#72 {closure}() called at [public/index.php:26]
from typo3_encore.
To fix this, two places need to be modified:
EntrypointLookupCollection
may not callentryLookupFactory->getCollection()
in the constructorAssetRegistry
may not useSettingsService
in the constructor
Both fetch the still empty settings from the configuration manager.
The question is if you want to go make that effort to support the combination of flux and typo3_encore.
from typo3_encore.
Related Issues (20)
- Mixing USER and USER_INT include assets twice. HOT 3
- SvgViewhelper assumes that the SvgSpriteMap is always available locally as a file. HOT 5
- Add RTE configuration example in README HOT 1
- addAdditionalAbsRefPrefixDirectories don't add "root" directory HOT 2
- Relative link with absRefPrefix where an absolute link would be needed HOT 1
- CSS for CKEditor with cms-composer-installers 4+ not working HOT 4
- HTTP2/Preloading not working with typo3/composer-cms-installers version 4+ HOT 11
- Make ViewHelper Tests functional ones HOT 1
- Add cache buster parameter for the SVG Viewhelper HOT 7
- The build "_default" is not configured with RTE HOT 1
- Error with Asset Viewhelper linking assets from extension with version 5.0.2
- TYPO3 12 only allow one contentsCss for RTE HOT 4
- [IDEA] Streamline Stimulus ViewHelpers with symfony/webpack-encore-bundle implementations HOT 4
- Not working with RTE in a flexform
- Fix pathes for sites running on "subdirectory" HOT 1
- Watcher & TYPO3 with CSP don't work well together
- Old assets after cache:flush HOT 1
- Missing / with USER_INT on page
- [FEATURE] Add option to add outlets in Stimulus\ControllerViewHelper HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typo3_encore.