Hosted upgrade from 8.2.10 -> 9.0.8 failed - what to do?

From the screenshot it looks like the update already went through, but the error happened during or after the integrity check. While the error itself might be caused by a timeout, the update should be able to rerun without touching the tables if you run it again (possibly after removing the maintenance mode flag).

Is there any new log entry appearing from the time of the rerun ?

I just tried again to re-run the upgrade by setting the maintenance flag in config.php to false, but I again get the very same result: First the entry screen with the Upgrade button, followed by this page:

The only entry in the log file after this is:
{"reqId":"XXX","remoteAddr":"111.222.333.444","app":"core","message":"starting upgrade from 8.2.10.2 to 9.0.8.2","level":0,"time":"2017-03-20T08:57:18+00:00","method":"GET","url":"\/oc\/core\/ajax\/update.php?requesttoken=YYY","user":"--"}

So, what to do with this?

I tested the update locally and it worked fine. I saw that after "Starting code integrity check" there's another message "Finished code integrity check" that must appear. So it is clear that something is going wrong during the integrity check on your instance. Maybe some SSL libraries are not up to date.

Do you have access to the web server error log ? Maybe there is another clue there ?

Else we might need to disable integrity check by hacking the PHP code...

Unfortunately not. I am using a webhoster that gives me access to the PHP error logs (which show no error) but not the web server logs...

The upgrade seems to run pretty fast on re-running it, only the integrity check runs for maybe a minute before that generic error message appears.

Happy to hack something, since this is all just to get upgraded to the very latest version (provided I don't have to hack all the way?)

You say it runs for a whole minute ? It might be that your hoster has limited PHP timeouts to be one minute so the call probably times out.

You can trick OC to not run the integrity check by editing version.php and setting the OC_Channel to "git". Then run the update page again. Then don't forget to set the channel to its original value ! (if you don't, you won't see further automatic updates)

1 Like

That did the trick, thank you very much!!

Regarding the timeout (if that is the problem), isn't there any way to report this to the log or otherwise?
FWIW, I checked my server's PHP setting, and it says 'max_execution_time 50000' - that is 50k seconds, that should be plenty, no?

And: is there a way to be more verbose in the log file, to see what steps the Integrity Check does and where it fails?

Thanks again, now I am on 9.0.8 - on to upgrading to the latest version... :wink:

Sigh. Same thing with the upgrade from 9.0.8 -> 9.1.4:
All upgrading seems to be working fine, until the integrity check kicks in. This takes maybe 2 minutes, just to produce an 'An error occurred' message.

The last few lines of the detailed log on the upgrade page are:

[1 / 4]: Repair unmerged shares
[2 / 4]: Repair unmerged shares
[3 / 4]: Repair unmerged shares
[4 / 4]: Repair unmerged shares
[4 / 4]: Repair unmerged shares
Starting code integrity check
An error occurred.

I guess I'll do the OC_Channel trick again, but something isn't right here...

Hi, I had the same problem, I did the OC-channel trick and the upgrade to 9.0.8 worked fine. I changed the channel to stable again, but don't get the possibility to update to 9.1.4 via updater.

In the administration mode I get Error-messages regarding the file integrity, all files of the _oc-upgrade/tmp folder.

error log

Anything I can do?

Thank you in advance!