Participants Box Eternal loading [OJS 3.1.2.0]

Hi,

When I choose a specific submission, in the tab Production, the participants box loading forever. It happens only with one submission. Here the log:

[Wed Jun 19 17:25:35.497563 2019] [proxy_fcgi:error] [pid 27031] [client 150.164.83.181:55108] AH01071: Got error ‘PHP message: PHP Warning: Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /home/revistas/public_html/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 134\nPHP message: PHP Warning: Declaration of ArticleGalleyGridHandler::fetchRow($args, $request) should be compatible with GridHandler::fetchRow(&$args, $request) in /home/revistas/public_html/controllers/grid/articleGalleys/ArticleGalleyGridHandler.inc.php on line 398\n’, referer: https://revistas.face.ufmg.br/index.php/novaeconomia/workflow/index/3633/5
[Wed Jun 19 17:25:35.542841 2019] [proxy_fcgi:error] [pid 26821] [client 150.164.83.181:55105] AH01071: Got error ‘PHP message: PHP Warning: Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /home/revistas/public_html/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 134\nPHP message: PHP Fatal error: Uncaught Error: Call to a member function getFullName() on null in /home/revistas/public_html/lib/pkp/controllers/grid/users/stageParticipant/StageParticipantGridCellProvider.inc.php:36\nStack trace:\n#0 /home/revistas/public_html/lib/pkp/classes/controllers/grid/GridCellProvider.inc.php(49): StageParticipantGridCellProvider->getTemplateVarsFromRowColumn(Object(StageParticipantGridRow), Object(GridColumn))\n#1 /home/revistas/public_html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(1098): GridCellProvider->render(Object(Request), Object(StageParticipantGridRow), Object(GridColumn))\n#2 /home/revistas/public_html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(1005): GridHandler->_renderCellInternally(Object(Request), Object(StageParticipantGridRow), Object(GridColumn))\n#3 /home/revistas/public_html/lib/pkp/classes/controllers/grid/CategoryGridHandler.inc.php(329): GridHandler->renderRowInternally(Object(Request), Object(StageParticipantGridRow))\n#4 /home/revistas/pub…\n’, referer: https://revistas.face.ufmg.br/index.php/novaeconomia/workflow/index/3633/5
[Wed Jun 19 17:25:35.546089 2019] [proxy_fcgi:error] [pid 27032] [client 150.164.83.181:55107] AH01071: Got error ‘PHP message: PHP Warning: Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /home/revistas/public_html/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 134\n’, referer: https://revistas.face.ufmg.br/index.php/novaeconomia/workflow/index/3633/5
[Wed Jun 19 17:25:43.600761 2019] [proxy_fcgi:error] [pid 26830] [client 150.164.83.181:55106] AH01071: Got error ‘PHP message: PHP Warning: Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /home/revistas/public_html/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 134\n’, referer: https://revistas.face.ufmg.br/index.php/novaeconomia/workflow/index/3633/5

Any suggestion ?

Hi @rique,

Looks like incosistency in your database entry. Can you find if users that are attached to the article really exist in the database? Tables to look: stage_assignments → find correspondent submisison by id and look for user_id's; users table → find if those user_id's really exist.

Hi Vitaliy,

I’m in a training this week. In the next week I will test it and give to you a feedback.

Thank you!

Henrique.

Hi @Vitaliy ,

I debuged the code, specifically the function getFullName(). It is call 2 times and in both, it returns a String value (the participant name).

This user exist in the users table.

What functions and tables this participant box use ?

My bad… @Vitaliy

It’s really an unexistent user_id in the table stage_assignments.

But I don’t know how it happened, because I never deleted any user manually in the database.

Could I solve it via software ? Because, I beware about the integrity of my database.

Hi @rique,

Yes, the user may appear in other tables as well, and it’s a mystery for me how nonexistent user was assigned to the article, never encountered with this before. Via dashboard to completely delete the user merge button might be helpful, it should merge specific user into another account, but I’ve never used it before. Regarding sql query, @asmecher knows better what can solve the problem without consequences :slight_smile:

Hi all,

The only mechanism for deleting entries in the users table in OJS is via the “merge users” feature. I wonder if a request to merge users was somehow interrupted while it was executing? It would help to know whether that feature has been used, and if so, with what version of OJS.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

I’m the site admin. What roles can merge users ? Because I didn’t do that, but i couldn’t said about the others.

I searched for the missed user_id in the tables and found it in this tables:

email_log_users
notifications
query_participants
roles
stage_assignments

What could I do ? Maybe, only change the stage_assignments register for the new user_id ?

Edit: I can restore this register in a backup of the database. Is this worth ?

Hi @rique,

Only the Site Administrator has access to the Merge Users tool.

I wonder if someone didn’t manually remove user accounts from the database…

I would suggest manually removing the entries from the other tables for which the user_id does not exist. There may be others that don’t refer to it by the name user_id – for example, in review_assignments, the column is reviewer_id (referring to a user_id value in users).

Make sure you take a good backup of your database before manually editing it.

Regards,
Alec Smecher
Public Knowledge Project Team

Is removing better than changing for the new user_id?

Hi @rique,

Depends on how important those records are. If you want to preserve the data, then change for a new user_id; if this was just testing data, for example, then remove.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher and @Vitaliy

I’m made some updates and some deletes. I have backup of the last 6 months, then no problem.

Thank you for your help!