InformationHandler and PKPEditingProductionStatus NotificationManager errors in OJS 3.1.1.2

Hi @asmecher

Couple of errors we keep getting after 3.1.1.2. The first one is clear and there is a suggested fix. The second one is an actual question, could not understand the reason for that.

No rush with these.


Getting a lot of these from search engine related IPs:

PHP Fatal error: Call to a member function getSetting() on null in public_html/pages/information/InformationHandler.inc.php on line 88

These are calls to journal paths that do not exist anymore in our site. Basically a search engine is trying to re-index a page that once existed (oldjournalname/information/authors) but is receiving a 500 error because $request->getJournal() here https://github.com/pkp/ojs/blob/master/pages/information/InformationHandler.inc.php#L88 is not returning anything. This is probably the case with other page handlers as well.

It could be that the 500 error will make the crawler return again later so maybe the page handlers should always give 404 in case a journal is missing altogether?


Unknown assert error in PKPEditingProductionStatusNotificationManager, could not figure out the reason for this. https://github.com/pkp/pkp-lib/blob/master/classes/notification/managerDelegate/PKPEditingProductionStatusNotificationManager.inc.php#L187

PHP Warning: assert(): Assertion failed in /lib/pkp/classes/notification/managerDelegate/PKPEditingProductionStatusNotificationManager.inc.php on line 187, referer: https://site.net/journal/workflow/index/69092/3

These are the corresponding calls from access_log:

[17/Aug/2018:10:04:34 +0300] "POST /journal/$$$call$$$/grid/queries/queries-grid/update-query?queryId=32901&submissionId=69092&stageId=4 HTTP/1.1" 200 95
[17/Aug/2018:10:04:34 +0300] "GET /journal/notification/fetchNotification?_=1534487214091 HTTP/1.1" 200 58
[17/Aug/2018:10:04:34 +0300] "GET /journal/$$$call$$$/grid/queries/queries-grid/fetch-row?submissionId=69092&stageId=4&rowId=32901&_=1534487214090 HTTP/1.1" 200 5273

Hi @ajnyga,

For this error:

PHP Fatal error: Call to a member function getSetting() on null in public_html/pages/information/InformationHandler.inc.php on line 88

I’ve committed a fix: Add context required policy to information handler https://forum.pkp.… · pkp/ojs@95ac1ad · GitHub

For this message:

PHP Warning: assert(): Assertion failed in /lib/pkp/classes/notification/managerDelegate/PKPEditingProductionStatusNotificationManager.inc.php on line 187, referer: https://site.net/journal/workflow/index/69092/3

It looks to me like this code is being a little overzealous – it’s only concerned with stage assignments related to editing and production stages, but the part of the code that fetches stage assignments may end up with other stages as well. The solution I think will be to simply ignore those cases, rather than calling assert(false). I’ll remove the assertion.

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like