Hi I am testing the docker image for ojs 3.3.0-20 which use PHP 8.1.27 and I have found the following error when try to load the archive and back issues pages:
[Tue May 13 01:57:41.043142 2025] [php:error] [pid 25:tid 25] [client 192.168.2.1:49912] PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /var/www/html/lib/pkp/classes/core/DataObject.inc.php:133
Stack trace:
#0 /var/www/html/lib/pkp/classes/db/DAO.inc.php(501): DataObject->setData()
#1 /var/www/html/classes/issue/IssueDAO.inc.php(309): DAO->getDataObjectSettings()
#2 /var/www/html/lib/pkp/classes/db/DAOResultFactory.inc.php(100): IssueDAO->_fromRow()
#3 /var/www/html/lib/pkp/classes/db/DAOResultIterator.inc.php(62): DAOResultFactory->next()
#4 [internal function]: DAOResultIterator->next()
#5 /var/www/html/pages/issue/IssueHandler.inc.php(136): iterator_to_array()
#6 /var/www/html/lib/pkp/classes/core/PKPRouter.inc.php(397): IssueHandler->archive()
#7 /var/www/html/lib/pkp/classes/core/PKPPageRouter.inc.php(246): PKPRouter->_authorizeInitializeAndCallRequest()
#8 /var/www/html/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPPageRouter->route()
#9 /var/www/html/lib/pkp/classes/core/PKPApplication.inc.php(360): Dispatcher->dispatch()
#10 /var/www/html/index.php(68): PKPApplication->execute()
#11 {main} thrown in /var/www/html/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: http://192.168.2.98:8081/index.php/tip/article/view/703
[Tue May 13 01:59:47.395788 2025] [php:error] [pid 18:tid 18] [client 192.168.2.1:49954] PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /var/www/html/lib/pkp/classes/core/DataObject.inc.php:133
Stack trace:
#0 /var/www/html/lib/pkp/classes/db/DAO.inc.php(501): DataObject->setData()
#1 /var/www/html/classes/issue/IssueDAO.inc.php(309): DAO->getDataObjectSettings()
#2 /var/www/html/classes/issue/IssueDAO.inc.php(321): IssueDAO->_fromRow()
#3 /var/www/html/lib/pkp/classes/db/DAOResultFactory.inc.php(100): IssueDAO->_returnIssueFromRow()
#4 /var/www/html/lib/pkp/classes/db/DAOResultFactory.inc.php(191): DAOResultFactory->next()
#5 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(349): DAOResultFactory->toAssociativeArray()
#6 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(321): GridHandler->setGridDataElements()
#7 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(1032): GridHandler->getGridDataElements()
#8 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(923): GridHandler->renderGridBodyPartsInternally()
#9 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(643): GridHandler->doSpecificFetchGridActions()
#10 /var/www/html/lib/pkp/classes/core/PKPRouter.inc.php(397): GridHandler->fetchGrid()
#11 /var/www/html/lib/pkp/classes/core/PKPComponentRouter.inc.php(257): PKPRouter->_authorizeInitializeAndCallRequest()
#12 /var/www/html/lib/pkp/classes/core/Dispatcher.inc.php(144): PKPComponentRouter->route()
#13 /var/www/html/lib/pkp/classes/core/PKPApplication.inc.php(360): Dispatcher->dispatch()
#14 /var/www/html/index.php(68): PKPApplication->execute()
#15 {main} thrown in /var/www/html/lib/pkp/classes/core/DataObject.inc.php on line 133, referer: http://192.168.2.98:8081/index.php/tip/manageIssues
However when I load the same OJS using PHP 7.4.33 the problem isn’t appeared. I have read in the forum that others had had the same trouble and the solution was cleaning some registers in the database which could have NULL or empty values on some columns. However those solutions hadn’t worked for me. Can someone help me to resolve this trouble? Thanks.