Viewing decline submission produce an error OJS 3.5.0.1

Describe the issue or problem
im on a multi journal ojs system. when accessing the declined submission its producing an error. on one journal produce this error. other is working.

Steps I took leading up to the issue
For example:

  1. Go to decline submission and click.
  2. and the error occurred.

What application are you using?
OJS 3.5.0.1

Additional information

#64 {main}
#63 /home/journal/public_html/index.php(21): PKP\core\PKPApplication->execute()
#62 /home/journal/public_html/lib/pkp/classes/core/PKPApplication.php(426): PKP\core\Dispatcher->dispatch()
#61 /home/journal/public_html/lib/pkp/classes/core/Dispatcher.php(157): PKP\core\APIRouter->route()
#60 /home/journal/public_html/lib/pkp/classes/core/APIRouter.php(116): PKP\handler\APIHandler->runRoutes()
#59 /home/journal/public_html/lib/pkp/classes/handler/APIHandler.php(102): Illuminate\Pipeline\Pipeline->then()
#58 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#57 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\AllowCrossOrigin->handle()
#56 /home/journal/public_html/lib/pkp/classes/middleware/AllowCrossOrigin.php(34): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#55 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\SetupContextBasedOnRequestUrl->handle()
#54 /home/journal/public_html/lib/pkp/classes/middleware/SetupContextBasedOnRequestUrl.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#53 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\DecodeApiTokenWithValidation->handle()
#52 /home/journal/public_html/lib/pkp/classes/middleware/DecodeApiTokenWithValidation.php(76): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#51 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\ValidateCsrfToken->handle()
#50 /home/journal/public_html/lib/pkp/classes/middleware/ValidateCsrfToken.php(55): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#49 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Http\Middleware\ValidatePostSize->handle()
#48 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#47 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
#46 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#45 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#44 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
#43 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#42 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#41 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\PolicyAuthorizer->handle()
#40 /home/journal/public_html/lib/pkp/classes/middleware/PolicyAuthorizer.php(71): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#39 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): PKP\handler\APIHandler->PKP\handler\{closure}()
#38 /home/journal/public_html/lib/pkp/classes/handler/APIHandler.php(103): Illuminate\Routing\Router->dispatch()
#37 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\Routing\Router->dispatchToRoute()
#36 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\Routing\Router->runRoute()
#35 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\Routing\Router->runRouteWithinStack()
#34 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\Pipeline\Pipeline->then()
#33 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#32 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\HasUser->handle()
#31 /home/journal/public_html/lib/pkp/classes/middleware/HasUser.php(35): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#30 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\HasContext->handle()
#29 /home/journal/public_html/lib/pkp/classes/middleware/HasContext.php(35): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#28 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): PKP\middleware\HasRoles->handle()
#27 /home/journal/public_html/lib/pkp/classes/middleware/HasRoles.php(75): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#26 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\Routing\Router->Illuminate\Routing\{closure}()
#25 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\Routing\Route->run()
#24 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Route.php(215): Illuminate\Routing\Route->runCallable()
#23 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/Route.php(244): Illuminate\Routing\CallableDispatcher->dispatch()
#22 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(40): PKP\API\v1\_submissions\PKPBackendSubmissionsController->getMany()
#21 /home/journal/public_html/lib/pkp/api/v1/_submissions/PKPBackendSubmissionsController.php(204): Illuminate\Routing\ResponseFactory->json()
#20 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(104): Illuminate\Http\JsonResponse->__construct()
#19 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(32): Symfony\Component\HttpFoundation\JsonResponse->__construct()
#18 /home/journal/public_html/lib/pkp/lib/vendor/symfony/http-foundation/JsonResponse.php(49): Illuminate\Http\JsonResponse->setData()
#17 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(86): json_encode()
#16 [internal function]: Illuminate\Support\LazyCollection->jsonSerialize()
#15 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(970): Illuminate\Support\LazyCollection->all()
#14 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Collections/LazyCollection.php(106): iterator_to_array()
#13 [internal function]: Illuminate\Support\LazyCollection->Illuminate\Support\{closure}()
#12 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Collections/LazyCollection.php(1733): Illuminate\Support\LazyCollection->Illuminate\Support\{closure}()
#11 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Collections/LazyCollection.php(805): PKP\publication\maps\Schema->PKP\publication\maps\{closure}()
#10 /home/journal/public_html/lib/pkp/classes/publication/maps/Schema.php(98): PKP\publication\maps\Schema->summarize()
#9 /home/journal/public_html/lib/pkp/classes/publication/maps/Schema.php(73): APP\publication\maps\Schema->mapByProperties()
#8 /home/journal/public_html/classes/publication/maps/Schema.php(52): PKP\submission\PKPSubmission->getPublicationLanguages()
#7 /home/journal/public_html/lib/pkp/classes/submission/PKPSubmission.php(222): Illuminate\Support\Collection->concat()
#6 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(1067): Illuminate\Support\LazyCollection->Illuminate\Support\{closure}()
#5 /home/journal/public_html/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Collections/LazyCollection.php(805): PKP\submission\PKPSubmission->PKP\submission\{closure}()
#4 /home/journal/public_html/lib/pkp/classes/submission/PKPSubmission.php(222): PKP\publication\PKPPublication->getLanguages()
#3 /home/journal/public_html/lib/pkp/classes/publication/PKPPublication.php(454): PKP\publication\PKPPublication->PKP\publication\{closure}()
#2 /home/journal/public_html/lib/pkp/classes/publication/PKPPublication.php(453): array_map()
#1 [internal function]: PKP\publication\PKPPublication->PKP\publication\{closure}()
#0 /home/journal/public_html/lib/pkp/classes/publication/PKPPublication.php(453): array_keys()
Stack trace:
[26-Aug-2025 08:57:03 Asia/*] TypeError: array_keys(): Argument #1 ($array) must be of type array, string given in /home/journal/public_html/lib/pkp/classes/publication/PKPPublication.php:453

Hi @mohd_arshad,

This is a data error in your database, probably in the publication_settings table.

Certain kinds of settings (like titles) are “localized”, meaning that they can be entered in multiple languages. For those, their entries in the publication_settings table (and other tables) should have data in the locale column to indicate which language the entry is for.

Other settings are not localized, like identifiers. It would not make sense to have a different one of these for each language. For those entries, the locale column should be empty.

Judging by the error message, you have entries for localized settings that have an empty locale column.

First, check the list of which settings should be localized. You can find these in the schema documents:

  • lib/pkp/schemas/publication.json
  • schemas/publication.json

Any entry with "multilingual": true should be localized. Anything not specifying multilingual should not.

Then check the database for settings that do not match these expectations.

Regards,
Alec Smecher
Public Knowledge Project Team

ive found the problematic data in the database. yes the locale value is wrong.

i try editing all the locale value to correct value but it still producing error.

since the problematic submission is already decline i just run the

php tools/deleteSubmissions.php submissionid

and i can access the declined submission page.

maybe its not the correct method to fix this issue but since the submission is already decline i decide to delete the submission totally.

1 Like

This topic was automatically closed after 12 days. New replies are no longer allowed.