Notification Panel just spins

Description of issue or problem I’m having:

Notifications don’t load when opening the notification panel in the top right of the screen

│ [26-Apr-2022 16:42:47 UTC] PHP Fatal error:  Uncaught Error: Call to a member function getLocalizedTitle() on null in /var/www/html/lib/pkp/controllers/grid/notifications/NotificationsGridCellProvider.inc.php:157
│ Stack trace:
│ #0 /var/www/html/lib/pkp/controllers/grid/notifications/NotificationsGridCellProvider.inc.php(44): NotificationsGridCellProvider->_getTitle()
│ #1 /var/www/html/lib/pkp/classes/controllers/grid/GridCellProvider.inc.php(56): NotificationsGridCellProvider->getCellActions()
│ #2 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(1104): GridCellProvider->render()
│ #3 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(1011): GridHandler->_renderCellInternally()
│ #4 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(988): GridHandler->renderRowInternally()
│ #5 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(1033): GridHandler->renderRowsInternally()
│ #6 /var/www/html/lib/pkp/classes/controllers/grid/GridHandler.inc.php(923): GridHandler->renderGridBodyPartsInternally()
│ #7 /var/ww in /var/www/html/lib/pkp/controllers/grid/notifications/NotificationsGridCellProvider.inc.php on line 157

What I tried to resolve the issue:
Sobbed quietly. Tried to look for section_id correlation with submission… but … it seems to not be there.

Application Version - OJS 3.3.0-10:

Additional information, such as screenshots and error log messages if applicable:

Looks like this is the line that it is getting hung up on…

After digging deeper (and with expert guidance from a certain PKP staffer), I was able to determine that there had been a few notifications that had been left behind in the journal split that had occurred. The notifications, since they no longer had corresponding information, were causing the panel to 500 error. First hint was notifications in the notifications table that had context_ids that were no longer valid journal ids (journal_id in the journals table). From there, I was able to find all of the notifications that no longer belonged. After a backup, I was able to delete using DELETE FROM notifications WHERE context_id NOT IN (-the-list-of-valid-context_ids-); I did also confirm that was the case by using error_log to echo the notification id above the line I mentioned above … that showed the notification id that I could then look up in the database notifications table and see that it no longer had a corresponding review round associated with it.

3 Likes

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