Drop down list of reviewer information not accessible in Add Reviewer

When selecting Add Reviewer the blue arrow does not drop down the reviewer data on most of the entries - but it does on some. I cannot see what is triggering some to work and most not to work?

Screenshot 2021-02-23 at 14.01.50

I’m working with Sue and can follow up that this is a (browser independent) JS error as seen from the browser console…

Further to this, I have reviewed the thread here https://forum.pkp.sfu.ca/t/reviewer-list-wont-load-ojs-3-0-2-0/29677 which seems to centre around a PHP Warning: json_encode(): Invalid UTF-8 sequence in argument

Our error is different - some of the reviewer’s pop_List_Panel_Item_details expand (about 1 in 10) but most just do not expand. I tried inserting the debug line
Something like this before line 162
error_log(print_r($jsonObject, true));
This served to show that jsonObject is correctly generated for both good and bad reviewers - so seem that the issue is occurring between this point and the HTML served.

Nothing else looks concerning in error_log

I have also gone into the database and trawled for odd characters, eg.
select username, email from users inner join user_interests on user_interests.user_id=users.user_id inner join controlled_vocab_entry_settings on user_interests.controlled_vocab_entry_id=controlled_vocab_entry_settings.controlled_vocab_entry_id where setting_name='interest' and setting_value like '%;%';
And deleted any interest values with punctuation characters - also this does not fix the issue

Please can someone help?

@asmecher I see that you have been very helpful in other threads on this site, please can you provide a steer as to what may be causing this … our hosting provider (Kualo) has not been able to help…??

Hi @SteveRoe and @suenugus,

What version of OJS are you using?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi and thanks!

Current version: 3.2.1.1 ( 9 October 2020 - 01:26 PM)
we are planning to upgrade to Open Journal Systems 3.3.0.3 soon

Hi @SteveRoe,

Did you find anything in your PHP error log? If you’re also getting warnings like…

PHP Warning: json_encode(): Invalid UTF-8 sequence in argument

…then it’s likely a data error in some rows of your database relating to the character set configuration.

Regards,
Alec Smecher
Public Knowledge Project Team

Screenshot 2021-03-02 at 16.35.10 Hi @asmecher - I attach my error_log - I just re-hit the Add Reviewer page / expanders at 16:26 ish … also showing a bunch of lines before in cases that helps.

I would be a bit surprised if the DB table has bad characters since I went through and manually rooted out punctuation (’;’, ‘&’) and so on and did not see anything non UTF-8 like.

This is the first time I have seen this error line which looks a bit related…
[02-Mar-2021 16:26:36 UTC] PHP Warning: assert(): No status key could be found for ReviewAssignment

Hi @SteveRoe,

The assertion failure may be relevant; it looks like you have a review assignment with an unexpected status value. Is there any chance that there are code modifications to lib/pkp/classes/submission/reviewAssignment/ReviewAssignment.inc.php? The status constants are determined using getStatus, and the assertion failure comes from getStatusKey; at a glance all the cases generated by getStatus are properly covered by getStatusKey.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher -

No PHP has been touched from the standard build. We use the default template. I have made some changes to the default config.inc.php around session values and date formats. It’s en_US only otherwise.

Short update - I think I have eliminated the getStatus warning from the possibilities. That leaves me back at square one. Any other guidance, please?

Long update - Here’s what I did…

  • Insert some additional error_log ing at line 604 in ReviewAssignment.inc.php (just above the assert)
    error_log(print_r('status=' . $status, true));

  • Checked this was coming out in the log
    [05-Mar-2021 08:54:43 UTC] status=10
    [05-Mar-2021 08:54:43 UTC] PHP Warning: assert(): No status key could be found for ReviewAssignment on 605 failed in /home/academic/public_html/lib/pkp/classes/submission/reviewAssignment/ReviewAssignment.inc.php on line 605

  • Patched ReviewAssignment.inc.php to suppress the error
    603 case REVIEW_ASSIGNMENT_STATUS_CANCELLED:
    604 return ‘submission.review.status.cancelled’;

  • Retested - now no error - but the drop down list still fails in same way (it is consistently the same reviewers who can/can’t expand the drop down)

  • Since ‘date math’ also features in ReviewAssignment.inc.php, and since I have changed the date format config, I also took a look at the dates stored in the DB… these all look to be sensible
    (db date query imageScreenshot 2021-03-05 at 09.24.22 attached)…

I also temporarily reverted the date format changes in config.inc.php to check if that was creating the issue - that did not resolve the issue ;-(

Also,I noticed this comment on thread OJS 3.1.0.1 Problem with prepared emails - #27 by RickMath

I suspect the changed date formats allowed some bad data to enter the system in your test submission. I’d suggest trying with a new test submission to see if the behavior is improved.

So I have created a brand new Submission to rule out bad data arising from date format change coming in via the Submission dates.

Hi @SteveRoe,

Ah, on the review status issue, you’ve rediscovered bug #6300; that has already been fixed starting with 3.2.1-2.

Would you be able to (privately) send me a database dump? That’s probably the quickest way to isolate this further.

Regards,
Alec Smecher
Public Knowledge Project Team