[OJS 3.0.2] [solved] Readers get redirected to the Advanced Search

Hi!
Something critically wrong has happened to one of our journals.

Most of the articles in this issue are displayed correctly only for the registered users:
https://ojs.hse.ru/index.php/ecsoc/issue/view/248

All the other users get redirected to the Advanced Search page. We do not seem to have anything special in the logs, except this one:

[Fri Feb 17 16:22:41.047978 2017] [:error] [pid 12759] [client ...:****] ojs2: 404 Not Found

The only clue I have now is that the journal manager tried to experiment with external links to one PDF for all those articles, specifying the starting page for each one:

https://www.hse.ru/data/2017/01/31/1114282611/ecsoc_t18_n1.pdf#page=13
https://www.hse.ru/data/2017/01/31/1114282611/ecsoc_t18_n1.pdf#page=34
etc.

Hi @Ph_We,

That redirect is implemented here: ojs/ArticleHandler.inc.php at ojs-3_0_2-0 · pkp/ojs · GitHub

Can you check the article status to ensure that it’s set to STATUS_PUBLISHED (or 3, as defined in lib/pkp/classes/submission/Submission.inc.php)?

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

Hi @asmecher,

Thanks for answering. Could you please specify, what kind of request we should do to get the status of the article (I cannot do it myself, so I’ll have to ask other people to do that, sorry)?

We also have a lot of such errors in our log:

[Fri Feb 17 09:41:39.518896 2017] [:error] [pid 12763] [client .*...*****] PHP Fatal error: Call to a member function getId() on null in /var/www/html/pages/article/ArticleHandler.inc.php on line 76
[Fri Feb 17 09:44:09.002957 2017] [:error] [pid 12760] [client **.
..:***] PHP Fatal error: Call to a member function getId() on null in /var/www/html/pages/article/ArticleHandler.inc.php on line 76
[Fri Feb 17 09:46:45.394841 2017] [:error] [pid 12762] [client **.
..:***] PHP Fatal error: Call to a member function getId() on null in /var/www/html/pages/article/ArticleHandler.inc.php on line 76
[Fri Feb 17 09:47:43.126436 2017] [:error] [pid 12759] [client **.
..*:***] PHP Fatal error: Call to a member function getId() on null in /var/www/html/pages/article/ArticleHandler.inc.php on line 76

What I can do now is to check their status from my admin account. And their status is uncertain. They are included in the issue (and visible to me in the front-end when I am logged in):

BUT I cannot even find them in the archive to check their status. I can only find this one, which is alone visible to everyone:

Hi @Ph_We,

Do you have access to the database? The quickest thing to do, if so, is to check the status column in the submissions table for a few of the articles by submission_id. (You can pull the submission_id from the submission’s URL.)

Regards,
Alec Smecher
Public Knowledge Project Team

Unfortunately, I do not have access to the DB now, but now I know what we should look for. I’ll get back as soon as we find out the status of those articles)

Hi @Ph_We,

If you can think of anything particular to those articles – e.g. a different order of publication (such as issue first, then articles) or the use of the QuickSubmit plugin or something else, that may help me track down the issue once this status issue is confirmed.

Regards,
Alec Smecher
Public Knowledge Project Team

The QuickSubmit plugin was definitely used for this particular issue. Also, as I said before, the journal manager experimented by providing the same full issue (PDF) as a galley for each of those articles and setting the starting page for each of them (to make pdf.js open it on certain pages). Like this:

https://www.hse.ru/data/2017/01/31/1114282611/ecsoc_t18_n1.pdf#page=13
https://www.hse.ru/data/2017/01/31/1114282611/ecsoc_t18_n1.pdf#page=34

Hi @asmecher,

Here is the query results:

mysql> select * from submissions where submission_id in (2897,2898,2899,2901,3167);
+---------------+--------+------------+------------+----------+-----------+---------------------+---------------------+----------------------+--------+---------------------+---------------+-------+--------------+-------------+----------+
| submission_id | locale | context_id | section_id | language | citations | date_submitted      | last_modified       | date_status_modified | status | submission_progress | current_round | pages | fast_tracked | hide_author | stage_id |
+---------------+--------+------------+------------+----------+-----------+---------------------+---------------------+----------------------+--------+---------------------+---------------+-------+--------------+-------------+----------+
|          2897 | ru_RU  |         11 |        137 | NULL     | NULL      | NULL                | 2017-02-16 12:04:56 | 2017-02-16 12:02:30  |      1 |                   1 |             1 | NULL  |            0 |           0 |        1 |
|          2898 | ru_RU  |         11 |        139 | NULL     | NULL      | NULL                | 2017-02-16 12:15:32 | 2017-02-16 12:05:28  |      1 |                   1 |             1 | NULL  |            0 |           0 |        1 |
|          2899 | ru_RU  |         11 |        140 | NULL     | NULL      | NULL                | 2017-02-16 12:31:45 | 2017-02-16 12:16:02  |      1 |                   1 |             1 | NULL  |            0 |           0 |        1 |
|          2901 | ru_RU  |         11 |        141 | NULL     | NULL      | NULL                | 2017-02-16 12:32:41 | 2017-02-16 12:22:48  |      1 |                   1 |             1 | NULL  |            0 |           0 |        1 |
|          3167 | ru_RU  |         11 |        142 | NULL     | NULL      | 2017-02-17 14:02:09 | 2017-02-17 14:02:09 | 2017-02-17 13:55:26  |      3 |                   0 |             1 |       |            0 |           0 |        5 |
+---------------+--------+------------+------------+----------+-----------+---------------------+---------------------+----------------------+--------+---------------------+---------------+-------+--------------+-------------+----------+

Only the last article (3167) is visible to everyone. All the others are visible to registered users only. Can we do something to tackle this?

Here are some more details. The journal manager says he used Firefox, and when he pressed “Submit” in the QuickSubmit plugin, he got a blank page every time. The articles seemed to be published after that, so he did not pay attention at first…

Hi @Ph_We,

Hmm, that definitely sounds related. I’d suggest checking your error log for anything that might correspond to the same times (or perhaps making a test submission through that plugin and checking the log immediately). As for the database check, yes, the status is definitely wrong and that’s what’s causing the redirect. The quickest solution while we track down the cause is to change the status column to 3 (“published”, to match the working article) as opposed to 1 (“queued”, meaning the article is still in the workflow).

Regards,
Alec Smecher
Public Knowledge Project Team

OK, we’ll try. Would you please let me know what might have gone wrong in this case, if you find it out. So I could warn our users (not to use Firefox with the QuickSubmit, etc.). Thank you!

Hi @Ph_We,

I’m fairly sure it’s nothing browser-specific – the error log will be key in tracking down the root cause, I think.

Regards,
Alec Smecher
Public Knowledge Project Team

Ah yes, I’ll try to get the error log for that time span.

Hi @asmecher,

Here is the log:

[details=Summary][Thu Feb 16 12:04:56.551313 2017] [:error] [pid 8833] [client .*..:48410] PHP Fatal error: Call to a member function getFileId() on null in /var/www/html/plugins/importexport/quickSubmit/QuickSubmitForm.inc.php on line 329, referer: https://ojs.hse.ru/index.php/ecsoc/management/importexport/plugin/QuickSubmitPlugin/saveSubmit
[Thu Feb 16 12:14:32.126072 2017] [:error] [pid 8833] [client .*..
:49112] PHP Fatal error: Call to a member function getFileId() on null in /var/www/html/plugins/importexport/quickSubmit/QuickSubmitForm.inc.php on line 329, referer: https://ojs.hse.ru/index.php/ecsoc/management/importexport/plugin/QuickSubmitPlugin
[Thu Feb 16 12:15:07.752108 2017] [:error] [pid 8834] [client .*..:49270] PHP Warning: include(/var/www/html/cache/fc-pluginSettings-12-webfeedblockplugin.php): failed to open stream: No such file or directory in /var/www/html/lib/pkp/classes/cache/FileCache.inc.php on line 46, referer: https://ojs.hse.ru/index.php/ihe/manageIssues
[Thu Feb 16 12:15:07.752176 2017] [:error] [pid 8834] [client .*..
:49270] PHP Warning: include(): Failed opening ‘/var/www/html/cache/fc-pluginSettings-12-webfeedblockplugin.php’ for inclusion (include_path=’.:/var/www/html/classes:/var/www/html/pages:/var/www/html/lib/pkp:/var/www/html/lib/pkp/classes:/var/www/html/lib/pkp/pages:/var/www/html/lib/pkp/lib/adodb:/var/www/html/lib/pkp/lib/phputf8:/var/www/html/lib/pkp/lib/pqp/classes:/var/www/html/lib/pkp/lib/smarty:.:/usr/share/php’) in /var/www/html/lib/pkp/classes/cache/FileCache.inc.php on line 46, referer: https://ojs.hse.ru/index.php/ihe/manageIssues
[Thu Feb 16 12:21:55.723817 2017] [:error] [pid 8839] [client .*..:49562] PHP Fatal error: Call to a member function getFileId() on null in /var/www/html/plugins/importexport/quickSubmit/QuickSubmitForm.inc.php on line 329, referer: https://ojs.hse.ru/index.php/ecsoc/management/importexport/plugin/QuickSubmitPlugin/saveSubmit
[Thu Feb 16 12:22:17.928693 2017] [:error] [pid 9181] [client .*..
:49888] ojs2: DB Error: Duplicate entry ‘2899’ for key ‘published_submissions_submission_id’, referer: https://ojs.hse.ru/index.php/ecsoc/management/importexport/plugin/QuickSubmitPlugin/saveSubmit
[Thu Feb 16 12:22:21.389187 2017] [:error] [pid 8833] [client .*..:49890] ojs2: DB Error: Duplicate entry ‘2899’ for key ‘published_submissions_submission_id’, referer: https://ojs.hse.ru/index.php/ecsoc/management/importexport/plugin/QuickSubmitPlugin/saveSubmit
[Thu Feb 16 12:22:30.680481 2017] [:error] [pid 8839] [client .*..
:49918] PHP Warning: assert(): Assertion failed in /var/www/html/lib/pkp/classes/notification/managerDelegate/EditingProductionStatusNotificationManager.inc.php on line 188, referer: https://cmd-journal.hse.ru/management/importexport/plugin/QuickSubmitPlugin
[Thu Feb 16 12:22:30.688121 2017] [:error] [pid 8839] [client .*..:49918] PHP Warning: assert(): Assertion failed in /var/www/html/lib/pkp/classes/notification/managerDelegate/EditingProductionStatusNotificationManager.inc.php on line 188, referer: https://cmd-journal.hse.ru/management/importexport/plugin/QuickSubmitPlugin
[Thu Feb 16 12:30:08.533613 2017] [:error] [pid 8834] [client .*..
:50208] PHP Fatal error: Call to a member function getFileId() on null in /var/www/html/plugins/importexport/quickSubmit/QuickSubmitForm.inc.php on line 329, referer: https://ojs.hse.ru/index.php/ecsoc/management/importexport/plugin/QuickSubmitPlugin
[/details]

The most relevant are the issues, including ecsoc in the path.

P.S. Changing the submission status worked fine, thanks!

Hmmm… It seems like the galley didn’t have a file, when using the QuickSubmit plugin… Could it be @Ph_We ? I’ll add a check in the plugin, for these kind of errors not to occur again…

EDIT: This also means that the code after this line where the error occurred was not executed: https://github.com/pkp/quickSubmit/blob/master/QuickSubmitForm.inc.php#L329. Thus, you might want to double check and/or set the locale, date_submitted and submission_progress = 0 for those articles. Also those articles are not indexed.

Best,
Bozana

See the fix for that here: consider galleys with no files · pkp/quickSubmit@f9471e9 · GitHub

@asmecher, should I create a new release package?

Hi @bozana,

I think, that was exactly what happened: as far as I could understand, the journal manager chose “This galley will be available at a separate website” option. Then instead of uploading a file, he gave an URL of this kind:

https://www.hse.ru/data/2017/01/31/1114282611/ecsoc_t18_n1.pdf#page=13

where #page=13 is the starting page of the article per se. The format is compatible with pdf.js.

Could you please confirm that that might have caused the problem?

Hi @Ph_We, yes that was the problem…

1 Like

What should we do to (re)index them?