putting joomla in debug mode give this call stack:
# | Function | Location |
---|---|---|
1 | () | JROOT/libraries/src/MVC/Model/ListModel.php:339 |
2 | Joomla\CMS\MVC\Model\ListModel->getStoreId() | JROOT/libraries/src/MVC/Model/ListModel.php:261 |
3 | Joomla\CMS\MVC\Model\ListModel->getItems() | JROOT/components/com_contact/src/Model/CategoryModel.php:121 |
4 | Joomla\Component\Contact\Site\Model\CategoryModel->getItems() | JROOT/libraries/src/MVC/View/AbstractView.php:153 |
5 | Joomla\CMS\MVC\View\AbstractView->get() | JROOT/libraries/src/MVC/View/CategoryView.php:159 |
6 | Joomla\CMS\MVC\View\CategoryView->commonCategoryDisplay() | JROOT/components/com_contact/src/View/Category/HtmlView.php:61 |
7 | Joomla\Component\Contact\Site\View\Category\HtmlView->display() | JROOT/libraries/src/MVC/Controller/BaseController.php:697 |
8 | Joomla\CMS\MVC\Controller\BaseController->display() | JROOT/components/com_contact/src/Controller/DisplayController.php:80 |
9 | Joomla\Component\Contact\Site\Controller\DisplayController->display() | JROOT/libraries/src/MVC/Controller/BaseController.php:735 |
10 | Joomla\CMS\MVC\Controller\BaseController->execute() | JROOT/libraries/src/Dispatcher/ComponentDispatcher.php:146 |
11 | Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch() | JROOT/components/com_contact/src/Dispatcher/Dispatcher.php:45 |
12 | Joomla\Component\Contact\Site\Dispatcher\Dispatcher->dispatch() | JROOT/libraries/src/Component/ComponentHelper.php:389 |
13 | Joomla\CMS\Component\ComponentHelper::renderComponent() | JROOT/libraries/src/Application/SiteApplication.php:204 |
14 | Joomla\CMS\Application\SiteApplication->dispatch() | JROOT/libraries/src/Application/SiteApplication.php:243 |
15 | Joomla\CMS\Application\SiteApplication->doExecute() | JROOT/libraries/src/Application/CMSApplication.php:278 |
16 | Joomla\CMS\Application\CMSApplication->execute() | JROOT/includes/app.php:63 |
17 | require_once() | JROOT/index.php:32 |
Labels |
Added:
No Code Attached Yet
|
It looks like the limit.start
in the session has an object instead of a string or number. This causes a TypeError in PHP 8 (it was a warning on earlier versions). This is unrelated to #37139, that PR deals with caching issues.
The real problem is components/com_contact/src/Model/CategoryModel.php line 295. It reads:
'com_contact.category.list',
when it should be reading
'com_contact.category.list.limit',
since we're trying to get the state of the list LIMIT, not the entire subset of list options in the user state...
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2022-03-02 07:23:41 |
Closed_By | ⇒ | alikon |
after issuing the error, every subsequent visit to the page will lead to the error page.
it is probably related to session cookies: if you wait long enough after the error, visiting the page will show the list.
The same thing happen if you delete cookies after the error: visiting the page will show no error