Vaadin Terminal used in there tries to grab a SimpleTranslator, which is backed by TranslationService, which in turn requires the I18nModule via provider.
IMO problem is not the TranslationService is being instantiated properly or not. The problem appears to be the ModulesStartedEvent is not thrown and thus TranslationServiceImpl#messageBundles is null and therefore we have the NPE.
Had the ModulesStartedEvent fired in the rescue app solves the situation thus proves the observations above (With reverting I18nModule#isDebug in TranslationServiceImpl ). TranslationServiceImpl#messageBundles used to be populated upon each request and rightfully changed with
MAGNOLIA-6556 in a way that ModulesStartedEvent is consumed in the TranslationServiceImpl's constructor and leads to population of the TranslationServiceImpl#messageBundles.
1) Having TranslationServiceImpl#messageBundles populated explicitly in the rescue app via TranslationService#reloadMessageBundles()
2) Occurrences of i18nModuleProvider.get().isDebug() replaced with a method which returns false if i18nModuleProvider returns null or throws ProvisionException.
- Use a repository that is working with version 5.3 of magnolia.
- Stop Mgnl and start a mgnl with version 5.4.7 on the 5.3 Mgnl repository
- When the server is up and running no groovy rescue servlet appears