No Code Attached Yet bug
avatar Shachar
Shachar
31 Oct 2026

What happened?

Reproduce:

  1. Set up a new web site.
  2. Extract the Joomla 6.2 installation files into the web root, with permissions set so they are all read-only
  3. Connect to the web site to start the installation.

Error log:

#19703 /srv/www/lingnu.com/libraries/src/Language/Language.php(211): Joomla\CMS\Language\Language->load()
#19704 /srv/www/lingnu.com/libraries/src/Language/LanguageFactory.php(35): Joomla\CMS\Language\Language->__construct()
#19705 /srv/www/lingnu.com/libraries/src/Language/CachingLanguageFactory.php(45): Joomla\CMS\Language\LanguageFactory->createLanguage()
#19706 /srv/www/lingnu.com/libraries/src/Factory.php(745): Joomla\CMS\Language\CachingLanguageFactory->createLanguage()
#19707 /srv/www/lingnu.com/libraries/src/Factory.php(305): Joomla\CMS\Factory::createLanguage()
#19708 /srv/www/lingnu.com/libraries/src/Language/Text.php(257): Joomla\CMS\Factory::getLanguage()
#19709 /srv/www/lingnu.com/libraries/src/Language/LanguageHelper.php(522): Joomla\CMS\Language\Text::sprintf()
#19710 /srv/www/lingnu.com/libraries/src/Language/Language.php(815): Joomla\CMS\Language\LanguageHelper::parseIniFile()
#19711 /srv/www/lingnu.com/libraries/src/Language/Language.php(786): Joomla\CMS\Language\Language->parse()
#19712 /srv/www/lingnu.com/libraries/src/Language/Language.php(677): Joomla\CMS\Language\Language->loadLanguage()
#19713 /srv/www/lingnu.com/libraries/src/Language/Language.php(646): Joomla\CMS\Language\Language->load()
#19714 /srv/www/lingnu.com/libraries/src/Language/Language.php(211): Joomla\CMS\Language\Language->load()
#19715 /srv/www/lingnu.com/libraries/src/Language/LanguageFactory.php(35): Joomla\CMS\Language\Language->__construct()
#19716 /srv/www/lingnu.com/libraries/src/Language/CachingLanguageFactory.php(45): Joomla\CMS\Language\LanguageFactory->createLanguage()
#19717 /srv/www/lingnu.com/libraries/src/Factory.php(745): Joomla\CMS\Language\CachingLanguageFactory->createLanguage()
#19718 /srv/www/lingnu.com/libraries/src/Factory.php(305): Joomla\CMS\Factory::createLanguage()
#19719 /srv/www/lingnu.com/libraries/src/Language/Text.php(257): Joomla\CMS\Factory::getLanguage()
#19720 /srv/www/lingnu.com/libraries/src/Language/LanguageHelper.php(522): Joomla\CMS\Language\Text::sprintf()
#19721 /srv/www/lingnu.com/libraries/src/Language/Language.php(815): Joomla\CMS\Language\LanguageHelper::parseIniFile()
#19722 /srv/www/lingnu.com/libraries/src/Language/Language.php(786): Joomla\CMS\Language\Language->parse()
#19723 /srv/www/lingnu.com/libraries/src/Language/Language.php(677): Joomla\CMS\Language\Language->loadLanguage()
#19724 /srv/www/lingnu.com/libraries/src/Language/Language.php(646): Joomla\CMS\Language\Language->load()
#19725 /srv/www/lingnu.com/libraries/src/Language/Language.php(211): Joomla\CMS\Language\Language->load()
#19726 /srv/www/lingnu.com/libraries/src/Language/LanguageFactory.php(35): Joomla\CMS\Language\Language->__construct()
#19727 /srv/www/lingnu.com/libraries/src/Language/CachingLanguageFactory.php(45): Joomla\CMS\Language\LanguageFactory->createLanguage()
#19728 /srv/www/lingnu.com/libraries/src/Factory.php(745): Joomla\CMS\Language\CachingLanguageFactory->createLanguage()
#19729 /srv/www/lingnu.com/libraries/src/Factory.php(305): Joomla\CMS\Factory::createLanguage()
#19730 /srv/www/lingnu.com/libraries/src/Language/Text.php(257): Joomla\CMS\Factory::getLanguage()
#19731 /srv/www/lingnu.com/libraries/src/Language/LanguageHelper.php(522): Joomla\CMS\Language\Text::sprintf()
#19732 /srv/www/lingnu.com/libraries/src/Language/Language.php(815): Joomla\CMS\Language\LanguageHelper::parseIniFile()
#19733 /srv/www/lingnu.com/libraries/src/Language/Language.php(786): Joomla\CMS\Language\Language->parse()
#19734 /srv/www/lingnu.com/libraries/src/Language/Language.php(677): Joomla\CMS\Language\Language->loadLanguage()
#19735 /srv/www/lingnu.com/libraries/src/Language/Language.php(646): Joomla\CMS\Language\Language->load()
#19736 /srv/www/lingnu.com/libraries/src/Language/Language.php(211): Joomla\CMS\Language\Language->load()
#19737 /srv/www/lingnu.com/libraries/src/Language/LanguageFactory.php(35): Joomla\CMS\Language\Language->__construct()
#19738 /srv/www/lingnu.com/libraries/src/Language/CachingLanguageFactory.php(45): Joomla\CMS\Language\LanguageFactory->createLanguage()
#19739 /srv/www/lingnu.com/installation/src/Application/InstallationApplication.php(429): Joomla\CMS\Language\CachingLanguageFactory->createLanguage()
#19740 /srv/www/lingnu.com/installation/src/Application/InstallationApplication.php(220): Joomla\CMS\Installation\Application\InstallationApplication->initialiseApp()
#19741 /srv/www/lingnu.com/installation/src/Application/InstallationApplication.php(237): Joomla\CMS\Installation\Application\InstallationApplication->doExecute()
#19742 /srv/www/lingnu.com/installation/includes/app.php(68): Joomla\CMS\Installation\Application\InstallationApplication->execute()
#19743 /srv/www/lingnu.com/installation/index.php(32): require_once('...')
#19744 {main}

Version

6.2

Expected result

Error message saying Joomla can't start the installer because it doesn't have permission to create directories.

Actual result

Everything hangs for 30 seconds, and then the red "error 500" screen with no more details.

System Information

Ubuntu 26.04, php-fpm 8.5, nginx.

Additional Comments

It's not about the fact that the installer doesn't succeed. It's about the lack of proper error message.

avatar Shachar Shachar - open - 31 Oct 2026
avatar Shachar Shachar - change - 31 Oct 2026
Labels Added: bug
avatar Shachar Shachar - labeled - 31 Oct 2026
avatar joomla-cms-bot joomla-cms-bot - change - 31 Oct 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 31 Oct 2026
avatar Shachar Shachar - change - 31 Oct 2026
The description was changed
avatar Shachar Shachar - edited - 31 Oct 2026
avatar brianteeman
brianteeman - comment - 1 Nov 2026

Looking at the stack trace it appears that it might be trying to output an error message but it is stuck in a recursive loop

avatar brianteeman
brianteeman - comment - 1 Nov 2026

The problem is that Joomla is unable to create the cache folder due to the permissions - the caching of language files was introduced with #45289

The fundamental problem is that Text::sprintf() assumes a functioning language object exists. During initial language initialisation, that assumption isn't necessarily true.

       } catch (FilesystemException) {
            try {
                Log::add(
                    Text::sprintf('JLIB_LANGUAGE_ERROR_CANNOT_WRITE_CACHE', str_replace(JPATH_ROOT, '', $cacheFile)),
                    Log::WARNING,
                    'language'
                );
}

An option would be change this to a non-translatable string

} catch (FilesystemException) {
    Log::add(
        'Unable to write language cache file: '
        . str_replace(JPATH_ROOT, '', $cacheFile),
        Log::WARNING,
        'language'
    );
}

That should solve the problem but it needs a mainatiners decision @MacJoom @drmenzelit

Add a Comment

Login with GitHub to post a comment