No Code Attached Yet bug
avatar github-canni
github-canni
16 Apr 2026

What happened?

Description
If we browse joomla administrator backend and open multiple tabs 'quickly', we get auto-logged out.

Steps to reproduce

  • Click on multiple article titles 'quickly' in joomla admin backend
    (e.g. by holding strg key to open them in a new tab)

Guessed cause:

  • Filesystem handler of joomla conflicts with (temporary) file locks on the filesystem?

Version

6.1

Expected result

  • Joomla should not auto-logout user on opening multiple tabs in admin backend

Actual result

  • Joomla does auto-logout user on opening multiple tabs in admin backend

System Information

Global configuration:

  • Session Handler: Filesystem (probable cause?)
  • Session Save Path: (absolute path to writable directory)
  • Session Lifetime: 999 (tried different values)
  • Shared sessions: No
  • Track session metadata: No

User:

  • Group: Super Users
  • MFA/2FA: enabled (6-digit verification code) [also tried to disable it, seems not related]

Webserver Details:
PHP: 8.4.20
Joomla: 6.1.0
Template: atum (default)

Additional Comments

Callstack
"An error has occurred. Failed to start the session"

1 | JROOT/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:453
2 | Joomla\Session\Storage\NativeStorage->start() | JROOT/libraries/src/Session/Storage/JoomlaStorage.php:313
3 | Joomla\CMS\Session\Storage\JoomlaStorage->start() | JROOT/libraries/vendor/joomla/session/src/Session.php:396
4 | Joomla\Session\Session->start() | JROOT/libraries/vendor/joomla/session/src/Session.php:327
5 | Joomla\Session\Session->has() | JROOT/libraries/src/Session/Session.php:194
6 | Joomla\CMS\Session\Session->get() | JROOT/libraries/src/Factory.php:372
7 | Joomla\CMS\Factory::getUser() | JROOT/libraries/src/Plugin/PluginHelper.php:270
8 | Joomla\CMS\Plugin\PluginHelper::load() | JROOT/libraries/src/Plugin/PluginHelper.php:188
9 | Joomla\CMS\Plugin\PluginHelper::importPlugin() | JROOT/libraries/src/Application/CMSApplication.php:305
10 | Joomla\CMS\Application\CMSApplication->execute() | JROOT/administrator/includes/app.php:58
11 | require_once() | JROOT/administrator/index.php:32

LOG

2026-04-16T09:06:04+00:00	CRITICAL	{IP}	error	
Uncaught Throwable of type RuntimeException thrown with message "Failed to start the session". 
Stack trace: 
#0 [ROOT]/libraries/src/Session/Storage/JoomlaStorage.php(313): Joomla\Session\Storage\NativeStorage->start()
#1 [ROOT]/libraries/vendor/joomla/session/src/Session.php(396): Joomla\CMS\Session\Storage\JoomlaStorage->start()
#2 [ROOT]/libraries/vendor/joomla/session/src/Session.php(327): Joomla\Session\Session->start()
#3 [ROOT]/libraries/src/Session/Session.php(194): Joomla\Session\Session->has('user')
#4 [ROOT]/libraries/src/Factory.php(372): Joomla\CMS\Session\Session->get('user')
#5 [ROOT]/libraries/src/Plugin/PluginHelper.php(270): Joomla\CMS\Factory::getUser()
#6 [ROOT]/libraries/src/Plugin/PluginHelper.php(188): Joomla\CMS\Plugin\PluginHelper::load()
#7 [ROOT]/libraries/src/Application/CMSApplication.php(305): Joomla\CMS\Plugin\PluginHelper::importPlugin('behaviour', NULL, true, Object(Joomla\Event\Dispatcher))
#8 [ROOT]/administrator/includes/app.php(58): Joomla\CMS\Application\CMSApplication->execute()
#9 [ROOT]/administrator/index.php(32): require_once('/www/data/joomla...')
#10 {main}

2026-04-16T09:06:04+00:00	CRITICAL	 {IP}	error	
Uncaught Throwable of type RuntimeException thrown with message 
"You don't have permission to access this. Please contact a website administrator if this is incorrect.". 

Stack trace: 
#0 [ROOT]/libraries/src/MVC/Controller/BaseController.php(730): Joomla\Component\Login\Administrator\Controller\DisplayController->display()
#1 [ROOT]/libraries/src/Dispatcher/ComponentDispatcher.php(143): Joomla\CMS\MVC\Controller\BaseController->execute('')
#2 [ROOT]/administrator/components/com_login/src/Dispatcher/Dispatcher.php(45): Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()
#3 [ROOT]/libraries/src/Component/ComponentHelper.php(361): Joomla\Component\Login\Administrator\Dispatcher\Dispatcher->dispatch()
#4 [ROOT]/libraries/src/Application/AdministratorApplication.php(150): Joomla\CMS\Component\ComponentHelper::renderComponent('com_login')
#5 [ROOT]/libraries/src/Application/AdministratorApplication.php(206): Joomla\CMS\Application\AdministratorApplication->dispatch()
#6 [ROOT]/libraries/src/Application/CMSApplication.php(320): Joomla\CMS\Application\AdministratorApplication->doExecute()
#7 [ROOT]/administrator/includes/app.php(58): Joomla\CMS\Application\CMSApplication->execute()
#8 [ROOT]/administrator/index.php(32): require_once('/www/data/joomla...')
#9 {main}

avatar github-canni github-canni - open - 16 Apr 2026
avatar github-canni github-canni - change - 16 Apr 2026
Labels Added: bug
avatar github-canni github-canni - labeled - 16 Apr 2026
avatar joomla-cms-bot joomla-cms-bot - change - 16 Apr 2026
Labels Added: No Code Attached Yet
avatar joomla-cms-bot joomla-cms-bot - labeled - 16 Apr 2026
avatar github-canni github-canni - change - 16 Apr 2026
Title
[6.1] Joomla Admin "An error has occurred. Failed to start the session"
[6.1] Joomla Admin "An error has occurred. Failed to start the session" (Uncaught Throwable of type RuntimeException)
avatar github-canni github-canni - edited - 16 Apr 2026
avatar github-canni github-canni - change - 16 Apr 2026
The description was changed
avatar github-canni github-canni - edited - 16 Apr 2026
avatar github-canni github-canni - change - 16 Apr 2026
The description was changed
avatar github-canni github-canni - edited - 16 Apr 2026
avatar github-canni github-canni - change - 16 Apr 2026
The description was changed
avatar github-canni github-canni - edited - 16 Apr 2026
avatar Fedik Fedik - change - 16 Apr 2026
Status New Closed
Closed_Date 0000-00-00 00:00:00 2026-04-16 10:50:42
Closed_By Fedik
avatar Fedik Fedik - close - 16 Apr 2026
avatar Fedik
Fedik - comment - 16 Apr 2026

The session will auto-update when you editing the article or open any other form for content editing.

Session Lifetime: 999

Please do not set the time bigger than 10-15min, it will hurt your site performance in long term.

Hint: If you want the session to auto-update all time when you logged in to the administration area, you can do a plugin with following event:

public function onAfterDispatch($event)
{
  if ($event->getApplication()->isClient('administrator'))
  {
     $event->getApplication()->getDocument()->getWebAssetManager()->useScript('keepalive');
  }
}
avatar Fedik
Fedik - comment - 16 Apr 2026

Session Handler: Filesystem (probable cause?)

Yes, this can have an issue with multiple tabs.
Because "filesystem lock" on write.
Use Database.

avatar github-canni
github-canni - comment - 16 Apr 2026

Thanks for your quick reply.

What I do not understand:

  • Joomlas core code seems to have at least two uncaught exceptions and you simply close the bug report?
    Sure, we could use database instead of filesystem handler but I could also use other CMS than Joomla, what's the point?

session time
Session time was set in dev environement for testing purposes only, that's where the bug arises. It was btw. not present on earlier Joomla versions, e.g. 3, at least I cannot ever remember being auto-logged out because I open two or more tabs in the admin backend of Joomla...

avatar brianteeman
brianteeman - comment - 16 Apr 2026

Did we have filesystem session handler in joomla 3?

avatar Fedik
Fedik - comment - 16 Apr 2026

Joomlas core code seems to have at least two uncaught exceptions and you simply close the bug report?

You’re quite observant.

It is PHP behavior:

The "files" handler is blocking. When a script calls session_start(), it acquires an exclusive lock on the session file until the script finishes or session_write_close() is called. This prevents race conditions but can cause performance bottlenecks in applications with many concurrent requests

In your case session expired but because it still not closed somewhere (blocked ajax call etc), it cannot start again.

Add a Comment

Login with GitHub to post a comment