500 error after update to 3_3_0-3

Following the Git upgrade guide, I’m getting a 500 error after checkout out the 3_3_0 branch.

The error log shows me this:

> [Tue Feb 09 06:51:29.520643 2021] [php7:error] [pid 98341] [client 166.48.1.73:54046] PHP Fatal error:  Class Application contains 1 abstract method and must therefore be declared abstract or implement the remaining methods 
> (iPKPApplicationInfoProvider::getPluginSettingsContextColumnName) in /var/www/html/classes/core/Application.inc.php on line 36

Is there something wrong with the code, or something wrong with my implementation?

Hi @brandonw_eln,

Can you double-check that your application and lib/pkp checkouts are both up to date and on the stable-3_3_0 branch? I suspect the OJS installation directory and lib/pkp submodule are mismatched.

Regards,
Alec Smecher
Public Knowledge Project Team

So I was probably doing things wrong when I first set it up, in that I simply kept it on the master branch.

I tried checking out stable-3_3_0 in both the main repo and lib/pkp, but even when they’re matched, I get the error. If I go back to master in both of them, the error goes away (but of course I’m not up to date).

Do I have a way forward from here?

Hi @brandonw_eln,

The method named in the error message:

Class Application contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (iPKPApplicationInfoProvider::getPluginSettingsContextColumnName)

…used to be specified in lib/pkp/classes/core/PKPApplication.inc.php and implemented in classes/core/Application.inc.php. It’s no longer included in 3.3.0 (and does not appear in stable-3_3_0 anywhere) but seems to still exist in your codebase, probably in the lib/pkp submodule. I’d suggest double-checking that your lib/pkp submodule is properly checked out.

Regards,
Alec Smecher
Public Knowledge Project Team