Describe the issue or problem
We recently changed OS for the server and hence also the PHP version from 7.3.18 to 8.0.30.
We encountered some problems for submissions earlier imported via Native XML plugin. some problems were solved by adding missing locale information to the affiliaition field accoring to:
Ojs upgrade fails on php8? - Software Support - PKP Community Forum (sfu.ca)
But in another journal this query in MariaDB did not show any line with this error. The server gives a 500 error when trying to show the issue page. When accessing the submissions table (logeed in) we could find there is an “unexpected error” with one of the submissions in that issue.
How can I in the database find out which value that is causing the error?
I have tried with
select * from publication_settings where publication_id=386;
but it does not look different to other publications.
abstract, copyrightholder and title has a locale value.
What application are you using?
Now running OJS 3.3.0-16, recently updated from 3.3.0-13
Additional information
PHP log when trying to access the submission in the submissions table:
[19-Feb-2024 14:10:04 Europe/Stockholm] Slim Application Error:
Type: TypeError
Message: Cannot access offset of type string on string
File: /var/www/html/ecp/lib/pkp/classes/core/DataObject.inc.php
Line: 133
Trace: #0 /var/www/html/ecp/lib/pkp/classes/db/SchemaDAO.inc.php(249): DataObject->setData()
#1 /var/www/html/ecp/lib/pkp/classes/submission/PKPAuthorDAO.inc.php(134): SchemaDAO->_fromRow()
#2 /var/www/html/ecp/lib/pkp/classes/db/DAOResultFactory.inc.php(99): PKPAuthorDAO->_fromRow()
#3 /var/www/html/ecp/lib/pkp/classes/db/DAOResultIterator.inc.php(33): DAOResultFactory->next()
#4 /var/www/html/ecp/lib/pkp/classes/db/DAOResultFactory.inc.php(181): DAOResultIterator->__construct()
#5 /var/www/html/ecp/lib/pkp/classes/services/PKPAuthorService.inc.php(69): DAOResultFactory->toIterator()
#6 /var/www/html/ecp/lib/pkp/classes/publication/PKPPublicationDAO.inc.php(62): PKP\Services\PKPAuthorService->getMany()
#7 /var/www/html/ecp/classes/publication/PublicationDAO.inc.php(39): PKPPublicationDAO->_fromRow()
#8 /var/www/html/ecp/lib/pkp/classes/db/DAOResultFactory.inc.php(99): PublicationDAO->_fromRow()
#9 /var/www/html/ecp/lib/pkp/classes/db/DAOResultIterator.inc.php(33): DAOResultFactory->next()
#10 /var/www/html/ecp/lib/pkp/classes/db/DAOResultFactory.inc.php(181): DAOResultIterator->__construct()
#11 /var/www/html/ecp/lib/pkp/classes/services/PKPPublicationService.inc.php(80): DAOResultFactory->toIterator()
#12 /var/www/html/ecp/lib/pkp/classes/submission/PKPSubmissionDAO.inc.php(93): PKP\Services\PKPPublicationService->getMany()
#13 /var/www/html/ecp/lib/pkp/classes/db/DAOResultFactory.inc.php(99): PKPSubmissionDAO->_fromRow()
#14 /var/www/html/ecp/lib/pkp/classes/db/DAOResultIterator.inc.php(33): DAOResultFactory->next()
#15 /var/www/html/ecp/lib/pkp/classes/db/DAOResultFactory.inc.php(181): DAOResultIterator->__construct()
#16 /var/www/html/ecp/lib/pkp/classes/services/PKPSubmissionService.inc.php(108): DAOResultFactory->toIterator()
#17 /var/www/html/ecp/lib/pkp/api/v1/_submissions/PKPBackendSubmissionsHandler.inc.php(152): PKP\Services\PKPSubmissionService->getMany()
#18 [internal function]: PKPBackendSubmissionsHandler->getMany()
#19 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func()
#20 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke()
#21 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->__invoke()
#22 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack()
#23 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/App.php(503): Slim\Route->run()
#24 /var/www/html/ecp/lib/pkp/classes/security/authorization/internal/ApiAuthorizationMiddleware.inc.php(77): Slim\App->__invoke()
#25 [internal function]: ApiAuthorizationMiddleware->__invoke()
#26 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#27 [internal function]: Slim\DeferredCallable->__invoke()
#28 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#29 /var/www/html/ecp/lib/pkp/classes/security/authorization/internal/ApiCsrfMiddleware.inc.php(46): Slim\App->Slim\{closure}()
#30 [internal function]: ApiCsrfMiddleware->__invoke()
#31 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#32 [internal function]: Slim\DeferredCallable->__invoke()
#33 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#34 /var/www/html/ecp/lib/pkp/classes/security/authorization/internal/ApiTokenDecodingMiddleware.inc.php(131): Slim\App->Slim\{closure}()
#35 [internal function]: ApiTokenDecodingMiddleware->__invoke()
#36 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#37 [internal function]: Slim\DeferredCallable->__invoke()
#38 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#39 /var/www/html/ecp/lib/pkp/classes/handler/APIHandler.inc.php(68): Slim\App->Slim\{closure}()
#40 [internal function]: APIHandler->{closure}()
#41 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#42 [internal function]: Slim\DeferredCallable->__invoke()
#43 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#44 /var/www/html/ecp/lib/pkp/classes/handler/APIHandler.inc.php(127): Slim\App->Slim\{closure}()
#45 [internal function]: APIHandler->{closure}()
#46 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#47 [internal function]: Slim\DeferredCallable->__invoke()
#48 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#49 /var/www/html/ecp/lib/pkp/classes/handler/APIHandler.inc.php(132): Slim\App->Slim\{closure}()
#50 [internal function]: APIHandler->{closure}()
#51 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#52 [internal function]: Slim\DeferredCallable->__invoke()
#53 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#54 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}()
#55 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack()
#56 /var/www/html/ecp/lib/pkp/classes/handler/APIHandler.inc.php(124): Slim\App->process()
#57 [internal function]: APIHandler->{closure}()
#58 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#59 [internal function]: Slim\DeferredCallable->__invoke()
#60 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#61 /var/www/html/ecp/lib/pkp/classes/handler/APIHandler.inc.php(132): Slim\App->Slim\{closure}()
#62 [internal function]: APIHandler->{closure}()
#63 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#64 [internal function]: Slim\DeferredCallable->__invoke()
#65 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#66 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}()
#67 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack()
#68 /var/www/html/ecp/lib/pkp/lib/vendor/slim/slim/Slim/App.php(297): Slim\App->process()
#69 /var/www/html/ecp/lib/pkp/classes/core/APIRouter.inc.php(115): Slim\App->run()
#70 /var/www/html/ecp/lib/pkp/classes/core/Dispatcher.inc.php(144): APIRouter->route()
#71 /var/www/html/ecp/lib/pkp/classes/core/PKPApplication.inc.php(360): Dispatcher->dispatch()
#72 /var/www/html/ecp/index.php(68): PKPApplication->execute()
#73 {main}
View in rendered output by enabling the "displayErrorDetails" setting.