[OJS-3.4-0-4] Unassigned Tab: An unexpected error has occurred. Please reload the page and try again

Hi @asmecher @jonasraoni

OJS-3.4.0-4
PHP-8.1

Upgraded from OJS-3.3.0-14 to OJS-3.4.0-4.

We are looking for an article on the editorial side in the Unassigned Tab. If we enter the article ID or article title in the search box a message pops up. An unexpected error has occurred. Please reload the page and try again. No fatal errors were reported, only plugin exceptions were reported.

Other tabs working normally.
Here I am mentioning complete error log





Error log:

[05-Dec-2023 12:33:19 Asia/Kolkata] Slim Application Error:
Type: TypeError
Message: count(): Argument #1 ($value) must be of type Countable|array, int given
File: ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
Line: 1081
Trace: #0 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(1081): count()
#1 ojs/lib/pkp/classes/submission/Collector.php(444): Illuminate\Database\Query\Builder->whereIn()
#2 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(354): PKP\submission\Collector->PKP\submission\{closure}()
#3 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(578): Illuminate\Database\Query\Builder->createSub()
#4 ojs/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(627): Illuminate\Database\Query\Builder->joinSub()
#5 ojs/lib/pkp/classes/submission/Collector.php(447): Illuminate\Database\Query\Builder->leftJoinSub()
#6 ojs/classes/submission/Collector.php(54): PKP\submission\Collector->getQueryBuilder()
#7 ojs/lib/pkp/classes/submission/DAO.php(117): APP\submission\Collector->getQueryBuilder()
#8 ojs/lib/pkp/classes/submission/Collector.php(100): PKP\submission\DAO->getMany()
#9 ojs/lib/pkp/api/v1/_submissions/PKPBackendSubmissionsHandler.php(126): PKP\submission\Collector->getMany()
#10 [internal function]: PKP\API\v1\_submissions\PKPBackendSubmissionsHandler->getMany()
#11 ojs/lib/pkp/lib/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(40): call_user_func()
#12 ojs/lib/pkp/lib/vendor/slim/slim/Slim/Route.php(281): Slim\Handlers\Strategies\RequestResponse->__invoke()
#13 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->__invoke()
#14 ojs/lib/pkp/lib/vendor/slim/slim/Slim/Route.php(268): Slim\Route->callMiddlewareStack()
#15 ojs/lib/pkp/lib/vendor/slim/slim/Slim/App.php(503): Slim\Route->run()
#16 ojs/lib/pkp/classes/security/authorization/internal/ApiAuthorizationMiddleware.php(90): Slim\App->__invoke()
#17 [internal function]: PKP\security\authorization\internal\ApiAuthorizationMiddleware->__invoke()
#18 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#19 [internal function]: Slim\DeferredCallable->__invoke()
#20 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#21 ojs/lib/pkp/classes/security/authorization/internal/ApiCsrfMiddleware.php(56): Slim\App->Slim\{closure}()
#22 [internal function]: PKP\security\authorization\internal\ApiCsrfMiddleware->__invoke()
#23 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#24 [internal function]: Slim\DeferredCallable->__invoke()
#25 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#26 ojs/lib/pkp/classes/security/authorization/internal/ApiTokenDecodingMiddleware.php(140): Slim\App->Slim\{closure}()
#27 [internal function]: PKP\security\authorization\internal\ApiTokenDecodingMiddleware->__invoke()
#28 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#29 [internal function]: Slim\DeferredCallable->__invoke()
#30 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#31 ojs/lib/pkp/classes/handler/APIHandler.php(83): Slim\App->Slim\{closure}()
#32 [internal function]: PKP\handler\APIHandler->PKP\handler\{closure}()
#33 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#34 [internal function]: Slim\DeferredCallable->__invoke()
#35 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#36 ojs/lib/pkp/classes/handler/APIHandler.php(100): Slim\App->Slim\{closure}()
#37 [internal function]: PKP\handler\APIHandler->PKP\handler\{closure}()
#38 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#39 [internal function]: Slim\DeferredCallable->__invoke()
#40 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#41 ojs/lib/pkp/classes/handler/APIHandler.php(105): Slim\App->Slim\{closure}()
#42 [internal function]: PKP\handler\APIHandler->PKP\handler\{closure}()
#43 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#44 [internal function]: Slim\DeferredCallable->__invoke()
#45 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#46 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}()
#47 ojs/lib/pkp/lib/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack()
#48 ojs/lib/pkp/classes/handler/APIHandler.php(98): Slim\App->process()
#49 [internal function]: PKP\handler\APIHandler->PKP\handler\{closure}()
#50 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#51 [internal function]: Slim\DeferredCallable->__invoke()
#52 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#53 ojs/lib/pkp/classes/handler/APIHandler.php(105): Slim\App->Slim\{closure}()
#54 [internal function]: PKP\handler\APIHandler->PKP\handler\{closure}()
#55 ojs/lib/pkp/lib/vendor/slim/slim/Slim/DeferredCallable.php(57): call_user_func_array()
#56 [internal function]: Slim\DeferredCallable->__invoke()
#57 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func()
#58 ojs/lib/pkp/lib/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}()
#59 ojs/lib/pkp/lib/vendor/slim/slim/Slim/App.php(392): Slim\App->callMiddlewareStack()
#60 ojs/lib/pkp/lib/vendor/slim/slim/Slim/App.php(297): Slim\App->process()
#61 ojs/lib/pkp/classes/core/APIRouter.php(110): Slim\App->run()
#62 ojs/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\APIRouter->route()
#63 ojs/lib/pkp/classes/core/PKPApplication.php(388): PKP\core\Dispatcher->dispatch()
#64 ojs/index.php(21): PKP\core\PKPApplication->execute()
#65 {main}
View in rendered output by enabling the "displayErrorDetails" setting.

Hi @shantanusingh,

Can you post the URL of the request that’s returning a 500 error (that is, everything after the _submissions part – I don’t need your domain name etc)?

Thanks,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher Thanks for your reply.

I think it is the _submissions?status=1&assignedTo=-1&searchPhrase=1&count=30&offset=0&_=1701834124431 URL that is causing the 500 error. Only this link is generated during the error.

You can also see the second image mentioned above which shows the error.

Hi @shantanusingh,

You should be able to resolve the issue by applying this patch:

Regards,
Alec Smecher
Public Knowledge Project Team

2 Likes