Download Beta8-dev full package of 29 March: https://developer.joomla.org/nightlies/Joomla_4.0.0-beta8-dev-Development-Full_Package.zip
Expand and install.
Remove the installation folder.
Rename htaccess.txt to .htaccess.
Go to the site and the back end.
No errors displayed.
Fatal error: Trait "Joomla\Plugin\System\Webauthn\PluginTraits\AjaxHandler" not found in C:\www\joomla4\plugins\system\webauthn\webauthn.php on line 34
Windows 10 with Wampserver 3.2.4
Apache 2.4.36c
MySQL 8.0.23
PHP 8.0.2
Stack trace from back end
[29-Mar-2021 09:21:54 UTC] PHP Fatal error: Trait "Joomla\Plugin\System\Webauthn\PluginTraits\AjaxHandler" not found in C:\www\joomla4\plugins\system\webauthn\webauthn.php on line 34
[29-Mar-2021 09:21:54 UTC] PHP Stack trace:
[29-Mar-2021 09:21:54 UTC] PHP 1. {main}() C:\www\joomla4\administrator\index.php:0
[29-Mar-2021 09:21:54 UTC] PHP 2. require_once() C:\www\joomla4\administrator\index.php:32
[29-Mar-2021 09:21:54 UTC] PHP 3. Joomla\CMS\Application\AdministratorApplication->execute() C:\www\joomla4\administrator\includes\app.php:63
[29-Mar-2021 09:21:54 UTC] PHP 4. Joomla\CMS\Application\AdministratorApplication->doExecute() C:\www\joomla4\libraries\src\Application\CMSApplication.php:266
[29-Mar-2021 09:21:54 UTC] PHP 5. Joomla\CMS\Application\AdministratorApplication->initialiseApp($options = ['language' => NULL]) C:\www\joomla4\libraries\src\Application\AdministratorApplication.php:165
[29-Mar-2021 09:21:54 UTC] PHP 6. Joomla\CMS\Application\AdministratorApplication->initialiseApp($options = ['language' => 'en-GB']) C:\www\joomla4\libraries\src\Application\AdministratorApplication.php:354
[29-Mar-2021 09:21:54 UTC] PHP 7. Joomla\CMS\Plugin\PluginHelper::importPlugin($type = 'system', $plugin = *uninitialized*, $autocreate = *uninitialized*, $dispatcher = *uninitialized*) C:\www\joomla4\libraries\src\Application\CMSApplication.php:714
[29-Mar-2021 09:21:54 UTC] PHP 8. Joomla\CMS\Plugin\PluginHelper::import($plugin = class stdClass { public $type = 'system'; public $name = 'webauthn'; public $params = '{}'; public $id = 183 }, $autocreate = TRUE, $dispatcher = class Joomla\Event\Dispatcher { protected $events = []; protected $listeners = ['session.start' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableObjectCreate' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableBeforeStore' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableAfterStore' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableBeforeDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableSetNewTags' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableAfterReset' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableAfterLoad' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onBeforeBatch' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentChangeState' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onApplicationAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterInstall' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterUninstall' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterUpdate' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterSaveGroup' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterDeleteGroup' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterLogin' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserLoginFailure' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserLogout' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterRemind' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterCheckin' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterLogPurge' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterLogExport' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterPurge' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterDispatch' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onJoomlaAfterUpdate' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterInitialise' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentPrepareForm' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentPrepareData' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterRespond' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onBeforeCompileHead' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxDebug' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterDisconnect' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentNormaliseRequestData' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterTitle' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentBeforeDisplay' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterDisplay' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentPrepare' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onPrepareFinderContent' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onFinderResult' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterRender' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserBeforeSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendAlways' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendNever' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendOnce' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendStats' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onGetStatsData' => class Joomla\Event\ListenersPriorityQueue { ... }] }) C:\www\joomla4\libraries\src\Plugin\PluginHelper.php:193
[29-Mar-2021 09:21:54 UTC] PHP 9. Joomla\CMS\Application\AdministratorApplication->bootPlugin($plugin = 'webauthn', $type = 'system') C:\www\joomla4\libraries\src\Plugin\PluginHelper.php:235
[29-Mar-2021 09:21:54 UTC] PHP 10. Joomla\CMS\Application\AdministratorApplication->loadExtension($type = 'Joomla\\CMS\\Extension\\PluginInterface', $extensionName = 'webauthn:system', $extensionPath = 'C:\\www\\joomla4/plugins/system/webauthn') C:\www\joomla4\libraries\src\Extension\ExtensionManagerTrait.php:94
[29-Mar-2021 09:21:54 UTC] PHP 11. Joomla\CMS\Application\AdministratorApplication->loadPluginFromFilesystem($plugin = 'webauthn', $type = 'system') C:\www\joomla4\libraries\src\Extension\ExtensionManagerTrait.php:160
[29-Mar-2021 09:21:54 UTC] PHP 12. require_once() C:\www\joomla4\libraries\src\Extension\ExtensionManagerTrait.php:219
Stack trace from front end
[29-Mar-2021 09:21:54 UTC] PHP Fatal error: Trait "Joomla\Plugin\System\Webauthn\PluginTraits\AjaxHandler" not found in C:\www\joomla4\plugins\system\webauthn\webauthn.php on line 34
[29-Mar-2021 09:21:54 UTC] PHP Stack trace:
[29-Mar-2021 09:21:54 UTC] PHP 1. {main}() C:\www\joomla4\index.php:0
[29-Mar-2021 09:21:54 UTC] PHP 2. require_once() C:\www\joomla4\index.php:32
[29-Mar-2021 09:21:54 UTC] PHP 3. Joomla\CMS\Application\SiteApplication->execute() C:\www\joomla4\includes\app.php:63
[29-Mar-2021 09:21:54 UTC] PHP 4. Joomla\CMS\Application\SiteApplication->doExecute() C:\www\joomla4\libraries\src\Application\CMSApplication.php:266
[29-Mar-2021 09:21:54 UTC] PHP 5. Joomla\CMS\Application\SiteApplication->initialiseApp($options = *uninitialized*) C:\www\joomla4\libraries\src\Application\SiteApplication.php:224
[29-Mar-2021 09:21:54 UTC] PHP 6. Joomla\CMS\Application\SiteApplication->initialiseApp($options = ['language' => 'en-GB']) C:\www\joomla4\libraries\src\Application\SiteApplication.php:709
[29-Mar-2021 09:21:54 UTC] PHP 7. Joomla\CMS\Plugin\PluginHelper::importPlugin($type = 'system', $plugin = *uninitialized*, $autocreate = *uninitialized*, $dispatcher = *uninitialized*) C:\www\joomla4\libraries\src\Application\CMSApplication.php:714
[29-Mar-2021 09:21:54 UTC] PHP 8. Joomla\CMS\Plugin\PluginHelper::import($plugin = class stdClass { public $type = 'system'; public $name = 'webauthn'; public $params = '{}'; public $id = 183 }, $autocreate = TRUE, $dispatcher = class Joomla\Event\Dispatcher { protected $events = []; protected $listeners = ['session.start' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableObjectCreate' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableBeforeStore' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableAfterStore' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableBeforeDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableSetNewTags' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableAfterReset' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onTableAfterLoad' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onBeforeBatch' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentChangeState' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onApplicationAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterInstall' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterUninstall' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterUpdate' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onExtensionAfterDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterDelete' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterSaveGroup' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterDeleteGroup' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterLogin' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserLoginFailure' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserLogout' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserAfterRemind' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterCheckin' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterLogPurge' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterLogExport' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterPurge' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterDispatch' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onJoomlaAfterUpdate' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterInitialise' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentPrepareForm' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentPrepareData' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterRespond' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onBeforeCompileHead' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxDebug' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterDisconnect' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentNormaliseRequestData' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterTitle' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentBeforeDisplay' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentAfterDisplay' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onContentPrepare' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onPrepareFinderContent' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onFinderResult' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAfterRender' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onUserBeforeSave' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendAlways' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendNever' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendOnce' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onAjaxSendStats' => class Joomla\Event\ListenersPriorityQueue { ... }, 'onGetStatsData' => class Joomla\Event\ListenersPriorityQueue { ... }] }) C:\www\joomla4\libraries\src\Plugin\PluginHelper.php:193
[29-Mar-2021 09:21:54 UTC] PHP 9. Joomla\CMS\Application\SiteApplication->bootPlugin($plugin = 'webauthn', $type = 'system') C:\www\joomla4\libraries\src\Plugin\PluginHelper.php:235
[29-Mar-2021 09:21:54 UTC] PHP 10. Joomla\CMS\Application\SiteApplication->loadExtension($type = 'Joomla\\CMS\\Extension\\PluginInterface', $extensionName = 'webauthn:system', $extensionPath = 'C:\\www\\joomla4/plugins/system/webauthn') C:\www\joomla4\libraries\src\Extension\ExtensionManagerTrait.php:94
[29-Mar-2021 09:21:54 UTC] PHP 11. Joomla\CMS\Application\SiteApplication->loadPluginFromFilesystem($plugin = 'webauthn', $type = 'system') C:\www\joomla4\libraries\src\Extension\ExtensionManagerTrait.php:160
[29-Mar-2021 09:21:54 UTC] PHP 12. require_once() C:\www\joomla4\libraries\src\Extension\ExtensionManagerTrait.php:219
Sorry, typo in my environment, s/b Apache 2.4.46c.
Could you please check to see if the file plugins/system/webauthn/src/PluginTraits/AjaxHandler.php is available in your Joomla installation? If it is there and you are still getting the error, maybe you should try to delete/rename the file administrator/cache/autoload_psr4.php to have Joomla re-generate the namespace map again might solve the issue.
@joomdonation - sorry, the original test folder was deleted and reused. Next time I should keep the original virtual host and just rename the folder.
Now I created a new virtual host, expanded the same Full version of 29 March and the file AjaxHandler.php is in that folder. Did the same steps as the failed installation and this time both the front end and the back end worked all right. Possibly the issue was caused by some interference by anti-virus in Windows.
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2021-03-29 17:10:10 |
Closed_By | ⇒ | alikon |
Could you please check to see if the file plugins/system/webauthn/src/PluginTraits/AjaxHandler.php is available in your Joomla installation? If it is there and you are still getting the error, maybe you should try to delete/rename the file administrator/cache/autoload_psr4.php to have Joomla re-generate the namespace map again might solve the issue.
Just as note for others: I get into this problem just now, migrating a site to version 4.0.3. Doing this previous suggestion, save my night. Just deleted the autoload_psr4.php
file, and all back to normal.
I had the same problem during Update form 3.10.2 to 4.0.3. Deleting the autoload_psr4.php solved it.
Wouldn't it possible to integrate the deleting step in the updating process from Joomla? Not every user can read the english issues solutions.
Wouldn't it possible to integrate the deleting step in the updating process from Joomla? Not every user can read the english issues solutions.
as the file doesnt exist in joomla3 it would be impossible to delete it in the updating process from 3.10
Then at the end of the updating process
As a test I installed Beta8-dev Full version from 26 February in the same environment and then updated from today's https://developer.joomla.org/nightlies/Joomla_4.0.0-beta8-dev-Development-Update_Package.zip. No problems whatsoever.
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/32922.