Description
If we browse joomla administrator backend and open multiple tabs 'quickly', we get auto-logged out.
Steps to reproduce
Guessed cause:
6.1
Global configuration:
User:
Webserver Details:
PHP: 8.4.20
Joomla: 6.1.0
Template: atum (default)
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}
| Labels |
Added:
bug
|
||
| Labels |
Added:
No Code Attached Yet
|
||
| Title |
|
||||||
| Status | New | ⇒ | Closed |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-04-16 10:50:42 |
| Closed_By | ⇒ | Fedik |
Session Handler: Filesystem (probable cause?)
Yes, this can have an issue with multiple tabs.
Because "filesystem lock" on write.
Use Database.
Thanks for your quick reply.
What I do not understand:
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...
Did we have filesystem session handler in joomla 3?
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.
The session will auto-update when you editing the article or open any other form for content editing.
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: