PKP\jobs\doi\DepositSubmission failing in 3.4.0-9

We have just realised that the DOI deposit job has been failing.

OJS version 3.4.0-9
Funding Plugin version 3.4.0.4

“message”: “Call to a member function getId() on null”,
“code”: 0,
“file”: “*********/plugins/generic/funding/FundingPlugin.inc.php”,
“line”: 327,
“trace”: [
{
“function”: “addCrossrefElement”,
“class”: “FundingPlugin”,
“type”: “->”
},

Any idea how to fix this?

Regards,
Nason

Hello,

I found [OJS] PHP Warning and fatal error · Issue #6774 · pkp/pkp-lib · GitHub and followed so I hope it fixes my problem. I will update with the results. I was also getting similar error Uncaught Error: Call to a member function getId() on null on OAI.

This is what I did after taking backup of the database.

DELETE FROM submission_file_revisions WHERE submission_file_id IN (SELECT sf.submission_file_id FROM submission_files sf LEFT JOIN notes n ON (sf.assoc_id = n.note_id) WHERE sf.assoc_type = 520 AND n.note_id IS NULL);

DELETE from submission_files where submission_file_id in (SELECT sf.submission_file_id FROM submission_files sf LEFT JOIN notes n ON (sf.assoc_id = n.note_id) WHERE sf.assoc_type = 520 AND n.note_id IS NULL);

Thanks,

Nason

1 Like

Hello,

I am afraid I am getting the same errors (OAI is also failing). Has anyone got a better idea?

Thanks,

Nason

Hello,

I am also seeing the following.

Payload snippet
{
“uuid”: “15c62315-f708-4877-a31a-d955fb4a4ba7”,
“displayName”: “PKP\jobs\doi\DepositSubmission”,
“job”: “Illuminate\Queue\CallQueuedHandler@call”,
“maxTries”: 3,
“maxExceptions”: 3,
“failOnTimeout”: true,
“backoff”: “5”,
“timeout”: 60,
“retryUntil”: null,
“data”: {
“commandName”: “PKP\jobs\doi\DepositSubmission”,
“command”: "O:30:"PKP\jobs\doi\DepositSubmission":5:{s:15:"\u0000*\u0000submissionId";i:20847;s:10:"\u0000*\u0000context";O:19:"APP\journal\Journal":6:{s:5:"_data";a:100:{s:2:"id";i:15;s:7:"urlPath";s:6:"obiter";s:7:"enabled";b:1;s:3:"seq";i:6;s:13:"primaryLocale";s:2:

Error snippet

{
“message”: “Call to a member function getSubmissionFilter() on null”,
“code”: 0,
“file”: “/var/www/journals.assaf.org.za/plugins/generic/crossref/CrossrefPlugin.php”,
“line”: 294,
“trace”: [
{
“file”: “/var/www/journals.assaf.org.za/lib/pkp/jobs/doi/DepositSubmission.php”,
“line”: 63,
“function”: “depositSubmissions”,
“class”: “APP\plugins\generic\crossref\CrossrefPlugin”,
“type”: “->”
},

Can someone please guide me on what to look for? I have located the submission but I have no clue what getSubmissionFilter() does.

Thanks,

Nason

Hi @Nason_Bimbe,

It looks like you’re missing some filter configuration in your database. What do you get for the following SQL query?

SELECT * FROM filter_groups WHERE symbolic = 'article=>crossref-xml';

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

This is what I get.

MariaDB [ojs]> SELECT * FROM filter_groups WHERE symbolic = ‘article=>crossref-xml’;
±----------------±----------------------±------------------------------------------±------------------------------------------±---------------------------------------±----------------------------------------------------------------+
| filter_group_id | symbolic | display_name | description | input_type | output_type |
±----------------±----------------------±------------------------------------------±------------------------------------------±---------------------------------------±----------------------------------------------------------------+
| 54 | article=>crossref-xml | plugins.importexport.crossref.displayName | plugins.importexport.crossref.description | class::classes.submission.Submission | xml::schema(https://www.crossref.org/schemas/crossref5.3.1.xsd) |
±----------------±----------------------±------------------------------------------±------------------------------------------±---------------------------------------±----------------------------------------------------------------+
1 row in set (0.001 sec)

Thanks,

Nason

Hi @Nason_Bimbe,

And for this one?

SELECT * FROM filters WHERE filter_group_id=54;

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

This is what I get

MariaDB [ojs]> SELECT * FROM filters WHERE filter_group_id=54;
±----------±----------------±-----------±----------------------------±-------------------------------------------------------------±------------±-----------------±----+
| filter_id | filter_group_id | context_id | display_name | class_name | is_template | parent_filter_id | seq |
±----------±----------------±-----------±----------------------------±-------------------------------------------------------------±------------±-----------------±----+
| 80 | 54 | 0 | Crossref XML article export | APP\plugins\generic\crossref\filter\ArticleCrossrefXmlFilter | 0 | 0 | 0 |
±----------±----------------±-----------±----------------------------±-------------------------------------------------------------±------------±-----------------±----+
1 row in set (0.001 sec)

Thanks,

Nason

Hi @Nason_Bimbe,

What is your jobs configuration? Are you using the job_runner in config.inc.php, or do you have tasks running e.g. via Cron jobs?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

I have in config.inc.php
scheduled_tasks = On

I also have in crontab
@daily php /path/to/OJS/tools/runScheduledTasks.php lib/pkp/plugins/generic/usageStats/scheduledTasksAutoStage.xml

Thanks,
Nason

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