Fatal Error while sending Editor's comment to author

Hello, I’m administering an OJS 2.4.8 system at our University. Today the issue has been submitted by one of our editors - while trying to send Editor’s Decision about declining review (a feature located in Home > User > Editor > Submissions > #review_number > Review > Editor’s Decision > Notify Author) he encountered Fatal Error (as it appeared in error logs). “PHP Fatal error: Call to a member function getEmail() on a non-object in /home/path/to/ojs_instance/classes/submission/sectionEditor/SectionEditorAction.inc.php on line 2056” [code on line 2056 is $authorEmail = $authorUser->getEmail();] it was preceded by another error, so I suspect the first could lead to the second: “PHP Fatal error: Call to a member function getFullName() on a non-object in /home/path/to/ojs_instance/cache/t_compile/%%5A^5AA^5AA9AD09%%management.tpl.php on line 101” [code on line 101 is <?php $this->assign('emailString', ((is_array($_tmp=$this->_tpl_vars['submitter']->getFullName())) ? $this->_run_mod_handler('concat', true, $_tmp, " <", $this->_tpl_vars['submitter']->getEmail(), ">") : $this->_plugins['modifier']['concat'][0][0]->smartyConcat($_tmp, " <", $this->_tpl_vars['submitter']->getEmail(), ">"))); ?>]. The role is assigned to the author. The OJS has been ubgraded recently. The problem seems to be browser independent. In Review History Event Log there in an event “Editor decision submitted” - just like the comment has been sent successfully. Could it be a cache issue? Should I manually clear cache/t_compile? Or is it something else?

Hi @Marg0lin,

It sounds like a data problem to me, potentially an article belonging to an author account that doesn’t exist. Try this query in your database:

SELECT a.article_id, a.user_id FROM articles a LEFT JOIN users u ON (u.user_id = a.user_id) WHERE u.user_id IS NULL;

If you see any results, it’ll indicate a data error with the returned article and user IDs.

Regards,
Alec Smecher
Public Knowledge Project Team

Yes that was a case. Thank you. Somehow the article in a database is assigned to a non-existent user id. Could you give me any hint on how could it happen?

Hi @Marg0lin,

The only way a user account can be deleted is via the “Merge Users” tool, but that should take care of transferring any existing submissions to another account. At a guess, perhaps this was upgraded from an older version of OJS in which that feature was buggy, or perhaps some manual clean-up was done in the database?

Regards,
Alec Smecher
Public Knowledge Project Team