Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updater fails to complete (step Delete old files) / Could not rmdir #158

Open
caco3 opened this issue Feb 24, 2018 · 41 comments
Open

Updater fails to complete (step Delete old files) / Could not rmdir #158

caco3 opened this issue Feb 24, 2018 · 41 comments

Comments

@caco3
Copy link

caco3 commented Feb 24, 2018

I believe issue nextcloud/server#2737 is not properly solved yet in NC13.0.0.
See discussions in above issue.

Summary:

  • The step "Delete old files" fails with a message like "Could not rmdir: /home//www//nc-test/nextcloud/updater/../core/doc/admin/_images".
  • Pressing retry helps but must be done a dozen times (update will finally complete).
  • This issue is known to occur reproducibly on a FreeBSD 10.3 on a virtual server of the hoster hostpoint.ch, hos ever it might be that it also occurs on other BSDs (See comment of a user from Canada: Updater fails to complete server#2737 (comment)) .

To trace it further down, I added the lines

                $this->log("## recursiveDelete: deleting folder $folder");
		foreach ($directories as $dir) {
			$this->log("#### recursiveDelete: $dir");
		}

after

		foreach ($files as $file) {
			unlink($file);
		}

in the function recursiveDelete in updater/index.php.
This gives the following updater.log (shortened) below.
The recursiveDelete seems to work fine for many many times, but then suddenly fails with the message

2018-02-07T22:11:38+0100 Nv5wo8Bsbf [error] POST request failed with other exception
2018-02-07T22:11:38+0100 Nv5wo8Bsbf [error] Exception: Exception
Message: Could not rmdir: /home/***/www/***/nc-test/nextcloud/updater/../core/doc/admin/_images
Code:0
Trace:
#0 /home/***/www/***/nc-test/nextcloud/updater/index.php(1316): Updater->deleteOldFiles()
#1 {main}
File:/home/***/www/***/nc-test/nextcloud/updater/index.php
Line:943

Against my initial thought, this seems not to be caused by a rmdir failure!

updater.log

2018-02-07T22:03:49+0100 NPXnWlJMbo [info] request to updater
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] currentStep()
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] show HTML page
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] current version: 13.0.0 RC 1 build time: 2018-01-11T19:40:31+00:00 4f30c2fbe43e0d6f24ba3bff881526b2b6c2747d
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] getUpdateServerResponse()
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] releaseChannel: beta
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] internal version: 13.0.0.10
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x0x10xxxbetaxx2018-01-11T19%3A40%3A31%2B00%3A00+4f30c2fbe43e0d6f24ba3bff881526b2b6c2747dx5x6x33
2018-02-07T22:03:49+0100 NPXnWlJMbo [info] getUpdateServerResponse response: Array
(
    [version] => 13.0.0.14
    [versionstring] => Nextcloud 13.0.0
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.0.zip
    [web] => https://docs.nextcloud.com/server/12/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [signature] => q5bqFR15JaWW6oGM+iNtC7JoDsRHPXAkySJ5TMgcbAfajheMUwgQtytK2S1vpJd7
UbhO5CfWStBQKFNR6/tV6R++xLbIBZgXhvjLtpciug+dNBMANZNUiqEbdYLZSWEp
Y3HOk087s3o0wazQ/kLDmFmCzW8bngpcI1rRDJTXCS6uf/0BVatOaIoByJRkArnw
ir+Hd8swyREt3jrngeePu6/ZrB+5toGcEHaSCmTNwJ7ipKnwi3mPP0XcGWJVswzY
WpeJUBR9OkzLQ8Y6sKIEOZrDBsoSjFp0YN6Adgbxgbd4UPwgaJVOFdfuW18RNWWw
Tx/vStIU+zA9/Yan/RotKg==
)

2018-02-07T22:03:49+0100 NPXnWlJMbo [info] checkForUpdate() Array
(
    [version] => 13.0.0.14
    [versionstring] => Nextcloud 13.0.0
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.0.zip
    [web] => https://docs.nextcloud.com/server/12/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [signature] => q5bqFR15JaWW6oGM+iNtC7JoDsRHPXAkySJ5TMgcbAfajheMUwgQtytK2S1vpJd7
UbhO5CfWStBQKFNR6/tV6R++xLbIBZgXhvjLtpciug+dNBMANZNUiqEbdYLZSWEp
Y3HOk087s3o0wazQ/kLDmFmCzW8bngpcI1rRDJTXCS6uf/0BVatOaIoByJRkArnw
ir+Hd8swyREt3jrngeePu6/ZrB+5toGcEHaSCmTNwJ7ipKnwi3mPP0XcGWJVswzY
WpeJUBR9OkzLQ8Y6sKIEOZrDBsoSjFp0YN6Adgbxgbd4UPwgaJVOFdfuW18RNWWw
Tx/vStIU+zA9/Yan/RotKg==
)

2018-02-07T22:03:49+0100 NPXnWlJMbo [info] end of checkForUpdate() Update to Nextcloud 13.0.0 available. (channel: "beta")<br /><span class="light">Following file will be downloaded automatically:</span> <code class="light">https://download.nextcloud.com/server/releases/nextcloud-13.0.0.zip</code>
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] request to updater
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] currentStep()
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] POST request for step "1"
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] startStep("1")
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] checkForExpectedFilesAndFolders()
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] end of checkForExpectedFilesAndFolders()
2018-02-07T22:05:51+0100 fE2PeuhpO0 [info] endStep("1")
2018-02-07T22:05:51+0100 JQw86bhs34 [info] request to updater
2018-02-07T22:05:51+0100 JQw86bhs34 [info] currentStep()
2018-02-07T22:05:51+0100 JQw86bhs34 [info] Step 1 is in state "end".
2018-02-07T22:05:51+0100 JQw86bhs34 [info] POST request for step "2"
2018-02-07T22:05:51+0100 JQw86bhs34 [info] startStep("2")
2018-02-07T22:05:51+0100 JQw86bhs34 [info] checkWritePermissions()
2018-02-07T22:05:51+0100 JQw86bhs34 [info] end of checkWritePermissions()
2018-02-07T22:05:51+0100 JQw86bhs34 [info] endStep("2")
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] request to updater
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] currentStep()
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] Step 2 is in state "end".
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] POST request for step "3"
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] startStep("3")
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] setMaintenanceMode("true")
2018-02-07T22:05:51+0100 h1rdmb0yzV [info] configFileName /home/***/www/***/nc-test/nextcloud/updater/../config/config.php
2018-02-07T22:05:52+0100 h1rdmb0yzV [info] end of setMaintenanceMode()
2018-02-07T22:05:52+0100 h1rdmb0yzV [info] endStep("3")
2018-02-07T22:05:52+0100 MPAPEPjVe7 [info] request to updater
2018-02-07T22:05:52+0100 MPAPEPjVe7 [info] currentStep()
2018-02-07T22:05:52+0100 MPAPEPjVe7 [info] Step 3 is in state "end".
2018-02-07T22:05:52+0100 MPAPEPjVe7 [info] POST request for step "4"
2018-02-07T22:05:52+0100 MPAPEPjVe7 [info] startStep("4")
2018-02-07T22:05:52+0100 MPAPEPjVe7 [info] createBackup()
2018-02-07T22:09:31+0100 MPAPEPjVe7 [info] end of createBackup()
2018-02-07T22:09:31+0100 MPAPEPjVe7 [info] endStep("4")
2018-02-07T22:09:31+0100 WXYs64DnxH [info] request to updater
2018-02-07T22:09:31+0100 WXYs64DnxH [info] currentStep()
2018-02-07T22:09:31+0100 WXYs64DnxH [info] Step 4 is in state "end".
2018-02-07T22:09:31+0100 WXYs64DnxH [info] POST request for step "5"
2018-02-07T22:09:31+0100 WXYs64DnxH [info] startStep("5")
2018-02-07T22:09:32+0100 WXYs64DnxH [info] downloadUpdate()
2018-02-07T22:09:32+0100 WXYs64DnxH [info] getUpdateServerResponse()
2018-02-07T22:09:32+0100 WXYs64DnxH [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-02-07T22:09:32+0100 WXYs64DnxH [info] releaseChannel: beta
2018-02-07T22:09:32+0100 WXYs64DnxH [info] internal version: 13.0.0.10
2018-02-07T22:09:32+0100 WXYs64DnxH [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x0x10xxxbetaxx2018-01-11T19%3A40%3A31%2B00%3A00+4f30c2fbe43e0d6f24ba3bff881526b2b6c2747dx5x6x33
2018-02-07T22:09:32+0100 WXYs64DnxH [info] getUpdateServerResponse response: Array
(
    [version] => 13.0.0.14
    [versionstring] => Nextcloud 13.0.0
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.0.zip
    [web] => https://docs.nextcloud.com/server/12/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [signature] => q5bqFR15JaWW6oGM+iNtC7JoDsRHPXAkySJ5TMgcbAfajheMUwgQtytK2S1vpJd7
UbhO5CfWStBQKFNR6/tV6R++xLbIBZgXhvjLtpciug+dNBMANZNUiqEbdYLZSWEp
Y3HOk087s3o0wazQ/kLDmFmCzW8bngpcI1rRDJTXCS6uf/0BVatOaIoByJRkArnw
ir+Hd8swyREt3jrngeePu6/ZrB+5toGcEHaSCmTNwJ7ipKnwi3mPP0XcGWJVswzY
WpeJUBR9OkzLQ8Y6sKIEOZrDBsoSjFp0YN6Adgbxgbd4UPwgaJVOFdfuW18RNWWw
Tx/vStIU+zA9/Yan/RotKg==
)

2018-02-07T22:09:35+0100 WXYs64DnxH [info] end of downloadUpdate()
2018-02-07T22:09:35+0100 WXYs64DnxH [info] endStep("5")
2018-02-07T22:09:35+0100 rOIT2543DE [info] request to updater
2018-02-07T22:09:35+0100 rOIT2543DE [info] currentStep()
2018-02-07T22:09:35+0100 rOIT2543DE [info] Step 5 is in state "end".
2018-02-07T22:09:35+0100 rOIT2543DE [info] POST request for step "6"
2018-02-07T22:09:35+0100 rOIT2543DE [info] startStep("6")
2018-02-07T22:09:35+0100 rOIT2543DE [info] verifyIntegrity()
2018-02-07T22:09:35+0100 rOIT2543DE [info] getUpdateServerResponse()
2018-02-07T22:09:35+0100 rOIT2543DE [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-02-07T22:09:35+0100 rOIT2543DE [info] releaseChannel: beta
2018-02-07T22:09:35+0100 rOIT2543DE [info] internal version: 13.0.0.10
2018-02-07T22:09:35+0100 rOIT2543DE [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x0x10xxxbetaxx2018-01-11T19%3A40%3A31%2B00%3A00+4f30c2fbe43e0d6f24ba3bff881526b2b6c2747dx5x6x33
2018-02-07T22:09:35+0100 rOIT2543DE [info] getUpdateServerResponse response: Array
(
    [version] => 13.0.0.14
    [versionstring] => Nextcloud 13.0.0
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.0.zip
    [web] => https://docs.nextcloud.com/server/12/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [signature] => q5bqFR15JaWW6oGM+iNtC7JoDsRHPXAkySJ5TMgcbAfajheMUwgQtytK2S1vpJd7
UbhO5CfWStBQKFNR6/tV6R++xLbIBZgXhvjLtpciug+dNBMANZNUiqEbdYLZSWEp
Y3HOk087s3o0wazQ/kLDmFmCzW8bngpcI1rRDJTXCS6uf/0BVatOaIoByJRkArnw
ir+Hd8swyREt3jrngeePu6/ZrB+5toGcEHaSCmTNwJ7ipKnwi3mPP0XcGWJVswzY
WpeJUBR9OkzLQ8Y6sKIEOZrDBsoSjFp0YN6Adgbxgbd4UPwgaJVOFdfuW18RNWWw
Tx/vStIU+zA9/Yan/RotKg==
)

2018-02-07T22:09:35+0100 rOIT2543DE [info] storage location: /home/***/www/***/nc-test/data/updater-occj10ln2to7/downloads/
2018-02-07T22:09:38+0100 rOIT2543DE [info] end of verifyIntegrity()
2018-02-07T22:09:38+0100 rOIT2543DE [info] endStep("6")
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] request to updater
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] currentStep()
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] Step 6 is in state "end".
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] POST request for step "7"
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] startStep("7")
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] extractDownload()
2018-02-07T22:09:38+0100 Yqtzg7oz3C [info] storage location: /home/***/www/***/nc-test/data/updater-occj10ln2to7/downloads/
2018-02-07T22:11:03+0100 Yqtzg7oz3C [info] end of extractDownload()
2018-02-07T22:11:03+0100 Yqtzg7oz3C [info] endStep("7")
2018-02-07T22:11:03+0100 HZAFrGK53h [info] request to updater
2018-02-07T22:11:03+0100 HZAFrGK53h [info] currentStep()
2018-02-07T22:11:03+0100 HZAFrGK53h [info] Step 7 is in state "end".
2018-02-07T22:11:03+0100 HZAFrGK53h [info] POST request for step "8"
2018-02-07T22:11:03+0100 HZAFrGK53h [info] startStep("8")
2018-02-07T22:11:03+0100 HZAFrGK53h [info] replaceEntryPoints()
2018-02-07T22:11:03+0100 HZAFrGK53h [info] replace index.php
2018-02-07T22:11:04+0100 HZAFrGK53h [info] replace status.php
2018-02-07T22:11:04+0100 HZAFrGK53h [info] replace remote.php
2018-02-07T22:11:04+0100 HZAFrGK53h [info] replace public.php
2018-02-07T22:11:04+0100 HZAFrGK53h [info] replace ocs/v1.php
2018-02-07T22:11:04+0100 HZAFrGK53h [info] replace ocs/v2.php
2018-02-07T22:11:04+0100 HZAFrGK53h [info] end of replaceEntryPoints()
2018-02-07T22:11:04+0100 HZAFrGK53h [info] endStep("8")
2018-02-07T22:11:04+0100 Nv5wo8Bsbf [info] request to updater
2018-02-07T22:11:04+0100 Nv5wo8Bsbf [info] currentStep()
2018-02-07T22:11:04+0100 Nv5wo8Bsbf [info] Step 8 is in state "end".
2018-02-07T22:11:04+0100 Nv5wo8Bsbf [info] POST request for step "9"
2018-02-07T22:11:04+0100 Nv5wo8Bsbf [info] startStep("9")
2018-02-07T22:11:04+0100 Nv5wo8Bsbf [info] deleteOldFiles()
2018-02-07T22:11:05+0100 Nv5wo8Bsbf ## recursiveDelete: deleting folder /home/***/www/***/nc-test/nextcloud/updater/../apps/activity
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/js
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/l10n/.tx
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/l10n
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/templates/settings
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/templates
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/css
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/img
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Formatter
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Settings
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Command
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Parameter
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/AppInfo
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Migration
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Exception
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Filter
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Extension
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/Controller
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib/BackgroundJob
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/lib
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/appinfo
2018-02-07T22:11:05+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/activity/docs
[..]
2018-02-07T22:11:34+0100 Nv5wo8Bsbf ## recursiveDelete: deleting folder /home/***/www/***/nc-test/nextcloud/updater/../apps/user_ldap
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/js/wizard
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/js
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/vendor/ui-multiselect/src
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/vendor/ui-multiselect
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/vendor
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/l10n
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/templates
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/css
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/img
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/ajax
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/composer/composer
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/composer
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Settings
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Command
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/AppInfo
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Migration
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/User
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Jobs
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Notification
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Mapping
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Exceptions
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib/Controller
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/lib
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/user_ldap/appinfo
2018-02-07T22:11:34+0100 Nv5wo8Bsbf ## recursiveDelete: deleting folder /home/***/www/***/nc-test/nextcloud/updater/../apps/workflowengine
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/js
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/l10n
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/templates
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/css
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/lib/Settings
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/lib/AppInfo
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/lib/Check
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/lib/Controller
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/lib
2018-02-07T22:11:34+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/apps/workflowengine/appinfo
2018-02-07T22:11:35+0100 Nv5wo8Bsbf [info] config sample exists
2018-02-07T22:11:35+0100 Nv5wo8Bsbf [info] themes README exists
2018-02-07T22:11:35+0100 Nv5wo8Bsbf ## recursiveDelete: deleting folder /home/***/www/***/nc-test/nextcloud/updater/../themes/example/
2018-02-07T22:11:35+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/themes/example/core/css
2018-02-07T22:11:35+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/themes/example/core/img
2018-02-07T22:11:35+0100 Nv5wo8Bsbf #### recursiveDelete: /home/***/www/***/nc-test/nextcloud/themes/example/core
2018-02-07T22:11:38+0100 Nv5wo8Bsbf [error] POST request failed with other exception
2018-02-07T22:11:38+0100 Nv5wo8Bsbf [error] Exception: Exception
Message: Could not rmdir: /home/***/www/***/nc-test/nextcloud/updater/../core/doc/admin/_images
Code:0
Trace:
#0 /home/***/www/***/nc-test/nextcloud/updater/index.php(1316): Updater->deleteOldFiles()
#1 {main}
File:/home/***/www/***/nc-test/nextcloud/updater/index.php
Line:943

2018-02-07T22:11:38+0100 Nv5wo8Bsbf [info] rollbackChanges("9")
2018-02-07T22:11:38+0100 Nv5wo8Bsbf [info] unlink .step
2018-02-07T22:11:38+0100 Nv5wo8Bsbf [info] rollbackChanges - step >= 7
2018-02-07T22:11:38+0100 Nv5wo8Bsbf [info] end of  rollbackChanges()

Server configuration detail

Operating system: FreeBSD 10.3-RELEASE-p24 FreeBSD 10.3-RELEASE-p24 #14 r326012M: Mon Nov 20 12:42:55 UTC 2017 [email protected]:/usr/obj/usr/src/sys/HOSTPOINT amd64

Webserver: Apache/2.4 (cgi-fcgi)

Database: mysql 10.1.26

PHP version: 5.6.33
Modules loaded: Core, date, ereg, libxml, pcre, Reflection, SPL, hash, session, cgi-fcgi, standard, recode, apcu, bcmath, bz2, calendar, ctype, curl, dba, dbase, dom, mbstring, fileinfo, filter, ftp, gd, geoip, gettext, gmp, gnupg, mysqlnd, iconv, imagick, imap, intl, jsmin, json, ldap, exif, mcrypt, mssql, mysql, mysqli, ncurses, odbc, openssl, pcntl, PDO, pgsql, posix, pspell, readline, SimpleXML, snmp, soap, sockets, sqlite3, ssh2, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlwriter, yaml, zip, zlib, mailparse, mongodb, PDFlib, pdo_dblib, pdo_mysql, pdo_pgsql, pdo_sqlite, Phar, scrypt, syck, wddx, xmlreader, xmlrpc, xsl, mhash, apc, Zend OPcache

Nextcloud version: 13.0.0 - 13.0..10

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: updater

Signing status

Array

List of activated apps
Enabled:
 - activity: 2.6.1
 - admin_audit: 1.3.0
 - calendar: 1.6.0
 - comments: 1.3.0
 - contacts: 2.0.1
 - dav: 1.4.6
 - federatedfilesharing: 1.3.1
 - federation: 1.3.0
 - files: 1.8.0
 - files_external: 1.4.1
 - files_pdfviewer: 1.2.0
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - files_versions: 1.6.0
 - files_videoplayer: 1.2.0
 - firstrunwizard: 2.2.1
 - gallery: 18.0.0
 - issuetemplate: 0.3.0
 - keeweb: 0.4.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - nextcloud_announcements: 1.2.0
 - notifications: 2.1.2
 - oauth2: 1.1.0
 - password_policy: 1.3.0
 - provisioning_api: 1.3.0
 - serverinfo: 1.3.0
 - sharebymail: 1.3.0
 - survey_client: 1.1.0
 - systemtags: 1.3.0
 - theming: 1.4.1
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - workflowengine: 1.3.0
Disabled:
 - bruteforcesettings
 - encryption
 - files_accesscontrol
 - socialsharing_email
 - user_external
 - user_ldap

Configuration (config/config.php)
{
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "13.0..10",
    "installedat": "1334086349.5631",
    "lastupdatedat": "1334087083.9888",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "maxZipInputSize": 419430400,
    "allowZipDownload": true,
    "theme": "",
    "maintenance": false,
    "loglevel": 3,
    "trusted_domains": [
        "owncloud.***.ch",
        "www.***.ch",
        "***.ch"
    ],
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpmode": "php",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trashbin_retention_obligation": "auto, auto",
    "appstore.experimental.enabled": true,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "updater.release.channel": "stable",
    "overwrite.cli.url": "https:\/\/owncloud.***.ch",
    "updater.secret": "***REMOVED SENSITIVE VALUE***"
}
@ggeorgg
Copy link

ggeorgg commented May 13, 2018

I have the same problem. Update progress stucks on OpenSUSE Tumbleweed with Apache php7.2 and MariaDB. I also tried to add some debugging lines to the recursiveDelete function:

private function recursiveDelete($folder) {
		if(!file_exists($folder)) {
				return;
		}
		$iterator = new \RecursiveIteratorIterator(
				new \RecursiveDirectoryIterator($folder, \RecursiveDirectoryIterator::SKIP_DOTS),
				\RecursiveIteratorIterator::CHILD_FIRST
		);

		$directories = array();
		$files = array();

		foreach ($iterator as $fileInfo) {
			$this->log("#### FileInfo: $fileInfo");

			$this->log("#### RealPath: $fileInfo->getRealPath()");

				if ($fileInfo->isDir()) {
						$directories[] = $fileInfo->getRealPath();
				} else {
						$files[] = $fileInfo->getRealPath();
				}
		}

		foreach ($files as $file) {
				unlink($file);
				$this->log("#### unlink file: $file");
		}

		foreach ($directories as $dir) {
				rmdir($dir);
				$this->log("#### rmdir directory: $dir");

		}

		$state = rmdir($folder);
		$this->log("#### folder: $folder");
		if($state === false) {
				throw new \Exception('Could not rmdir ' . $folder);
		}
}

I am wondering about why the updater.log file looks like this afterwards:

2018-05-13T10:02:07+0000 vGUkGOwxEu [info] deleteOldFiles()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_CL.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_CL.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_CO.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_CO.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_CR.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_CR.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_DO.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_DO.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_EC.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_EC.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_GT.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_GT.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_HN.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_HN.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_NI.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_NI.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PA.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PA.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PE.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PE.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PR.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PR.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PY.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_PY.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_SV.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_SV.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_UY.js
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n/es_UY.json
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### FileInfo: /srv/www/htdocs/nextcloud/updater/../apps/activity/l10n
2018-05-13T10:02:07+0000 vGUkGOwxEu #### RealPath: ()
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### unlink file: 
2018-05-13T10:02:07+0000 vGUkGOwxEu #### rmdir directory: /srv/www/htdocs/nextcloud/apps/activity/l10n
2018-05-13T10:02:07+0000 vGUkGOwxEu #### folder: /srv/www/htdocs/nextcloud/updater/../apps/activity
2018-05-13T10:02:07+0000 vGUkGOwxEu [error] POST request failed with other exception
2018-05-13T10:02:07+0000 vGUkGOwxEu [error] Exception: Exception
Message: Could not rmdir /srv/www/htdocs/nextcloud/updater/../apps/activity

Is it possible, that the unlink file fails, because there is no path given to the function and therefore the files are not deleted? This would furthermore lead to an error in deleting the directory l10n an the folder activity.

So if I change

$files[] = $fileInfo->getRealPath(); 

to

$files[] = $fileInfo;

I get a bit further. The error is now:
Message: Could not rmdir: /srv/www/htdocs/nextcloud/updater/../3rdparty/doctrine/collections

I have to add, that I didn't really configure my apache2. So maybe it is just a misconfiguration?

@ggeorgg
Copy link

ggeorgg commented May 13, 2018

I just did further investigations: The "LICENSE"-files which are in the subfolder of 3drparty are not deleted. This is why the directory deletion fails. If I delete these files manually, the updater proceeds a bit...

The "LICENSE"-files are not recognized as a folder nor as a file! Is this the normal behavior?

@ggeorgg
Copy link

ggeorgg commented May 13, 2018

I think I have two "errors" here:

  1. $files[] = $fileInfo->getRealPath();
    is not always returning the path to a file which needs to be deleted
    Dirty solution: Replace this line with $files[] = $fileInfo;

  2. if($fileInfo->isFile()) {
    can't deal with LICENSE-files
    Dirty solution: Add
    else {
    $state = unlink($path);
    if($state === false) {
    throw new \Exception('Could not unlink: '.$path);
    }
    }
    after line
    }

This let me use the web based updater. Maybe this problem occurs because I installed nextcloud via
sudo zypper in nextcloud
but wanted to update it via nextcloud web based updater...

I now changed the installation method of nextcloud to the setup-nextcloud.php. With this method the problem has vanished on my system.
Hope this helps others as well.

@caco3
Copy link
Author

caco3 commented May 14, 2018

I don't think that the LICENSE files are the reason for the issue, at least in my case. I rather think that on your part there is an issue with files without a file extension. Looking through the files the LICENSE files might be the only files without a file extension!

Nevertheless, I tried your patches, but they did not solve the issue on my side.

I then how ever again invested several hours to trace down the issue.
Before the lines

throw new \Exception('Could not rmdir ' . $folder);
and
throw new \Exception('Could not rmdir: '.$path);
I added the the following lines:

                        $files = scandir($folder);
                        $this->silentLog("#### recursiveDelete: $folder, count:" . count($files));

respectively

                                        $files = scandir($path);
                                        $this->silentLog("#### deleteOldFiles: $path, count:" . count($files));

This lead to the following updater log:

[..]
2018-05-14T23:22:52+0200 97V8Sv3fGm [info] startStep("9")
2018-05-14T23:22:52+0200 97V8Sv3fGm [info] deleteOldFiles()
2018-05-14T23:23:07+0200 97V8Sv3fGm [info] config sample exists
2018-05-14T23:23:07+0200 97V8Sv3fGm [info] themes README exists
2018-05-14T23:23:09+0200 97V8Sv3fGm #### deleteOldFiles: /home/****/www/****/n/nextcloud/updater/../core/doc/admin/_images, count:35
2018-05-14T23:23:09+0200 97V8Sv3fGm [error] POST request failed with other exception
2018-05-14T23:23:09+0200 97V8Sv3fGm [error] Exception: Exception
Message: Could not rmdir: /home/****/www/****/n/nextcloud/updater/../core/doc/admin/_images
Code:0
Trace:
#0 /home/****/www/****/n/nextcloud/updater/index.php(1313): Updater->deleteOldFiles()
#1 {main}
File:/home/****/www/****/n/nextcloud/updater/index.php
Line:940

This clearly proves that the folder is not empty and therefore can not be rmdired.
IMO the RecursiveDirectoryIterator does not work as desired!

@MorrisJobke and @LukasReschke can you please have a look on it? This is a really nasty bug!

Side notes:

  1. On my server, it always fails first on the folder core/doc/admin/_images and then settings/l10n.
  2. My guess would be that recursion somehow does not work properly. All my tries to recursively call recursiveDelete() failed. Most likely because of too many iterations.

@MorrisJobke
Copy link
Member

Could you log the $files and $folders via $this->silentLog(json_encode([$files, $folders]));? And also check your filesystem what is in there before the updater runs?

Could you also check what is in those two folders after the updater runs? Is there anything left in those folders?

@ggeorgg
Copy link

ggeorgg commented May 15, 2018

What I did to install nextcloud:
zypper in nextcloud
sudo rm /srv/www/htdocs/nextcloud/search/ -R (I have to delete this folder, otherwise the updater stucks in "Check for expected files)
sudo chown -R wwwrun:wwwrun /srv/www/htdocs/nextcloud/
sudo find /srv/www/htdocs/nextcloud/ -type d -exec chmod 755 {} ;
sudo find /srv/www/htdocs/nextcloud/ -type f -exec chmod 644 {} ;

File structure before the update:

total 704
drwxrwxr-x 1 wwwrun www 2314 May 15 19:11 .
drwxrwxr-x 1 wwwrun www   94 May 15 19:11 ..
-rw-rw-r-- 1 wwwrun www    0 Apr 26 09:21 .gitkeep
drwxrwxr-x 1 wwwrun www   12 May 15 19:11 .tx
-rw-rw-r-- 1 wwwrun www 3172 Apr 26 09:21 af.js
-rw-rw-r-- 1 wwwrun www 3164 Apr 26 09:21 af.json
-rw-rw-r-- 1 wwwrun www 4084 Apr 26 09:21 ar.js
-rw-rw-r-- 1 wwwrun www 4076 Apr 26 09:21 ar.json
-rw-rw-r-- 1 wwwrun www 2426 Apr 26 09:21 ast.js
-rw-rw-r-- 1 wwwrun www 2418 Apr 26 09:21 ast.json
-rw-rw-r-- 1 wwwrun www 1269 Apr 26 09:21 az.js
-rw-rw-r-- 1 wwwrun www 1261 Apr 26 09:21 az.json
-rw-rw-r-- 1 wwwrun www 4333 Apr 26 09:21 bg.js
-rw-rw-r-- 1 wwwrun www 4325 Apr 26 09:21 bg.json
-rw-rw-r-- 1 wwwrun www 1339 Apr 26 09:21 bn_BD.js
-rw-rw-r-- 1 wwwrun www 1331 Apr 26 09:21 bn_BD.json
-rw-rw-r-- 1 wwwrun www  948 Apr 26 09:21 br.js
-rw-rw-r-- 1 wwwrun www  940 Apr 26 09:21 br.json
-rw-rw-r-- 1 wwwrun www 3335 Apr 26 09:21 ca.js
-rw-rw-r-- 1 wwwrun www 3327 Apr 26 09:21 ca.json
-rw-rw-r-- 1 wwwrun www 3337 Apr 26 09:21 cs.js
-rw-rw-r-- 1 wwwrun www 3329 Apr 26 09:21 cs.json
-rw-rw-r-- 1 wwwrun www 3252 Apr 26 09:21 da.js
-rw-rw-r-- 1 wwwrun www 3244 Apr 26 09:21 da.json
-rw-rw-r-- 1 wwwrun www 3415 Apr 26 09:21 de.js
-rw-rw-r-- 1 wwwrun www 3407 Apr 26 09:21 de.json
-rw-rw-r-- 1 wwwrun www 3432 Apr 26 09:21 de_DE.js
-rw-rw-r-- 1 wwwrun www 3424 Apr 26 09:21 de_DE.json
-rw-rw-r-- 1 wwwrun www 4655 Apr 26 09:21 el.js
-rw-rw-r-- 1 wwwrun www 4647 Apr 26 09:21 el.json
-rw-rw-r-- 1 wwwrun www 3118 Apr 26 09:21 en_GB.js
-rw-rw-r-- 1 wwwrun www 3110 Apr 26 09:21 en_GB.json
-rw-rw-r-- 1 wwwrun www 1084 Apr 26 09:21 eo.js
-rw-rw-r-- 1 wwwrun www 1076 Apr 26 09:21 eo.json
-rw-rw-r-- 1 wwwrun www 3340 Apr 26 09:21 es.js
-rw-rw-r-- 1 wwwrun www 3332 Apr 26 09:21 es.json
-rw-rw-r-- 1 wwwrun www 3341 Apr 26 09:21 es_419.js
-rw-rw-r-- 1 wwwrun www 3333 Apr 26 09:21 es_419.json
-rw-rw-r-- 1 wwwrun www 3261 Apr 26 09:21 es_AR.js
-rw-rw-r-- 1 wwwrun www 3253 Apr 26 09:21 es_AR.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_CL.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_CL.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_CO.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_CO.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_CR.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_CR.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_DO.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_DO.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_EC.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_EC.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_GT.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_GT.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_HN.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_HN.json -> es_419.json
-rw-rw-r-- 1 wwwrun www 3416 Apr 26 09:21 es_MX.js
-rw-rw-r-- 1 wwwrun www 3408 Apr 26 09:21 es_MX.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_NI.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_NI.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_PA.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_PA.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_PE.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_PE.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_PR.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_PR.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_PY.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_PY.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_SV.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_SV.json -> es_419.json
lrwxrwxrwx 1 wwwrun www    9 Apr 30 23:18 es_UY.js -> es_419.js
lrwxrwxrwx 1 wwwrun www   11 Apr 30 23:18 es_UY.json -> es_419.json
-rw-rw-r-- 1 wwwrun www 3051 Apr 26 09:21 et_EE.js
-rw-rw-r-- 1 wwwrun www 3043 Apr 26 09:21 et_EE.json
-rw-rw-r-- 1 wwwrun www 3269 Apr 26 09:21 eu.js
-rw-rw-r-- 1 wwwrun www 3261 Apr 26 09:21 eu.json
-rw-rw-r-- 1 wwwrun www 4124 Apr 26 09:21 fa.js
-rw-rw-r-- 1 wwwrun www 4116 Apr 26 09:21 fa.json
-rw-rw-r-- 1 wwwrun www 3191 Apr 26 09:21 fi.js
-rw-rw-r-- 1 wwwrun www 3183 Apr 26 09:21 fi.json
-rw-rw-r-- 1 wwwrun www 3464 Apr 26 09:21 fr.js
-rw-rw-r-- 1 wwwrun www 3456 Apr 26 09:21 fr.json
-rw-rw-r-- 1 wwwrun www 3249 Apr 26 09:21 gl.js
-rw-rw-r-- 1 wwwrun www 3241 Apr 26 09:21 gl.json
-rw-rw-r-- 1 wwwrun www 3760 Apr 26 09:21 he.js
-rw-rw-r-- 1 wwwrun www 3752 Apr 26 09:21 he.json
-rw-rw-r-- 1 wwwrun www 2273 Apr 26 09:21 hr.js
-rw-rw-r-- 1 wwwrun www 2265 Apr 26 09:21 hr.json
-rw-rw-r-- 1 wwwrun www 3434 Apr 26 09:21 hu.js
-rw-rw-r-- 1 wwwrun www 3426 Apr 26 09:21 hu.json
-rw-rw-r-- 1 wwwrun www 2411 Apr 26 09:21 ia.js
-rw-rw-r-- 1 wwwrun www 2403 Apr 26 09:21 ia.json
-rw-rw-r-- 1 wwwrun www 3198 Apr 26 09:21 id.js
-rw-rw-r-- 1 wwwrun www 3190 Apr 26 09:21 id.json
-rw-rw-r-- 1 wwwrun www 3419 Apr 26 09:21 is.js
-rw-rw-r-- 1 wwwrun www 3411 Apr 26 09:21 is.json
-rw-rw-r-- 1 wwwrun www 3299 Apr 26 09:21 it.js
-rw-rw-r-- 1 wwwrun www 3291 Apr 26 09:21 it.json
-rw-rw-r-- 1 wwwrun www 3770 Apr 26 09:21 ja.js
-rw-rw-r-- 1 wwwrun www 3762 Apr 26 09:21 ja.json
-rw-rw-r-- 1 wwwrun www 5616 Apr 26 09:21 ka_GE.js
-rw-rw-r-- 1 wwwrun www 5608 Apr 26 09:21 ka_GE.json
-rw-rw-r-- 1 wwwrun www 1342 Apr 26 09:21 kab.js
-rw-rw-r-- 1 wwwrun www 1334 Apr 26 09:21 kab.json
-rw-rw-r-- 1 wwwrun www 1643 Apr 26 09:21 km.js
-rw-rw-r-- 1 wwwrun www 1635 Apr 26 09:21 km.json
-rw-rw-r-- 1 wwwrun www 3217 Apr 26 09:21 ko.js
-rw-rw-r-- 1 wwwrun www 3209 Apr 26 09:21 ko.json
-rw-rw-r-- 1 wwwrun www 2229 Apr 26 09:21 lb.js
-rw-rw-r-- 1 wwwrun www 2221 Apr 26 09:21 lb.json
-rw-rw-r-- 1 wwwrun www 3295 Apr 26 09:21 lt_LT.js
-rw-rw-r-- 1 wwwrun www 3287 Apr 26 09:21 lt_LT.json
-rw-rw-r-- 1 wwwrun www 2831 Apr 26 09:21 lv.js
-rw-rw-r-- 1 wwwrun www 2823 Apr 26 09:21 lv.json
-rw-rw-r-- 1 wwwrun www 2004 Apr 26 09:21 mk.js
-rw-rw-r-- 1 wwwrun www 1996 Apr 26 09:21 mk.json
-rw-rw-r-- 1 wwwrun www 3448 Apr 26 09:21 mn.js
-rw-rw-r-- 1 wwwrun www 3440 Apr 26 09:21 mn.json
-rw-rw-r-- 1 wwwrun www 1624 Apr 26 09:21 ms_MY.js
-rw-rw-r-- 1 wwwrun www 1616 Apr 26 09:21 ms_MY.json
-rw-rw-r-- 1 wwwrun www 3216 Apr 26 09:21 nb.js
-rw-rw-r-- 1 wwwrun www 3208 Apr 26 09:21 nb.json
-rw-rw-r-- 1 wwwrun www 4557 Apr 26 09:21 ne.js
-rw-rw-r-- 1 wwwrun www 4549 Apr 26 09:21 ne.json
-rw-rw-r-- 1 wwwrun www 3329 Apr 26 09:21 nl.js
-rw-rw-r-- 1 wwwrun www 3321 Apr 26 09:21 nl.json
-rw-rw-r-- 1 wwwrun www 3065 Apr 26 09:21 nn_NO.js
-rw-rw-r-- 1 wwwrun www 3057 Apr 26 09:21 nn_NO.json
-rw-rw-r-- 1 wwwrun www    0 Apr 26 09:21 no-php
-rw-rw-r-- 1 wwwrun www 3567 Apr 26 09:21 pl.js
-rw-rw-r-- 1 wwwrun www 3559 Apr 26 09:21 pl.json
-rw-rw-r-- 1 wwwrun www 3332 Apr 26 09:21 pt_BR.js
-rw-rw-r-- 1 wwwrun www 3324 Apr 26 09:21 pt_BR.json
-rw-rw-r-- 1 wwwrun www 3326 Apr 26 09:21 pt_PT.js
-rw-rw-r-- 1 wwwrun www 3318 Apr 26 09:21 pt_PT.json
-rw-rw-r-- 1 wwwrun www 3282 Apr 26 09:21 ro.js
-rw-rw-r-- 1 wwwrun www 3274 Apr 26 09:21 ro.json
-rw-rw-r-- 1 wwwrun www 4591 Apr 26 09:21 ru.js
-rw-rw-r-- 1 wwwrun www 4583 Apr 26 09:21 ru.json
-rw-rw-r-- 1 wwwrun www  866 Apr 26 09:21 si_LK.js
-rw-rw-r-- 1 wwwrun www  858 Apr 26 09:21 si_LK.json
-rw-rw-r-- 1 wwwrun www 3408 Apr 26 09:21 sk.js
-rw-rw-r-- 1 wwwrun www 3400 Apr 26 09:21 sk.json
-rw-rw-r-- 1 wwwrun www 3148 Apr 26 09:21 sl.js
-rw-rw-r-- 1 wwwrun www 3140 Apr 26 09:21 sl.json
-rw-rw-r-- 1 wwwrun www 3366 Apr 26 09:21 sq.js
-rw-rw-r-- 1 wwwrun www 3358 Apr 26 09:21 sq.json
-rw-rw-r-- 1 wwwrun www 4282 Apr 26 09:21 sr.js
-rw-rw-r-- 1 wwwrun www 4274 Apr 26 09:21 sr.json
-rw-rw-r-- 1 wwwrun www 3202 Apr 26 09:21 sv.js
-rw-rw-r-- 1 wwwrun www 3194 Apr 26 09:21 sv.json
-rw-rw-r-- 1 wwwrun www 4216 Apr 26 09:21 th.js
-rw-rw-r-- 1 wwwrun www 4208 Apr 26 09:21 th.json
-rw-rw-r-- 1 wwwrun www 3344 Apr 26 09:21 tr.js
-rw-rw-r-- 1 wwwrun www 3336 Apr 26 09:21 tr.json
-rw-rw-r-- 1 wwwrun www 4480 Apr 26 09:21 uk.js
-rw-rw-r-- 1 wwwrun www 4472 Apr 26 09:21 uk.json
-rw-rw-r-- 1 wwwrun www 3615 Apr 26 09:21 vi.js
-rw-rw-r-- 1 wwwrun www 3607 Apr 26 09:21 vi.json
-rw-rw-r-- 1 wwwrun www 2957 Apr 26 09:21 zh_CN.js
-rw-rw-r-- 1 wwwrun www 2949 Apr 26 09:21 zh_CN.json
-rw-rw-r-- 1 wwwrun www 2588 Apr 26 09:21 zh_HK.js
-rw-rw-r-- 1 wwwrun www 2580 Apr 26 09:21 zh_HK.json
-rw-rw-r-- 1 wwwrun www 2913 Apr 26 09:21 zh_TW.js
-rw-rw-r-- 1 wwwrun www 2905 Apr 26 09:21 zh_TW.json

After the update process has stopped working with the error:
"Delete old files
Could not rmdir /srv/www/htdocs/nextcloud/updater/../apps/activity"

total 112
drwxr-xr-x 1 wwwrun wwwrun 504 May 15 19:17 .
drwxr-xr-x 1 wwwrun wwwrun   8 May 15 19:17 ..
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_CL.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_CL.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_CO.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_CO.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_CR.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_CR.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_DO.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_DO.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_EC.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_EC.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_GT.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_GT.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_HN.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_HN.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_NI.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_NI.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_PA.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_PA.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_PE.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_PE.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_PR.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_PR.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_PY.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_PY.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_SV.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_SV.json -> es_419.json
lrwxrwxrwx 1 wwwrun wwwrun   9 Apr 30 23:18 es_UY.js -> es_419.js
lrwxrwxrwx 1 wwwrun wwwrun  11 Apr 30 23:18 es_UY.json -> es_419.json

updater.log

2018-05-15T17:14:57+0000 cghEBHPR2M [info] request to updater
2018-05-15T17:14:57+0000 cghEBHPR2M [info] currentStep()
2018-05-15T17:14:57+0000 cghEBHPR2M [info] POST request for step "2"
2018-05-15T17:14:57+0000 cghEBHPR2M [info] startStep("2")
2018-05-15T17:14:57+0000 cghEBHPR2M [info] checkWritePermissions()
2018-05-15T17:14:57+0000 cghEBHPR2M [info] end of checkWritePermissions()
2018-05-15T17:14:57+0000 cghEBHPR2M [info] endStep("2")
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] request to updater
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] currentStep()
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] Step 2 is in state "end".
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] POST request for step "3"
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] startStep("3")
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] setMaintenanceMode("true")
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] configFileName /srv/www/htdocs/nextcloud/updater/../config/config.php
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] end of setMaintenanceMode()
2018-05-15T17:14:57+0000 ls43oTwUP0 [info] endStep("3")
2018-05-15T17:14:57+0000 z78LvHT7oM [info] request to updater
2018-05-15T17:14:57+0000 z78LvHT7oM [info] currentStep()
2018-05-15T17:14:57+0000 z78LvHT7oM [info] Step 3 is in state "end".
2018-05-15T17:14:57+0000 z78LvHT7oM [info] POST request for step "4"
2018-05-15T17:14:57+0000 z78LvHT7oM [info] startStep("4")
2018-05-15T17:14:57+0000 z78LvHT7oM [info] createBackup()
2018-05-15T17:14:59+0000 z78LvHT7oM [info] end of createBackup()
2018-05-15T17:14:59+0000 z78LvHT7oM [info] endStep("4")
2018-05-15T17:14:59+0000 mRiioWYD9R [info] request to updater
2018-05-15T17:14:59+0000 mRiioWYD9R [info] currentStep()
2018-05-15T17:14:59+0000 mRiioWYD9R [info] Step 4 is in state "end".
2018-05-15T17:14:59+0000 mRiioWYD9R [info] POST request for step "5"
2018-05-15T17:14:59+0000 mRiioWYD9R [info] startStep("5")
2018-05-15T17:14:59+0000 mRiioWYD9R [info] downloadUpdate()
2018-05-15T17:14:59+0000 mRiioWYD9R [info] getUpdateServerResponse()
2018-05-15T17:14:59+0000 mRiioWYD9R [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-05-15T17:14:59+0000 mRiioWYD9R [info] releaseChannel: daily
2018-05-15T17:14:59+0000 mRiioWYD9R [info] internal version: 13.0.2.1
2018-05-15T17:14:59+0000 mRiioWYD9R [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x2x1xxxdailyxx2018-04-26T07%3A24%3A07%2B00%3A00+2495577a3be388d39b2850a70cd039866c9b09b4x7x2x5
2018-05-15T17:15:00+0000 mRiioWYD9R [info] getUpdateServerResponse response: Array
(
	[version] => 100.0.0.0
	[versionstring] => Nextcloud daily
	[url] => https://download.nextcloud.com/server/daily/latest-stable13.zip
	[web] => https://docs.nextcloud.com/server/12/admin_manual/maintenance/upgrade.html
	[autoupdater] => 1
	[eol] => 0
)

2018-05-15T17:17:47+0000 mRiioWYD9R [info] end of downloadUpdate()
2018-05-15T17:17:47+0000 mRiioWYD9R [info] endStep("5")
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] request to updater
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] currentStep()
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] Step 5 is in state "end".
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] POST request for step "6"
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] startStep("6")
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] verifyIntegrity()
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] current channel is "daily" which is not signed. Skipping verification.
2018-05-15T17:17:47+0000 dCYMwD2xyy [info] endStep("6")
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] request to updater
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] currentStep()
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] Step 6 is in state "end".
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] POST request for step "7"
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] startStep("7")
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] extractDownload()
2018-05-15T17:17:47+0000 DcvJ17mWZ6 [info] storage location: /srv/www/htdocs/nextcloud/data/updater-oc0j5tqk0ktr/downloads/
2018-05-15T17:17:49+0000 DcvJ17mWZ6 [info] end of extractDownload()
2018-05-15T17:17:49+0000 DcvJ17mWZ6 [info] endStep("7")
2018-05-15T17:17:49+0000 W0yortBvBx [info] request to updater
2018-05-15T17:17:49+0000 W0yortBvBx [info] currentStep()
2018-05-15T17:17:49+0000 W0yortBvBx [info] Step 7 is in state "end".
2018-05-15T17:17:49+0000 W0yortBvBx [info] POST request for step "8"
2018-05-15T17:17:49+0000 W0yortBvBx [info] startStep("8")
2018-05-15T17:17:49+0000 W0yortBvBx [info] replaceEntryPoints()
2018-05-15T17:17:49+0000 W0yortBvBx [info] replace index.php
2018-05-15T17:17:49+0000 W0yortBvBx [info] replace status.php
2018-05-15T17:17:49+0000 W0yortBvBx [info] replace remote.php
2018-05-15T17:17:49+0000 W0yortBvBx [info] replace public.php
2018-05-15T17:17:49+0000 W0yortBvBx [info] replace ocs/v1.php
2018-05-15T17:17:49+0000 W0yortBvBx [info] replace ocs/v2.php
2018-05-15T17:17:49+0000 W0yortBvBx [info] end of replaceEntryPoints()
2018-05-15T17:17:49+0000 W0yortBvBx [info] endStep("8")
2018-05-15T17:17:49+0000 EcXPZFr4zb [info] request to updater
2018-05-15T17:17:49+0000 EcXPZFr4zb [info] currentStep()
2018-05-15T17:17:49+0000 EcXPZFr4zb [info] Step 8 is in state "end".
2018-05-15T17:17:49+0000 EcXPZFr4zb [info] POST request for step "9"
2018-05-15T17:17:50+0000 EcXPZFr4zb [info] startStep("9")
2018-05-15T17:17:50+0000 EcXPZFr4zb [info] deleteOldFiles()
2018-05-15T17:17:50+0000 EcXPZFr4zb [["\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/appinfo\/app.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/appinfo\/info.xml","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/appinfo\/routes.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/appinfo\/signature.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/appinfo\/update.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/css\/settings.css","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/css\/style.css","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/docs\/create.md","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/docs\/endpoint-v2.md","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/docs\/filter.md","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/docs\/provider.md","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/docs\/setting.md","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/img\/activity-dark.svg","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/img\/activity.svg","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/img\/add-color.svg","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/img\/change.svg","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/img\/delete-color.svg","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/activity-sidebar.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/activitycollection.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/activitymodel.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/activitytabview.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/admin.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/feedSettings.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/filesplugin.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/richObjectStringParser.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/script.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/js\/settings.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/.gitkeep","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/.tx\/config","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/af.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/af.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ar.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ar.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ast.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ast.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/az.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/az.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/bg.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/bg.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/bn_BD.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/bn_BD.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/br.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/br.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ca.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ca.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/cs.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/cs.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/da.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/da.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/de.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/de.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/de_DE.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/de_DE.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/el.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/el.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/en_GB.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/en_GB.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/eo.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/eo.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_AR.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_AR.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_MX.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_MX.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/es_419.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/et_EE.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/et_EE.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/eu.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/eu.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/fa.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/fa.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/fi.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/fi.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/fr.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/fr.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/gl.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/gl.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/he.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/he.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/hr.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/hr.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/hu.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/hu.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ia.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ia.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/id.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/id.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/is.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/is.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/it.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/it.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ja.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ja.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ka_GE.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ka_GE.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/kab.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/kab.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/km.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/km.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ko.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ko.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/lb.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/lb.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/lt_LT.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/lt_LT.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/lv.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/lv.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/mk.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/mk.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/mn.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/mn.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ms_MY.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ms_MY.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/nb.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/nb.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ne.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ne.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/nl.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/nl.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/nn_NO.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/nn_NO.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/no-php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/pl.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/pl.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/pt_BR.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/pt_BR.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/pt_PT.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/pt_PT.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ro.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ro.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ru.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/ru.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/si_LK.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/si_LK.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sk.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sk.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sl.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sl.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sq.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sq.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sr.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sr.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sv.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/sv.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/th.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/th.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/tr.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/tr.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/uk.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/uk.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/vi.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/vi.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/zh_CN.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/zh_CN.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/zh_HK.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/zh_HK.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/zh_TW.js","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/l10n\/zh_TW.json","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/AppInfo\/Application.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/BackgroundJob\/EmailNotification.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/BackgroundJob\/ExpireActivities.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/BackgroundJob\/RemoteActivity.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Capabilities.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Command\/SendEmails.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Consumer.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Controller\/APIv1.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Controller\/APIv2.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Controller\/Activities.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Controller\/Feed.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Controller\/RemoteActivity.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Controller\/Settings.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/CurrentUser.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Data.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/DataHelper.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Exception\/InvalidFilterException.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Extension\/Files.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Extension\/Files_Sharing.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Extension\/LegacyParser.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/FilesHooks.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/FilesHooksStatic.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Filter\/AllFilter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Filter\/ByFilter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Filter\/SelfFilter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Formatter\/BaseFormatter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Formatter\/CloudIDFormatter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Formatter\/FileFormatter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Formatter\/IFormatter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Formatter\/UserFormatter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/GroupHelper.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/GroupHelperDisabled.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Hooks.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/MailQueueHandler.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Migration\/Version2006Date20170808154933.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Migration\/Version2006Date20170808155040.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Migration\/Version2006Date20170919095939.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Navigation.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Parameter\/Collection.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Parameter\/Factory.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Parameter\/IParameter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Parameter\/Parameter.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/PlainTextParser.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Settings\/Admin.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/Settings\/Section.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/UserSettings.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/lib\/ViewInfoCache.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/personal.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/templates\/rss.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/templates\/settings\/admin.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/templates\/settings\/form.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/templates\/settings\/personal.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/templates\/stream.app.navigation.php","\/srv\/www\/htdocs\/nextcloud\/apps\/activity\/templates\/stream.body.php"],null]
2018-05-15T17:17:50+0000 EcXPZFr4zb [error] POST request failed with other exception
2018-05-15T17:17:50+0000 EcXPZFr4zb [error] Exception: Exception
Message: Could not rmdir /srv/www/htdocs/nextcloud/updater/../apps/activity
Code:0
Trace:
#0 /srv/www/htdocs/nextcloud/updater/index.php(871): Updater->recursiveDelete('/srv/www/htdocs...')
#1 /srv/www/htdocs/nextcloud/updater/index.php(1311): Updater->deleteOldFiles()
#2 {main}
File:/srv/www/htdocs/nextcloud/updater/index.php
Line:852

2018-05-15T17:17:50+0000 EcXPZFr4zb [info] rollbackChanges("9")
2018-05-15T17:17:50+0000 EcXPZFr4zb [info] unlink .step
2018-05-15T17:17:50+0000 EcXPZFr4zb [info] rollbackChanges - step >= 7
2018-05-15T17:17:50+0000 EcXPZFr4zb [info] end of  rollbackChanges()

It seems, that symlinks cause the problem because the result for

$files[] = $fileInfo->getRealPath();
is empty for symlinks...

@ggeorgg
Copy link

ggeorgg commented May 15, 2018

I don't know why this does not work for symlinks, but I think I know now, where the symlinks come from:
https://build.opensuse.org/package/view_file/openSUSE:Factory/nextcloud/nextcloud.spec?expand=1
Line 164: %fdupes -s $RPM_BUILD_ROOT/%{apache_serverroot}/%{name}
It would be great to have a solution to also delete those symlinks. If there is no solution, I will just not use this repository or inform the one who builds it to check this.
For me, this issue is solved. Maybe caco3 has really another issue...

@caco3
Copy link
Author

caco3 commented May 15, 2018

@ggeorgg I do not see why there should be an issue with symlinks! Can you try to replace those symlinks with the real data and try again?
I will add the requested infos in the next post.

@caco3
Copy link
Author

caco3 commented May 15, 2018

@MorrisJobke See below my filesystem lists and the updater log:

core/doc/admin/_images before update

> ls -l core/doc/admin/_images
total 8984
-rw-r--r--  1 ****  ****    48536 Jan 11 20:39 2-updates.png
-rw-r--r--  1 ****  ****    52820 Jan 11 20:39 2fa-app-install.png
-rw-r--r--  1 ****  ****    22350 Jan 11 20:39 add_storage.png
-rw-r--r--  1 ****  ****    10105 Jan 11 20:39 admin_filehandling-1.png
-rw-r--r--  1 ****  ****     7514 Jan 11 20:39 admin_filehandling-2.png
-rw-r--r--  1 ****  ****    24367 Jan 11 20:39 amazons3.png
-rw-r--r--  1 ****  ****     7361 Jan 11 20:39 antivirus-app.png
-rw-r--r--  1 ****  ****    16199 Jan 11 20:39 antivirus-config.png
-rw-r--r--  1 ****  ****     7277 Jan 11 20:39 antivirus-daemon-socket.png
-rw-r--r--  1 ****  ****     6959 Jan 11 20:39 antivirus-daemon.png
-rw-r--r--  1 ****  ****     8541 Jan 11 20:39 antivirus-executable.png
-rw-r--r--  1 ****  ****     2467 Jan 11 20:39 antivirus-logging.png
-rw-r--r--  1 ****  ****    11714 Jan 11 20:39 applicable.png
-rw-r--r--  1 ****  ****    23255 Jan 11 20:39 auth_mechanism.png
-rw-r--r--  1 ****  ****     9475 Jan 11 20:39 auth_rsa.png
-rw-r--r--  1 ****  ****    68218 Jan 11 20:39 authentication-types.png
-rw-r--r--  1 ****  ****    23846 Jan 11 20:39 automated_tagging_sample_rule.png
-rw-r--r--  1 ****  ****    30039 Jan 11 20:39 code-integrity-admin.png
-rw-r--r--  1 ****  ****     9358 Jan 11 20:39 code-integrity-notification.png
-rw-r--r--  1 ****  ****    64420 Jan 11 20:39 create_public_share-10.png
-rw-r--r--  1 ****  ****    18040 Jan 11 20:39 create_public_share-6.png
-rw-r--r--  1 ****  ****   130401 Jan 11 20:39 create_public_share-8.png
-rw-r--r--  1 ****  ****   101666 Jan 11 20:39 create_public_share-9.png
-rw-r--r--  1 ****  ****     2925 Jan 11 20:39 deprecs-1.png
-rw-r--r--  1 ****  ****    20273 Jan 11 20:39 deprecs-2.png
-rw-r--r--  1 ****  ****    54784 Jan 11 20:39 deprecs-3.png
-rw-r--r--  1 ****  ****    14374 Jan 11 20:39 dropbox-1.png
-rw-r--r--  1 ****  ****    14831 Jan 11 20:39 dropbox-2.png
-rw-r--r--  1 ****  ****     4233 Jan 11 20:39 dropbox-3.png
-rw-r--r--  1 ****  ****    20490 Jan 11 20:39 dropbox-4.png
-rw-r--r--  1 ****  ****    16446 Jan 11 20:39 dropbox-5.png
-rw-r--r--  1 ****  ****    12615 Jan 11 20:39 dropbox-6.png
-rw-r--r--  1 ****  ****     7964 Jan 11 20:39 dropbox-oc.png
-rw-r--r--  1 ****  ****    32104 Jan 11 20:39 dropbox.png
-rw-r--r--  1 ****  ****    14587 Jan 11 20:39 enable-app.png
-rw-r--r--  1 ****  ****    12135 Jan 11 20:39 encryption1.png
-rw-r--r--  1 ****  ****    21821 Jan 11 20:39 encryption10.png
-rw-r--r--  1 ****  ****    14407 Jan 11 20:39 encryption12.png
-rw-r--r--  1 ****  ****    12617 Jan 11 20:39 encryption14.png
-rw-r--r--  1 ****  ****    20476 Jan 11 20:39 encryption15.png
-rw-r--r--  1 ****  ****   112619 Jan 11 20:39 encryption3.png
-rw-r--r--  1 ****  ****    12526 Jan 11 20:39 encryption7.png
-rw-r--r--  1 ****  ****    11406 Jan 11 20:39 encryption8.png
-rw-r--r--  1 ****  ****    12567 Jan 11 20:39 encryption9.png
-rw-r--r--  1 ****  ****    78634 Jan 11 20:39 external-sites-1.png
-rw-r--r--  1 ****  ****    79918 Jan 11 20:39 external-sites-2.png
-rw-r--r--  1 ****  ****    31176 Jan 11 20:39 external-sites-3.png
-rw-r--r--  1 ****  ****    41013 Jan 11 20:39 external-sites-4.png
-rw-r--r--  1 ****  ****    46670 Jan 11 20:39 external-sites-5.png
-rw-r--r--  1 ****  ****    32789 Jan 11 20:39 federation-0.png
-rw-r--r--  1 ****  ****    39898 Jan 11 20:39 federation-1.png
-rw-r--r--  1 ****  ****    28688 Jan 11 20:39 federation-2.png
-rw-r--r--  1 ****  ****    11361 Jan 11 20:39 federation-3.png
-rw-r--r--  1 ****  ****    11956 Jan 11 20:39 files_access_control_block_mimetype.png
-rw-r--r--  1 ****  ****    13537 Jan 11 20:39 files_access_control_collaborative_tags.png
-rw-r--r--  1 ****  ****    36052 Jan 11 20:39 files_access_control_sample_rules.png
-rw-r--r--  1 ****  ****    20913 Jan 11 20:39 ftp.png
-rw-r--r--  1 ****  ****    12666 Jan 11 20:39 google-drive.png
-rw-r--r--  1 ****  ****    12749 Jan 11 20:39 google-drive1.png
-rw-r--r--  1 ****  ****    14967 Jan 11 20:39 google-drive10.png
-rw-r--r--  1 ****  ****    46479 Jan 11 20:39 google-drive11.png
-rw-r--r--  1 ****  ****    39075 Jan 11 20:39 google-drive12.png
-rw-r--r--  1 ****  ****    14859 Jan 11 20:39 google-drive13.png
-rw-r--r--  1 ****  ****    25839 Jan 11 20:39 google-drive2.png
-rw-r--r--  1 ****  ****     8890 Jan 11 20:39 google-drive3.png
-rw-r--r--  1 ****  ****    17205 Jan 11 20:39 google-drive4.png
-rw-r--r--  1 ****  ****    14608 Jan 11 20:39 google-drive5.png
-rw-r--r--  1 ****  ****    47083 Jan 11 20:39 google-drive6.png
-rw-r--r--  1 ****  ****    33147 Jan 11 20:39 google-drive8.png
-rw-r--r--  1 ****  ****    55514 Jan 11 20:39 google-drive9.png
-rw-r--r--  1 ****  ****   303614 Jan 11 20:39 install-wizard-a.png
-rw-r--r--  1 ****  ****   109513 Jan 11 20:39 install-wizard-a1.png
-rw-r--r--  1 ****  ****   106032 Jan 11 20:39 install-wizard-a2.png
-rw-r--r--  1 ****  ****   542751 Jan 11 20:39 install-wizard-a4.png
-rw-r--r--  1 ****  ****    22689 Jan 11 20:39 ldap-advanced-1-connection.png
-rw-r--r--  1 ****  ****    28756 Jan 11 20:39 ldap-advanced-2-directory.png
-rw-r--r--  1 ****  ****    40093 Jan 11 20:39 ldap-advanced-3-attributes.png
-rw-r--r--  1 ****  ****    71667 Jan 11 20:39 ldap-expert.png
-rw-r--r--  1 ****  ****    33049 Jan 11 20:39 ldap-fetched-avatar.png
-rw-r--r--  1 ****  ****    41003 Jan 11 20:39 ldap-wizard-1-server.png
-rw-r--r--  1 ****  ****    73006 Jan 11 20:39 ldap-wizard-2-user.png
-rw-r--r--  1 ****  ****    50719 Jan 11 20:39 ldap-wizard-3-login.png
-rw-r--r--  1 ****  ****    47242 Jan 11 20:39 ldap-wizard-4-group.png
-rw-r--r--  1 ****  ****    10964 Jan 11 20:39 local.png
-rw-r--r--  1 ****  ****    13648 Jan 11 20:39 mount_options.png
-rw-r--r--  1 ****  ****    49042 Jan 11 20:39 oc_admin_app_page.png
-rw-r--r--  1 ****  ****    20331 Jan 11 20:39 openstack.png
-rw-r--r--  1 ****  ****    27606 Jan 11 20:39 phpinfo.png
-rw-r--r--  1 ****  ****    30525 Jan 11 20:39 preview_images.png
-rw-r--r--  1 ****  ****    16149 Jan 11 20:39 rackspace.png
-rw-r--r--  1 ****  ****    14544 Jan 11 20:39 retention_sample.png
-rw-r--r--  1 ****  ****   127363 Jan 11 20:39 saml_app_overview.png
-rw-r--r--  1 ****  ****    14776 Jan 11 20:39 scaling-1.png
-rw-r--r--  1 ****  ****    17534 Jan 11 20:39 scaling-2.png
-rw-r--r--  1 ****  ****    21727 Jan 11 20:39 scaling-3.png
-rw-r--r--  1 ****  ****    22914 Jan 11 20:39 scaling-4.png
-rw-r--r--  1 ****  ****    31552 Jan 11 20:39 scaling-5.png
-rw-r--r--  1 ****  ****    21114 Jan 11 20:39 security-setup-warning-1.png
-rw-r--r--  1 ****  ****    34809 Jan 11 20:39 sharing-files-1.png
-rw-r--r--  1 ****  ****    24033 Jan 11 20:39 sharing-files-2.png
-rw-r--r--  1 ****  ****   144779 Jan 11 20:39 skeleton-files.png
-rw-r--r--  1 ****  ****    58094 Jan 11 20:39 skeleton-files1.png
-rw-r--r--  1 ****  ****    16133 Jan 11 20:39 smb.png
-rw-r--r--  1 ****  ****    20605 Jan 11 20:39 smtp-config-php-sendmail.png
-rw-r--r--  1 ****  ****    42617 Jan 11 20:39 smtp-config-smtp.png
-rw-r--r--  1 ****  ****    42633 Jan 11 20:39 smtp-config-wizard.png
-rw-r--r--  1 ****  ****   400485 Jan 11 20:39 theming-log-in-page.png
-rw-r--r--  1 ****  ****    50595 Jan 11 20:39 theming.png
-rw-r--r--  1 ****  ****   183731 Jan 11 20:39 updater-1-update-available.png
-rw-r--r--  1 ****  ****   138598 Jan 11 20:39 updater-2-open-updater.png
-rw-r--r--  1 ****  ****   140328 Jan 11 20:39 updater-3-running-step.png
-rw-r--r--  1 ****  ****   151633 Jan 11 20:39 updater-4-failed-step.png
-rw-r--r--  1 ****  ****   143443 Jan 11 20:39 updater-5-continue-update.png
-rw-r--r--  1 ****  ****   162942 Jan 11 20:39 updater-6-maintenance-mode.png
-rw-r--r--  1 ****  ****   168975 Jan 11 20:39 updater-7-disable-maintenance.png
-rw-r--r--  1 ****  ****   170423 Jan 11 20:39 updater-8-keep-maintenance.png
-rw-r--r--  1 ****  ****  1355126 Jan 11 20:39 updater-9-upgrade-page.png
-rw-r--r--  1 ****  ****    44092 Jan 11 20:39 updater-cli-2-start-updater.png
-rw-r--r--  1 ****  ****    55166 Jan 11 20:39 updater-cli-3-running-step.png
-rw-r--r--  1 ****  ****    63299 Jan 11 20:39 updater-cli-4-failed-step.png
-rw-r--r--  1 ****  ****    44657 Jan 11 20:39 updater-cli-5-continue-update.png
-rw-r--r--  1 ****  ****    36143 Jan 11 20:39 updater-cli-6-run-command.png
-rw-r--r--  1 ****  ****    56074 Jan 11 20:39 updater-cli-7-maintenance.png
-rw-r--r--  1 ****  ****   109119 Jan 11 20:39 updater-cli-8-no-interaction.png
-rw-r--r--  1 ****  ****   538095 Jan 11 20:39 upgrade-1.png
-rw-r--r--  1 ****  ****    17775 Jan 11 20:39 user_mounts.png
-rw-r--r--  1 ****  ****    36779 Jan 11 20:39 user_password_policy_configuration_app.png
-rw-r--r--  1 ****  ****    21736 Jan 11 20:39 users-actions.png
-rw-r--r--  1 ****  ****    19405 Jan 11 20:39 users-config-1.png
-rw-r--r--  1 ****  ****    69009 Jan 11 20:39 users-config-2.png
-rw-r--r--  1 ****  ****    38640 Jan 11 20:39 users-config.png
-rw-r--r--  1 ****  ****    55283 Jan 11 20:39 users-create.png
-rw-r--r--  1 ****  ****    36980 Jan 11 20:39 users-groups.png
-rw-r--r--  1 ****  ****    10686 Jan 11 20:39 webdav.png
settings/l10n before update

> ls -l settings/l10n
total 5892
-rw-r--r--  1 ****  ****   4869 Jan 11 20:38 af.js
-rw-r--r--  1 ****  ****   4861 Jan 11 20:38 af.json
-rw-r--r--  1 ****  ****   6911 Jan 11 20:38 ar.js
-rw-r--r--  1 ****  ****   6903 Jan 11 20:38 ar.json
-rw-r--r--  1 ****  ****  31185 Jan 11 20:38 ast.js
-rw-r--r--  1 ****  ****  31177 Jan 11 20:38 ast.json
-rw-r--r--  1 ****  ****  13750 Jan 11 20:38 az.js
-rw-r--r--  1 ****  ****  13742 Jan 11 20:38 az.json
-rw-r--r--  1 ****  ****  20817 Jan 11 20:38 bg.js
-rw-r--r--  1 ****  ****  20809 Jan 11 20:38 bg.json
-rw-r--r--  1 ****  ****   5085 Jan 11 20:38 bn_BD.js
-rw-r--r--  1 ****  ****   5077 Jan 11 20:38 bn_BD.json
-rw-r--r--  1 ****  ****  10270 Jan 11 20:38 bs.js
-rw-r--r--  1 ****  ****  10262 Jan 11 20:38 bs.json
-rw-r--r--  1 ****  ****  29568 Jan 11 20:38 ca.js
-rw-r--r--  1 ****  ****  29560 Jan 11 20:38 ca.json
-rw-r--r--  1 ****  ****  46719 Jan 11 20:38 cs.js
-rw-r--r--  1 ****  ****  46711 Jan 11 20:38 cs.json
-rw-r--r--  1 ****  ****    624 Jan 11 20:38 cy_GB.js
-rw-r--r--  1 ****  ****    616 Jan 11 20:38 cy_GB.json
-rw-r--r--  1 ****  ****  26520 Jan 11 20:38 da.js
-rw-r--r--  1 ****  ****  26512 Jan 11 20:38 da.json
-rw-r--r--  1 ****  ****  49241 Jan 11 20:38 de.js
-rw-r--r--  1 ****  ****  49233 Jan 11 20:38 de.json
-rw-r--r--  1 ****  ****  49508 Jan 11 20:38 de_DE.js
-rw-r--r--  1 ****  ****  49500 Jan 11 20:38 de_DE.json
-rw-r--r--  1 ****  ****  48161 Jan 11 20:38 el.js
-rw-r--r--  1 ****  ****  48153 Jan 11 20:38 el.json
-rw-r--r--  1 ****  ****  44352 Jan 11 20:38 en_GB.js
-rw-r--r--  1 ****  ****  44344 Jan 11 20:38 en_GB.json
-rw-r--r--  1 ****  ****   5719 Jan 11 20:38 eo.js
-rw-r--r--  1 ****  ****   5711 Jan 11 20:38 eo.json
-rw-r--r--  1 ****  ****  48936 Jan 11 20:38 es.js
-rw-r--r--  1 ****  ****  48928 Jan 11 20:38 es.json
-rw-r--r--  1 ****  ****  49527 Jan 11 20:38 es_419.js
-rw-r--r--  1 ****  ****  49519 Jan 11 20:38 es_419.json
-rw-r--r--  1 ****  ****  42782 Jan 11 20:38 es_AR.js
-rw-r--r--  1 ****  ****  42774 Jan 11 20:38 es_AR.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_CL.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_CL.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_CO.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_CO.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_CR.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_CR.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_DO.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_DO.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_EC.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_EC.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_GT.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_GT.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_HN.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_HN.json
-rw-r--r--  1 ****  ****  50083 Jan 11 20:38 es_MX.js
-rw-r--r--  1 ****  ****  50075 Jan 11 20:38 es_MX.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_NI.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_NI.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_PA.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_PA.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_PE.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_PE.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_PR.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_PR.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_PY.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_PY.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_SV.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_SV.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_UY.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_UY.json
-rw-r--r--  1 ****  ****  22328 Jan 11 20:38 et_EE.js
-rw-r--r--  1 ****  ****  22320 Jan 11 20:38 et_EE.json
-rw-r--r--  1 ****  ****  37890 Jan 11 20:38 eu.js
-rw-r--r--  1 ****  ****  37882 Jan 11 20:38 eu.json
-rw-r--r--  1 ****  ****  13882 Jan 11 20:38 fa.js
-rw-r--r--  1 ****  ****  13874 Jan 11 20:38 fa.json
-rw-r--r--  1 ****  ****  37246 Jan 11 20:38 fi.js
-rw-r--r--  1 ****  ****  37238 Jan 11 20:38 fi.json
-rw-r--r--  1 ****  ****  50317 Jan 11 20:38 fr.js
-rw-r--r--  1 ****  ****  50309 Jan 11 20:38 fr.json
-rw-r--r--  1 ****  ****  24578 Jan 11 20:38 he.js
-rw-r--r--  1 ****  ****  24570 Jan 11 20:38 he.json
-rw-r--r--  1 ****  ****   8355 Jan 11 20:38 hr.js
-rw-r--r--  1 ****  ****   8347 Jan 11 20:38 hr.json
-rw-r--r--  1 ****  ****  48850 Jan 11 20:38 hu.js
-rw-r--r--  1 ****  ****  48842 Jan 11 20:38 hu.json
-rw-r--r--  1 ****  ****   1036 Jan 11 20:38 hy.js
-rw-r--r--  1 ****  ****   1028 Jan 11 20:38 hy.json
-rw-r--r--  1 ****  ****  14813 Jan 11 20:38 ia.js
-rw-r--r--  1 ****  ****  14805 Jan 11 20:38 ia.json
-rw-r--r--  1 ****  ****  25637 Jan 11 20:38 id.js
-rw-r--r--  1 ****  ****  25629 Jan 11 20:38 id.json
-rw-r--r--  1 ****  ****  47472 Jan 11 20:38 is.js
-rw-r--r--  1 ****  ****  47464 Jan 11 20:38 is.json
-rw-r--r--  1 ****  ****  48440 Jan 11 20:38 it.js
-rw-r--r--  1 ****  ****  48432 Jan 11 20:38 it.json
-rw-r--r--  1 ****  ****  46452 Jan 11 20:38 ja.js
-rw-r--r--  1 ****  ****  46444 Jan 11 20:38 ja.json
-rw-r--r--  1 ****  ****  80124 Jan 11 20:38 ka_GE.js
-rw-r--r--  1 ****  ****  80116 Jan 11 20:38 ka_GE.json
-rw-r--r--  1 ****  ****   6468 Jan 11 20:38 km.js
-rw-r--r--  1 ****  ****   6460 Jan 11 20:38 km.json
-rw-r--r--  1 ****  ****   9289 Jan 11 20:38 kn.js
-rw-r--r--  1 ****  ****   9281 Jan 11 20:38 kn.json
-rw-r--r--  1 ****  ****  48137 Jan 11 20:38 ko.js
-rw-r--r--  1 ****  ****  48129 Jan 11 20:38 ko.json
-rw-r--r--  1 ****  ****   2128 Jan 11 20:38 lb.js
-rw-r--r--  1 ****  ****   2120 Jan 11 20:38 lb.json
-rw-r--r--  1 ****  ****  15279 Jan 11 20:38 lt_LT.js
-rw-r--r--  1 ****  ****  15271 Jan 11 20:38 lt_LT.json
-rw-r--r--  1 ****  ****  18059 Jan 11 20:38 lv.js
-rw-r--r--  1 ****  ****  18051 Jan 11 20:38 lv.json
-rw-r--r--  1 ****  ****  12573 Jan 11 20:38 mk.js
-rw-r--r--  1 ****  ****  12565 Jan 11 20:38 mk.json
-rw-r--r--  1 ****  ****   7683 Jan 11 20:38 mn.js
-rw-r--r--  1 ****  ****   7675 Jan 11 20:38 mn.json
-rw-r--r--  1 ****  ****    931 Jan 11 20:38 ms_MY.js
-rw-r--r--  1 ****  ****    923 Jan 11 20:38 ms_MY.json
-rw-r--r--  1 ****  ****  44689 Jan 11 20:38 nb.js
-rw-r--r--  1 ****  ****  44681 Jan 11 20:38 nb.json
-rw-r--r--  1 ****  ****  46572 Jan 11 20:38 nl.js
-rw-r--r--  1 ****  ****  46564 Jan 11 20:38 nl.json
-rw-r--r--  1 ****  ****   3829 Jan 11 20:38 nn_NO.js
-rw-r--r--  1 ****  ****   3821 Jan 11 20:38 nn_NO.json
-rw-r--r--  1 ****  ****  47130 Jan 11 20:38 pl.js
-rw-r--r--  1 ****  ****  47122 Jan 11 20:38 pl.json
-rw-r--r--  1 ****  ****  47800 Jan 11 20:38 pt_BR.js
-rw-r--r--  1 ****  ****  47792 Jan 11 20:38 pt_BR.json
-rw-r--r--  1 ****  ****  24883 Jan 11 20:38 pt_PT.js
-rw-r--r--  1 ****  ****  24875 Jan 11 20:38 pt_PT.json
-rw-r--r--  1 ****  ****  14299 Jan 11 20:38 ro.js
-rw-r--r--  1 ****  ****  14291 Jan 11 20:38 ro.json
-rw-r--r--  1 ****  ****  64774 Jan 11 20:38 ru.js
-rw-r--r--  1 ****  ****  64766 Jan 11 20:38 ru.json
-rw-r--r--  1 ****  ****   2049 Jan 11 20:38 si_LK.js
-rw-r--r--  1 ****  ****   2041 Jan 11 20:38 si_LK.json
-rw-r--r--  1 ****  ****  39260 Jan 11 20:38 sk.js
-rw-r--r--  1 ****  ****  39252 Jan 11 20:38 sk.json
-rw-r--r--  1 ****  ****  16784 Jan 11 20:38 sl.js
-rw-r--r--  1 ****  ****  16776 Jan 11 20:38 sl.json
-rw-r--r--  1 ****  ****  45869 Jan 11 20:38 sq.js
-rw-r--r--  1 ****  ****  45861 Jan 11 20:38 sq.json
-rw-r--r--  1 ****  ****  61029 Jan 11 20:38 sr.js
-rw-r--r--  1 ****  ****  61021 Jan 11 20:38 sr.json
-rw-r--r--  1 ****  ****  43822 Jan 11 20:38 sv.js
-rw-r--r--  1 ****  ****  43814 Jan 11 20:38 sv.json
-rw-r--r--  1 ****  ****   2203 Jan 11 20:38 ta_LK.js
-rw-r--r--  1 ****  ****   2195 Jan 11 20:38 ta_LK.json
-rw-r--r--  1 ****  ****  32548 Jan 11 20:38 th.js
-rw-r--r--  1 ****  ****  32540 Jan 11 20:38 th.json
-rw-r--r--  1 ****  ****  48245 Jan 11 20:38 tr.js
-rw-r--r--  1 ****  ****  48237 Jan 11 20:38 tr.json
-rw-r--r--  1 ****  ****   2403 Jan 11 20:38 ug.js
-rw-r--r--  1 ****  ****   2395 Jan 11 20:38 ug.json
-rw-r--r--  1 ****  ****  22606 Jan 11 20:38 uk.js
-rw-r--r--  1 ****  ****  22598 Jan 11 20:38 uk.json
-rw-r--r--  1 ****  ****    733 Jan 11 20:38 ur_PK.js
-rw-r--r--  1 ****  ****    725 Jan 11 20:38 ur_PK.json
-rw-r--r--  1 ****  ****   2849 Jan 11 20:38 vi.js
-rw-r--r--  1 ****  ****   2841 Jan 11 20:38 vi.json
-rw-r--r--  1 ****  ****  39855 Jan 11 20:38 zh_CN.js
-rw-r--r--  1 ****  ****  39847 Jan 11 20:38 zh_CN.json
-rw-r--r--  1 ****  ****   1567 Jan 11 20:38 zh_HK.js
-rw-r--r--  1 ****  ****   1559 Jan 11 20:38 zh_HK.json
-rw-r--r--  1 ****  ****  35381 Jan 11 20:38 zh_TW.js
-rw-r--r--  1 ****  ****  35373 Jan 11 20:38 zh_TW.json
Updater log:

2018-05-15T23:05:47+0200 rEaHAcFCSw [info] request to updater
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] currentStep()
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] show HTML page
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] current version: 13.0.0 RC 1 build time: 2018-01-11T19:40:31+00:00 4f30c2fbe43e0d6f24ba3bff881526b2b6c2747d
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] getUpdateServerResponse()
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] releaseChannel: beta
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] internal version: 13.0.0.10
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x0x10xxxbetaxx2018-01-11T19%3A40%3A31%2B00%3A00+4f30c2fbe43e0d6f24ba3bff881526b2b6c2747dx5x6x35
2018-05-15T23:05:47+0200 rEaHAcFCSw [info] getUpdateServerResponse response: Array
(
    [version] => 13.0.2.1
    [versionstring] => Nextcloud 13.0.2
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip
    [web] => https://docs.nextcloud.com/server/13/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [eol] => 0
    [signature] => LM7g6SaWxzArRLd++9sdk80UZw1mIzAaqEnH75YO3EBK7qF7xxVdvb7tnu9cipsr
Y5e/MoISsNOgc3FZoRygGrkKl4GVf4SZSOSusmoDxwHNT0tBSK8u0QMRXrEXLuyE
pxyvA3hHMP/gGhLn+T0/CrvI/QBy3QO1N74OUWc+nc+NnKnWSwwVP4/OITRkAtYj
zsIH95cgI4e3Eez6c63YsITKLWVwoE4Qu0ubU8HGfhHBYxqFoGbNfSWvB78gV/gf
S3QFUmoMjKoOvo1Q4s7UQv0xE5TUDC4XFIW6q1ly1Z/XRPZaywstv3br8J52L6+J
G2ZuS4ms5s9o5i2OrogYRQ==
)

2018-05-15T23:05:47+0200 rEaHAcFCSw [info] checkForUpdate() Array
(
    [version] => 13.0.2.1
    [versionstring] => Nextcloud 13.0.2
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip
    [web] => https://docs.nextcloud.com/server/13/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [eol] => 0
    [signature] => LM7g6SaWxzArRLd++9sdk80UZw1mIzAaqEnH75YO3EBK7qF7xxVdvb7tnu9cipsr
Y5e/MoISsNOgc3FZoRygGrkKl4GVf4SZSOSusmoDxwHNT0tBSK8u0QMRXrEXLuyE
pxyvA3hHMP/gGhLn+T0/CrvI/QBy3QO1N74OUWc+nc+NnKnWSwwVP4/OITRkAtYj
zsIH95cgI4e3Eez6c63YsITKLWVwoE4Qu0ubU8HGfhHBYxqFoGbNfSWvB78gV/gf
S3QFUmoMjKoOvo1Q4s7UQv0xE5TUDC4XFIW6q1ly1Z/XRPZaywstv3br8J52L6+J
G2ZuS4ms5s9o5i2OrogYRQ==
)

2018-05-15T23:05:47+0200 rEaHAcFCSw [info] end of checkForUpdate() Update to Nextcloud 13.0.2 available. (channel: "beta")<br /><span class="light">Following file will be downloaded automatically:</span> <code class="light">https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip</code>
2018-05-15T23:06:08+0200 6VmRB36KqY [info] request to updater
2018-05-15T23:06:08+0200 6VmRB36KqY [info] currentStep()
2018-05-15T23:06:08+0200 6VmRB36KqY [info] POST request for step "1"
2018-05-15T23:06:08+0200 6VmRB36KqY [info] startStep("1")
2018-05-15T23:06:08+0200 6VmRB36KqY [info] checkForExpectedFilesAndFolders()
2018-05-15T23:06:08+0200 6VmRB36KqY [info] end of checkForExpectedFilesAndFolders()
2018-05-15T23:06:08+0200 6VmRB36KqY [info] endStep("1")
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] request to updater
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] currentStep()
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] Step 1 is in state "end".
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] POST request for step "2"
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] startStep("2")
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] checkWritePermissions()
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] end of checkWritePermissions()
2018-05-15T23:06:08+0200 KH6p2wJtbT [info] endStep("2")
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] request to updater
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] currentStep()
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] Step 2 is in state "end".
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] POST request for step "3"
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] startStep("3")
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] setMaintenanceMode("true")
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] configFileName /home/****/www/****/n/nextcloud/updater/../config/config.php
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] end of setMaintenanceMode()
2018-05-15T23:06:08+0200 bL6RnZnrVq [info] endStep("3")
2018-05-15T23:06:08+0200 I2l4TW80Gy [info] request to updater
2018-05-15T23:06:08+0200 I2l4TW80Gy [info] currentStep()
2018-05-15T23:06:08+0200 I2l4TW80Gy [info] Step 3 is in state "end".
2018-05-15T23:06:08+0200 I2l4TW80Gy [info] POST request for step "4"
2018-05-15T23:06:08+0200 I2l4TW80Gy [info] startStep("4")
2018-05-15T23:06:08+0200 I2l4TW80Gy [info] createBackup()
2018-05-15T23:08:37+0200 I2l4TW80Gy [info] end of createBackup()
2018-05-15T23:08:37+0200 I2l4TW80Gy [info] endStep("4")
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] request to updater
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] currentStep()
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] Step 4 is in state "end".
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] POST request for step "5"
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] startStep("5")
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] downloadUpdate()
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] getUpdateServerResponse()
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] releaseChannel: beta
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] internal version: 13.0.0.10
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x0x10xxxbetaxx2018-01-11T19%3A40%3A31%2B00%3A00+4f30c2fbe43e0d6f24ba3bff881526b2b6c2747dx5x6x35
2018-05-15T23:08:37+0200 Yrg5QiCALN [info] getUpdateServerResponse response: Array
(
    [version] => 13.0.2.1
    [versionstring] => Nextcloud 13.0.2
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip
    [web] => https://docs.nextcloud.com/server/13/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [eol] => 0
    [signature] => LM7g6SaWxzArRLd++9sdk80UZw1mIzAaqEnH75YO3EBK7qF7xxVdvb7tnu9cipsr
Y5e/MoISsNOgc3FZoRygGrkKl4GVf4SZSOSusmoDxwHNT0tBSK8u0QMRXrEXLuyE
pxyvA3hHMP/gGhLn+T0/CrvI/QBy3QO1N74OUWc+nc+NnKnWSwwVP4/OITRkAtYj
zsIH95cgI4e3Eez6c63YsITKLWVwoE4Qu0ubU8HGfhHBYxqFoGbNfSWvB78gV/gf
S3QFUmoMjKoOvo1Q4s7UQv0xE5TUDC4XFIW6q1ly1Z/XRPZaywstv3br8J52L6+J
G2ZuS4ms5s9o5i2OrogYRQ==
)

2018-05-15T23:08:41+0200 Yrg5QiCALN [info] end of downloadUpdate()
2018-05-15T23:08:41+0200 Yrg5QiCALN [info] endStep("5")
2018-05-15T23:08:41+0200 uXzBOWAbow [info] request to updater
2018-05-15T23:08:41+0200 uXzBOWAbow [info] currentStep()
2018-05-15T23:08:41+0200 uXzBOWAbow [info] Step 5 is in state "end".
2018-05-15T23:08:41+0200 uXzBOWAbow [info] POST request for step "6"
2018-05-15T23:08:41+0200 uXzBOWAbow [info] startStep("6")
2018-05-15T23:08:41+0200 uXzBOWAbow [info] verifyIntegrity()
2018-05-15T23:08:41+0200 uXzBOWAbow [info] getUpdateServerResponse()
2018-05-15T23:08:41+0200 uXzBOWAbow [info] updaterServer: https://updates.nextcloud.org/updater_server/
2018-05-15T23:08:41+0200 uXzBOWAbow [info] releaseChannel: beta
2018-05-15T23:08:41+0200 uXzBOWAbow [info] internal version: 13.0.0.10
2018-05-15T23:08:41+0200 uXzBOWAbow [info] updateURL: https://updates.nextcloud.org/updater_server/?version=13x0x0x10xxxbetaxx2018-01-11T19%3A40%3A31%2B00%3A00+4f30c2fbe43e0d6f24ba3bff881526b2b6c2747dx5x6x35
2018-05-15T23:08:41+0200 uXzBOWAbow [info] getUpdateServerResponse response: Array
(
    [version] => 13.0.2.1
    [versionstring] => Nextcloud 13.0.2
    [url] => https://download.nextcloud.com/server/releases/nextcloud-13.0.2.zip
    [web] => https://docs.nextcloud.com/server/13/admin_manual/maintenance/upgrade.html
    [autoupdater] => 1
    [eol] => 0
    [signature] => LM7g6SaWxzArRLd++9sdk80UZw1mIzAaqEnH75YO3EBK7qF7xxVdvb7tnu9cipsr
Y5e/MoISsNOgc3FZoRygGrkKl4GVf4SZSOSusmoDxwHNT0tBSK8u0QMRXrEXLuyE
pxyvA3hHMP/gGhLn+T0/CrvI/QBy3QO1N74OUWc+nc+NnKnWSwwVP4/OITRkAtYj
zsIH95cgI4e3Eez6c63YsITKLWVwoE4Qu0ubU8HGfhHBYxqFoGbNfSWvB78gV/gf
S3QFUmoMjKoOvo1Q4s7UQv0xE5TUDC4XFIW6q1ly1Z/XRPZaywstv3br8J52L6+J
G2ZuS4ms5s9o5i2OrogYRQ==
)

2018-05-15T23:08:41+0200 uXzBOWAbow [info] storage location: /home/****/www/****/n/nextcloud/data/updater-oc1c45rsftoa/downloads/
2018-05-15T23:08:42+0200 uXzBOWAbow [info] end of verifyIntegrity()
2018-05-15T23:08:42+0200 uXzBOWAbow [info] endStep("6")
2018-05-15T23:08:42+0200 B7yWcsTlsA [info] request to updater
2018-05-15T23:08:42+0200 B7yWcsTlsA [info] currentStep()
2018-05-15T23:08:42+0200 B7yWcsTlsA [info] Step 6 is in state "end".
2018-05-15T23:08:42+0200 B7yWcsTlsA [info] POST request for step "7"
2018-05-15T23:08:42+0200 B7yWcsTlsA [info] startStep("7")
2018-05-15T23:08:43+0200 B7yWcsTlsA [info] extractDownload()
2018-05-15T23:08:43+0200 B7yWcsTlsA [info] storage location: /home/****/www/****/n/nextcloud/data/updater-oc1c45rsftoa/downloads/
2018-05-15T23:10:01+0200 B7yWcsTlsA [info] end of extractDownload()
2018-05-15T23:10:01+0200 B7yWcsTlsA [info] endStep("7")
2018-05-15T23:10:01+0200 Ur1awSs8te [info] request to updater
2018-05-15T23:10:01+0200 Ur1awSs8te [info] currentStep()
2018-05-15T23:10:01+0200 Ur1awSs8te [info] Step 7 is in state "end".
2018-05-15T23:10:01+0200 Ur1awSs8te [info] POST request for step "8"
2018-05-15T23:10:01+0200 Ur1awSs8te [info] startStep("8")
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replaceEntryPoints()
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replace index.php
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replace status.php
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replace remote.php
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replace public.php
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replace ocs/v1.php
2018-05-15T23:10:01+0200 Ur1awSs8te [info] replace ocs/v2.php
2018-05-15T23:10:01+0200 Ur1awSs8te [info] end of replaceEntryPoints()
2018-05-15T23:10:01+0200 Ur1awSs8te [info] endStep("8")
2018-05-15T23:10:01+0200 WXbvzZsabQ [info] request to updater
2018-05-15T23:10:01+0200 WXbvzZsabQ [info] currentStep()
2018-05-15T23:10:01+0200 WXbvzZsabQ [info] Step 8 is in state "end".
2018-05-15T23:10:01+0200 WXbvzZsabQ [info] POST request for step "9"
2018-05-15T23:10:01+0200 WXbvzZsabQ [info] startStep("9")
2018-05-15T23:10:01+0200 WXbvzZsabQ [info] deleteOldFiles()
2018-05-15T23:10:21+0200 WXbvzZsabQ [info] config sample exists
2018-05-15T23:10:21+0200 WXbvzZsabQ [info] themes README exists
2018-05-15T23:10:24+0200 WXbvzZsabQ #### recursiveDelete: /home/****/www/****/n/nextcloud/updater/../core/doc/admin/_images, count: 35
2018-05-15T23:10:24+0200 WXbvzZsabQ [[".","..","add_storage.png","antivirus-daemon.png","antivirus-logging.png","code-integrity-notification.png","create_public_share-9.png","dropbox-1.png","dropbox.png","encryption1.png","encryption14.png","encryption15.png","encryption9.png","external-sites-1.png","external-sites-4.png","google-drive10.png","google-drive12.png","google-drive6.png","ldap-advanced-2-directory.png","ldap-expert.png","ldap-fetched-avatar.png","ldap-wizard-1-server.png","local.png","retention_sample.png","scaling-2.png","smb.png","smtp-config-php-sendmail.png","updater-1-update-available.png","updater-5-continue-update.png","updater-cli-3-running-step.png","updater-cli-8-no-interaction.png","upgrade-1.png","user_mounts.png","users-config.png","webdav.png"],"\/home\/****\/www\/****\/n\/nextcloud\/updater\/..\/core\/doc\/admin\/_images"]
2018-05-15T23:10:24+0200 WXbvzZsabQ [error] POST request failed with other exception
2018-05-15T23:10:24+0200 WXbvzZsabQ [error] Exception: Exception
Message: Could not rmdir: /home/****/www/****/n/nextcloud/updater/../core/doc/admin/_images
Code:0
Trace:
#0 /home/****/www/****/n/nextcloud/updater/index.php(1315): Updater->deleteOldFiles()
#1 {main}
File:/home/****/www/****/n/nextcloud/updater/index.php
Line:942

2018-05-15T23:10:24+0200 WXbvzZsabQ [info] rollbackChanges("9")
2018-05-15T23:10:24+0200 WXbvzZsabQ [info] unlink .step
2018-05-15T23:10:24+0200 WXbvzZsabQ [info] rollbackChanges - step >= 7
2018-05-15T23:10:24+0200 WXbvzZsabQ [info] end of  rollbackChanges()
2018-05-15T23:11:30+0200 dz762fzhcx [info] request to updater
2018-05-15T23:11:30+0200 dz762fzhcx [info] currentStep()
2018-05-15T23:11:30+0200 dz762fzhcx [info] POST request for step "9"
2018-05-15T23:11:30+0200 dz762fzhcx [info] startStep("9")
2018-05-15T23:11:30+0200 dz762fzhcx [info] deleteOldFiles()
2018-05-15T23:11:40+0200 dz762fzhcx #### recursiveDelete: /home/****/www/****/n/nextcloud/updater/../settings/l10n, count: 12
2018-05-15T23:11:40+0200 dz762fzhcx [[".","..","ar.js","es_DO.json","es_PE.js","eu.json","hu.json","id.js","id.json","ko.json","nb.json","zh_TW.json"],"\/home\/****\/www\/****\/n\/nextcloud\/updater\/..\/settings\/l10n"]
2018-05-15T23:11:40+0200 dz762fzhcx [error] POST request failed with other exception
2018-05-15T23:11:40+0200 dz762fzhcx [error] Exception: Exception
Message: Could not rmdir: /home/****/www/****/n/nextcloud/updater/../settings/l10n
Code:0
Trace:
#0 /home/****/www/****/n/nextcloud/updater/index.php(1315): Updater->deleteOldFiles()
#1 {main}
File:/home/****/www/****/n/nextcloud/updater/index.php
Line:942

2018-05-15T23:11:40+0200 dz762fzhcx [info] rollbackChanges("9")
2018-05-15T23:11:40+0200 dz762fzhcx [info] unlink .step
2018-05-15T23:11:40+0200 dz762fzhcx [info] rollbackChanges - step >= 7
2018-05-15T23:11:40+0200 dz762fzhcx [info] end of  rollbackChanges()
core/doc/admin/_images after update

> ls -l core/doc/admin/_images
total 1920
-rw-r--r--  1 ****  ****   22350 Jan 11 20:39 add_storage.png
-rw-r--r--  1 ****  ****    6959 Jan 11 20:39 antivirus-daemon.png
-rw-r--r--  1 ****  ****    2467 Jan 11 20:39 antivirus-logging.png
-rw-r--r--  1 ****  ****    9358 Jan 11 20:39 code-integrity-notification.png
-rw-r--r--  1 ****  ****  101666 Jan 11 20:39 create_public_share-9.png
-rw-r--r--  1 ****  ****   14374 Jan 11 20:39 dropbox-1.png
-rw-r--r--  1 ****  ****   32104 Jan 11 20:39 dropbox.png
-rw-r--r--  1 ****  ****   12135 Jan 11 20:39 encryption1.png
-rw-r--r--  1 ****  ****   12617 Jan 11 20:39 encryption14.png
-rw-r--r--  1 ****  ****   20476 Jan 11 20:39 encryption15.png
-rw-r--r--  1 ****  ****   12567 Jan 11 20:39 encryption9.png
-rw-r--r--  1 ****  ****   78634 Jan 11 20:39 external-sites-1.png
-rw-r--r--  1 ****  ****   41013 Jan 11 20:39 external-sites-4.png
-rw-r--r--  1 ****  ****   14967 Jan 11 20:39 google-drive10.png
-rw-r--r--  1 ****  ****   39075 Jan 11 20:39 google-drive12.png
-rw-r--r--  1 ****  ****   47083 Jan 11 20:39 google-drive6.png
-rw-r--r--  1 ****  ****   28756 Jan 11 20:39 ldap-advanced-2-directory.png
-rw-r--r--  1 ****  ****   71667 Jan 11 20:39 ldap-expert.png
-rw-r--r--  1 ****  ****   33049 Jan 11 20:39 ldap-fetched-avatar.png
-rw-r--r--  1 ****  ****   41003 Jan 11 20:39 ldap-wizard-1-server.png
-rw-r--r--  1 ****  ****   10964 Jan 11 20:39 local.png
-rw-r--r--  1 ****  ****   14544 Jan 11 20:39 retention_sample.png
-rw-r--r--  1 ****  ****   17534 Jan 11 20:39 scaling-2.png
-rw-r--r--  1 ****  ****   16133 Jan 11 20:39 smb.png
-rw-r--r--  1 ****  ****   20605 Jan 11 20:39 smtp-config-php-sendmail.png
-rw-r--r--  1 ****  ****  183731 Jan 11 20:39 updater-1-update-available.png
-rw-r--r--  1 ****  ****  143443 Jan 11 20:39 updater-5-continue-update.png
-rw-r--r--  1 ****  ****   55166 Jan 11 20:39 updater-cli-3-running-step.png
-rw-r--r--  1 ****  ****  109119 Jan 11 20:39 updater-cli-8-no-interaction.png
-rw-r--r--  1 ****  ****  538095 Jan 11 20:39 upgrade-1.png
-rw-r--r--  1 ****  ****   17775 Jan 11 20:39 user_mounts.png
-rw-r--r--  1 ****  ****   38640 Jan 11 20:39 users-config.png
-rw-r--r--  1 ****  ****   10686 Jan 11 20:39 webdav.png
settings/l10n after update

> ls -l settings/l10n
total 420
-rw-r--r--  1 ****  ****   6911 Jan 11 20:38 ar.js
-rw-r--r--  1 ****  ****  49518 Jan 11 20:38 es_DO.json
-rw-r--r--  1 ****  ****  49526 Jan 11 20:38 es_PE.js
-rw-r--r--  1 ****  ****  37882 Jan 11 20:38 eu.json
-rw-r--r--  1 ****  ****  48842 Jan 11 20:38 hu.json
-rw-r--r--  1 ****  ****  25637 Jan 11 20:38 id.js
-rw-r--r--  1 ****  ****  25629 Jan 11 20:38 id.json
-rw-r--r--  1 ****  ****  48129 Jan 11 20:38 ko.json
-rw-r--r--  1 ****  ****  44681 Jan 11 20:38 nb.json
-rw-r--r--  1 ****  ****  35373 Jan 11 20:38 zh_TW.json
---

In my nextcloud installation there seem not to be any symlinks (which anyway would be rater unusual since it also must install on a windows system).
I used the normal web installer.
My system config is visible in the first post.

I can't see any pattern between the deleted and the not deleted files. They seem to be randomly selected.
The list of not deleted files matches the json files list, but that would be expected :)

@MorrisJobke
Copy link
Member

I don't know why this does not work for symlinks, but I think I know now, where the symlinks come from:
https://build.opensuse.org/package/view_file/openSUSE:Factory/nextcloud/nextcloud.spec?expand=1
Line 164: %fdupes -s $RPM_BUILD_ROOT/%{apache_serverroot}/%{name}
It would be great to have a solution to also delete those symlinks. If there is no solution, I will just not use this repository or inform the one who builds it to check this.
For me, this issue is solved. Maybe caco3 has really another issue...

Also using a package to install nextcloud and then use the built-in updater feel wrong for me, because you then overwrite files that were installed by the package manager. I would advise against this approach and rather install via packages and stick to the packages or install manually and then use the built-in updater.

Nevertheless the symlinks are weird. Maybe the iterator does not list symlinks and only lists files. Thanks for this hint 👍

The list of not deleted files matches the json files list, but that would be expected :)

Still weird, because the very same mechanism is used by the deletion code 🤔

@rullzer @icewind1991 Do you have an idea why the directory iterator somehow only lists part of the files?

@caco3
Copy link
Author

caco3 commented May 16, 2018

I think I might have found the culprit (or one of them)...

First of all, the getRecursiveDirectoryIterator() works correctly and returns always the childs of a folder first, then the folder itself only at the end. Deleting in that order should not cause any issue.

The first error always occurs on the folder core/doc/admin/_images.
It contains 134 files of which always 101 get deleted and 33 remain.
The reason currently is unclear to me, but the following additional lines before

$state = rmdir($path);
solve it for now:

$files = scandir($path);
$this->silentLog("deleteOldFiles: $path still contains " . count($files) . " files or folders:");
$this->silentLog(json_encode($files));
$files = array_diff($files, [".", ".."]); // remove "." and ".." from the list (Linux only)   

$this->silentLog(json_encode($files));                            
if(count($files) > 0 ) { // contains more than just "." and ".."
    foreach($files as $file) {
        if (!in_array($value, array(".", ".."))) { // its not "." or ".."
            $state = unlink($path . "/" . $file);
            if($state === false) {
                    throw new \Exception('deleteOldFiles: Could not unlink: '.$path);
            }
        }
    }
}
// folder now should be empty and can be deleted

After that fix, the deletion process runs much much longer without an issue...

... until it bangs its head on the path 3rdparty/aws/aws-sdk-php/src.

Now, looking at the lines after

foreach ($this->getRecursiveDirectoryIterator() as $path => $fileInfo) {
show that each path gets split with '/' into its individual dirs. Each of those dirs then gets compared with the exclusion list:
$excludedElements = [

In case it contains something that triggers a match, that path gets skipped, meaning it and its children never gets deleted. And here we have a false positive!

The mentioned path contains a folder 'data', and 'data' also is in the exclude list:
3rdparty/aws/aws-sdk-php/src/data/redshift/2012-12-01/waiters-2.json.php,
excludedElements = ["data","index.php","status.php","remote.php","public.php","ocs\/v1.php","ocs\/v2.php","config","themes","apps","updater"];.

What I do not understand is why this issue only fires very few systems.
Also I tried to add log messages in

continue;
and
continue;
to prove my findings, but at the time of executing those lines, the updater/index.php already got replaced by the new version.
Is there any way I can enforce to use a modified tar.gz file?

@MorrisJobke
Copy link
Member

What I do not understand is why this issue only fires very few systems.
Also I tried to add log messages in

This sounds weird, because this folder is there also on other systems. Also the exclude list should only be checked against for the root folder. :/

This sounds super suspicious.

@MorrisJobke
Copy link
Member

And thanks for the detailed analysis. Could you create a PR with the before mentioned change to properly delete the subfolder so we could have a proper review of the code in context?

Thanks

@caco3
Copy link
Author

caco3 commented May 17, 2018

This sounds weird, because this folder is there also on other systems. Also the exclude list should only be checked against for the root folder. :/

Ah, indeed! Only the most top folder gets checked, I misinterpreted that. That's why it didn't make fully sense.

Could you create a PR

Yes, I will, but it might not be next week as I will be away.
Keep in mind that it is only a workaround and that it only works if the folder only contains non-deleted files. As soon as it contains subfolders, it will break again!
That's why I would like to investigate it first further. Since the directory iterator seems to provide the files/folders list in the right order, my guess would be that somehow some paths get dropped.

If you could answer the following questions that would help:

  1. It seems that during the deletion process the updater/index.php gets replaced with the newer version. Is this correct? When does it happen? Can it be suppressed?
  2. Is there a way I can enforce to use a modified tar.gz file for the update (again, so debugging of the updater is possible)?
  3. $this->getAppDirectories() gets added to the exclusion list. What is it supposed to contain and when? AFAIK it is always empty.

@caco3
Copy link
Author

caco3 commented May 29, 2018

@MorrisJobke and @LukasReschke, do you have any tips for the questions in #158 (comment)?

@caco3
Copy link
Author

caco3 commented Jun 21, 2018

@MorrisJobke and @LukasReschke, I will not be able to investigate this further without some support from your side!

@MorrisJobke
Copy link
Member

I will have a look at the pending PR the next days. Sorry for the delay ... was busy with other stuff.

@edzoe
Copy link

edzoe commented Aug 2, 2018

OS: CentOS Linux release 7.5.1804 (Core)
Kernel: 3.10.0-862.3.3.el7.x86_64
DB: mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1
PHP Version: 7.0.30
Apache: Apache/2.4.6

I'm running NC on CentOS and I had the same problem. The Updater complained about deleting README from Themes, AUTHORS(/var/www/html/nextcloud/updater/../AUTHORS), then /var/www/html/nextcloud/updater/../themes/example ...then a nonexistent symlink /var/www/html/nextcloud/updater/../lib/private/App/PlatformRepository.php ....for me kind of weird.

I have on the machine SELinux active, so I checked the audit.log:

type=AVC msg=audit(1533194021.832:75642): avc: denied { write } for pid=3878 comm="httpd" name="img" dev="dm-0" ino=2105093 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75642): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406e3d8 a1=1 a2=7f3552ce3300 a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75642): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75643): avc: denied { write } for pid=3878 comm="httpd" name="img" dev="dm-0" ino=2105093 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75643): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406e438 a1=1 a2=7f3552ce3300 a3=7f3552cba0f0 items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75643): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75644): avc: denied { write } for pid=3878 comm="httpd" name="img" dev="dm-0" ino=2105093 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75644): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406e498 a1=1 a2=7f3552ce3300 a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75644): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75645): avc: denied { write } for pid=3878 comm="httpd" name="img" dev="dm-0" ino=2105093 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75645): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406e4f8 a1=1 a2=7f3552ce3300 a3=7f3552cba0f0 items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75645): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75646): avc: denied { write } for pid=3878 comm="httpd" name="img" dev="dm-0" ino=2105093 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75646): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406e558 a1=1 a2=7f3552ce3300 a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75646): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75647): avc: denied { write } for pid=3878 comm="httpd" name="img" dev="dm-0" ino=2105093 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75647): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406e5b8 a1=1 a2=7f3552ce3300 a3=7f3552cba0f0 items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75647): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75648): avc: denied { write } for pid=3878 comm="httpd" name="core" dev="dm-0" ino=2105088 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75648): arch=c000003e syscall=84 success=no exit=-13 a0=7f3544066518 a1=1 a2=7f354406651f a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75648): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75649): avc: denied { write } for pid=3878 comm="httpd" name="core" dev="dm-0" ino=2105088 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75649): arch=c000003e syscall=84 success=no exit=-13 a0=7f35440663d8 a1=1 a2=7f35440663df a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75649): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75650): avc: denied { write } for pid=3878 comm="httpd" name="example" dev="dm-0" ino=2103755 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75650): arch=c000003e syscall=84 success=no exit=-13 a0=7f3544066428 a1=1 a2=7f354406642f a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75650): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194021.832:75651): avc: denied { write } for pid=3878 comm="httpd" name="themes" dev="dm-0" ino=1704604 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194021.832:75651): arch=c000003e syscall=84 success=no exit=-13 a0=7f35440662e8 a1=1 a2=7f35440662ef a3=7f35451dd8ec items=0 ppid=3875 pid=3878 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194021.832:75651): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194125.776:75652): avc: denied { write } for pid=9798 comm="httpd" name="nextcloud" dev="dm-0" ino=1574849 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194125.776:75652): arch=c000003e syscall=87 success=no exit=-13 a0=7f3544066388 a1=1 a2=7f3552ce3300 a3=7f35451dd8ec items=0 ppid=3875 pid=9798 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194125.776:75652): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44 type=AVC msg=audit(1533194142.680:75653): avc: denied { write } for pid=17947 comm="httpd" name="App" dev="dm-0" ino=1574867 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir type=SYSCALL msg=audit(1533194142.680:75653): arch=c000003e syscall=87 success=no exit=-13 a0=7f354406d328 a1=1 a2=7f3552ce3300 a3=7f35451dd8ec items=0 ppid=3875 pid=17947 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null) type=PROCTITLE msg=audit(1533194142.680:75653): proctitle=2F7573722F7362696E2F6874747064002D44464F524547524F554E44

As you can see, SELinux was my problem. Simple solution it is to disable it for the update.

@marcelstoer
Copy link

@caco3 @MorrisJobke the preliminary findings of the above analysis never materialized in any code changes, did they? I still see the same behavior with 20.x.

@caco3
Copy link
Author

caco3 commented Apr 29, 2021

@marcelstoer I wanted to investigate it further but needed the support of the devs - which never happened (see above comments). It looks like as if it is an issue with certain server configuration and mainly (or only) occurres on a hostpoint.ch shared webspace.
I gave up looking into it and instead use the following lines on the server directly when i want to update:

#!/bin/bash
cd /home/<MY USERNAME>/www
php -f nextcloud/occ app:list > nextcloud/apps.txt
wget -c https://download.nextcloud.com/server/releases/latest.tar.bz2
mv -f nextcloud nextcloud.old
echo "Extracting new version..."
tar -xvf latest.tar.bz2 nextcloud
cp -rf nextcloud.old/config nextcloud
cd nextcloud
php -f occ upgrade # => If "Command 'upgrade' is not defined".   => check if config.php is missing, else load using webbrowser
cd ..
rm -f latest.tar.bz2
php -f nextcloud/occ app:list > nextcloud/apps.txt
diff nextcloud.old/apps.txt nextcloud/apps.txt # Manually compare apps versions
# manually remove old installation if everything is fine

@marcelstoer
Copy link

mainly (or only) occurres on a hostpoint.ch shared webspace

Same here.

That's an interesting script, thanks! It's OT for this discussion but I wouldn't know how else to ask: the new installation won't contain any of the auxiliary apps not shipped with the server that you installed at some point, right? At what point do you (re-)install them? The comment states you keep apps.txt only to compare versions; isn't it more (diff of which apps to reinstall)?

@caco3
Copy link
Author

caco3 commented Apr 29, 2021

mainly (or only) occurres on a hostpoint.ch shared webspace

Same here.

That's an interesting script, thanks! It's OT for this discussion but I wouldn't know how else to ask: the new installation won't contain any of the auxiliary apps not shipped with the server that you installed at some point, right? At what point do you (re-)install them? The comment states you keep apps.txt only to compare versions; isn't it more (diff of which apps to reinstall)?

I run the script when ever there is an update for the core system. Simple app updates I do through the web interface. That mostly works but sporadically fails (maintenance = true).
I can't remember if I have to reinstall the additional apps or if they get fetched again automatically. In any way, thats usually not a big thing.

@Dravere
Copy link

Dravere commented Jul 18, 2021

@caco3 Amazing script! I went ahead and modified it a bit to be more adaptable to other type of setups and upgrade paths. Also it enables maintenance mode before upgrading:

#!/bin/bash

# Inspired by https://github.com/nextcloud/updater/issues/158#issuecomment-829592036
# ATTENTION: This scripts assumes that you have your data directory outside the installation directory!

set -e

if [[ "$1" == '' ]]; then
    echo "Please specify a version to update to!"
    exit -1
fi

CNCU_DOWNLOAD_ARCHIVE_NAME="nextcloud-$1.tar.bz2"
CNCU_BASE_DIR="/home/<server>/www/"
CNCU_PUBLIC_DIR_NAME="nextcloud"

cd "${CNCU_BASE_DIR}"
php -f "${CNCU_PUBLIC_DIR_NAME}/occ" app:list > "${CNCU_PUBLIC_DIR_NAME}/apps.txt"
wget -c "https://download.nextcloud.com/server/releases/${CNCU_DOWNLOAD_ARCHIVE_NAME}"

php -f "${CNCU_PUBLIC_DIR_NAME}/occ" maintenance:mode --on
mv -f "${CNCU_PUBLIC_DIR_NAME}" "${CNCU_PUBLIC_DIR_NAME}.old"

echo "Extracting new version"
tar -xvf ${CNCU_DOWNLOAD_ARCHIVE_NAME}
cp -rf "${CNCU_PUBLIC_DIR_NAME}.old/config" nextcloud

if [[ "${CNCU_PUBLIC_DIR_NAME}" != "nextcloud" ]]; then
    mv nextcloud "${CNCU_PUBLIC_DIR_NAME}"
fi

cd "${CNCU_PUBLIC_DIR_NAME}"
php -f occ upgrade
cd ..

rm -f "${CNCU_DOWNLOAD_ARCHIVE_NAME}"
php -f "${CNCU_PUBLIC_DIR_NAME}/occ" app:list > "${CNCU_PUBLIC_DIR_NAME}/apps.txt"
diff "${CNCU_PUBLIC_DIR_NAME}.old/apps.txt" "${CNCU_PUBLIC_DIR_NAME}/apps.txt"

@EddyLB
Copy link

EddyLB commented Oct 29, 2023

Hi @caco3 , thank you for your efforts.
I replaced updater/index.php with the file you provided:

See attached file for a full fix. Please test and report if it works.

Just extract index.zip and replace updater/index.php with it.

Unfortunately, I still encounter the issue when updating from 27.1.2 to 27.1.3:

[ ] Delete old files ...PHP Warning: rmdir(/path_to_my_cloud/cloud/updater/../3rdparty/ramsey/uuid/src): Directory not empty in phar:///path_to_my_cloud/cloud/updater/updater.phar/lib/Updater.php on line 891

[✘] Delete old files failed Could not rmdir: /path_to_my_cloud/cloud/updater/../3rdparty/ramsey/uuid/src

Files are owned by hosting_user and php updater.phar by that user so I expect to call it properly.

@caco3
Copy link
Author

caco3 commented Oct 29, 2023

@EddyLB It seems that on your system it uses the phar file which is not used on my system. I do not know why, but I tried to pack a new phar file.
Please extract the updater.phar.zip file and replace the updater.phar file in the updater folder.

caco3 pushed a commit to caco3/updater that referenced this issue Oct 29, 2023
The iterator gets gets messed up when modifying the directory. Thus we copy() instead of rename() and remove the whole folders/files afterwards in a separate iteration.
See nextcloud#509 and nextcloud#158 for details.

Signed-off-by: CaCO3 <[email protected]>
caco3 pushed a commit to caco3/updater that referenced this issue Oct 29, 2023
The iterator gets gets messed up when modifying the directory. Thus we copy() instead of rename() and remove the whole folders/files afterwards in a separate iteration.
See nextcloud#509 and nextcloud#158 for details.

Signed-off-by: CaCO3 <[email protected]>
caco3 pushed a commit to caco3/updater that referenced this issue Oct 30, 2023
The iterator gets gets messed up when modifying the directory. Thus we copy() instead of rename() and remove the whole folders/files afterwards in a separate iteration.
See nextcloud#509 and nextcloud#158 for details.

Signed-off-by: CaCO3 <[email protected]>
caco3 pushed a commit to caco3/updater that referenced this issue Oct 30, 2023
The iterator gets gets messed up when modifying the directory. Thus we copy() instead of rename() and remove the whole folders/files afterwards in a separate iteration.
See nextcloud#509 and nextcloud#158 for details.

Signed-off-by: CaCO3 <[email protected]>
@caco3
Copy link
Author

caco3 commented Oct 30, 2023

Dear all

As mentioned before, I created a fix which to my understanding solves the issue.
Sadly, @kesselb, who seems to be in charge, is not willing to merge it, see #510 (comment)

So please support me in letting him know that I am not the only one wanting this fixed.

CC @stjosh

caco3 pushed a commit to caco3/updater that referenced this issue Nov 1, 2023
The iterator gets gets messed up when modifying the directory. Thus we copy() instead of rename() and remove the whole folders/files afterwards in a separate iteration.
See nextcloud#509 and nextcloud#158 for details.

Signed-off-by: CaCO3 <[email protected]>
kesselb pushed a commit that referenced this issue Nov 1, 2023
The iterator gets gets messed up when modifying the directory. Thus we copy() instead of rename() and remove the whole folders/files afterwards in a separate iteration.
See #509 and #158 for details.

Signed-off-by: CaCO3 <[email protected]>
@caco3
Copy link
Author

caco3 commented Nov 3, 2023

Solved with #515

@joshtrichards
Copy link
Member

joshtrichards commented Nov 16, 2023

Re-opened pending revisiting a more memory efficient solution since #515 resulted in #517 and had to be reverted in #518.

@joshtrichards
Copy link
Member

joshtrichards commented Apr 22, 2024

I have a prototype that addresses #507 and #484 (and #397 when I adapt it). It prunes the excluded folders from the iterator entirely so there's no longer any performance impact from traversing these folders that are going to be excluded anyhow. It still needs some refinement / polish by me before submitting for review and more extensive testing.

When/if what I'm working on gets merged, any excluded folders will truly no longer be included in the iterator (right now we drop excluded elements within the iterator rather than preventing them from getting into the iterator entirely - and this is the reason for the unpredictable memory use across environments from doing something like was proposed in #515).

This is relevant to this issue here because this change means that, for example, iterator_to_array might become a viable solution for environments encountering this issue reported here (where iterating on the working directory in real-time seems to introduce problems - e.g. FreebBSD w/ NFS + apparently elsewhere under unknown triggering conditions).

Memory requirements would be fixed to that required to hold an array of the entire current installation folder excluding both the data folder (if located in the install folder) and all configured apps folders.

This would presumably overcome the regression in #517 introduced by #515 (before it was reverted) as long as the current installation folder file contents (w/o data/apps) can be held in somewhere between 256M-512M of memory when stored as an array. Still more than the like ~2M required when using the iterator w/o an array conversion, but possibly acceptable. (Side note: I guess if we really were concerned about this additional memory consumption we could hide it behind a compatibility mode switch or something so that overall memory requirements don't increase for the like >=80% of environments where this isn't a problem).

@caco3
Copy link
Author

caco3 commented Apr 23, 2024

Thanks for picking this up. I am happy to test it, just let me know when you are ready.

@doits
Copy link

doits commented Apr 25, 2024

Every update for me hangs at "delete old file" very long. Stracing the process shows it does stuff for images in the preview folder like this:

newfstatat(AT_FDCWD, "/var/www/nextcloud/updater/../data/appdata_51222a4cc1861/preview/4/1/8/7/c/a/c/2796042/1024-758.jpg", {st_mode=S_IFREG|0644, st_size=262043, ...}, AT_SYMLINK_NOFOLLOW) = 0
newfstatat(AT_FDCWD, "/var/www/nextcloud/updater/../data/appdata_51222a4cc1861/preview/4/1/8/7/c/a/c/2796042/1030-762-max.jpg", {st_mode=S_IFREG|0644, st_size=304771, ...}, AT_SYMLINK_NOFOLLOW) = 0
newfstatat(AT_FDCWD, "/var/www/nextcloud/updater/../data/appdata_51222a4cc1861/preview/4/1/8/7/c/a/c/2796042/256-189.jpg", {st_mode=S_IFREG|0644, st_size=22082, ...}, AT_SYMLINK_NOFOLLOW) = 0
newfstatat(AT_FDCWD, "/var/www/nextcloud/updater/../data/appdata_51222a4cc1861/preview/4/1/8/7/c/a/c/2796042/256-256-crop.jpg", {st_mode=S_IFREG|0644, st_size=28325, ...}, AT_SYMLINK_NOFOLLOW) = 0
newfstatat(AT_FDCWD, "/var/www/nextcloud/updater/../data/appdata_51222a4cc1861/preview/4/1/8/7/c/a/c/2796042/346-256.jpg", {st_mode=S_IFREG|0644, st_size=38106, ...}, AT_SYMLINK_NOFOLLOW) = 0

It goes on for 30+ Minutes but finishes in the end since I run the update from CLI without a timeout. On every update. Right now on the update to 29.

I guess this is the same problem? Or is this something different and I should open a new issue?

@joshtrichards
Copy link
Member

@doits That sounds #397 (which will be addressed in the same manner as #507). No need to open a new issue, but you may want to subscribe to that issue to track it.

@joshtrichards joshtrichards changed the title Updater fails to complete (step Delete old files) Updater fails to complete (step Delete old files) / Could not rmdir Oct 16, 2024
@expressrussian
Copy link

When updating (Ubuntu VM, LAMP, CLI) from v29.0.0-23-g6a5f9ec to 30.0.1 i got the same error:

[ ] Move new files in place ...PHP Warning: rmdir(/mnt/ncdata/data/updater-ocdff7clyqk1/downloads/nextcloud/core/doc/user/talk): Directory not empty in phar:///var/www/nextcloud/updater/updater.phar/lib/Updater.php on line 984
[✘] Move new files in place failed
Could not rmdir /mnt/ncdata/data/updater-ocdff7clyqk1/downloads/nextcloud/core/doc/user/talk
Update failed. To resume or retry just execute the updater again.

I checked that data directory (which is mounted on SMB server), and it is EMPTY!
Now i have a non-functioning Nextcloud! It does not allow me to investigate and delete the directory BEFORE it fails hard. Can you use the OS file delete routines, or allow users to delete things manually, and not leave the system in broken state, please?

When i retry, it now tries to update from 30.0.1 (non-functioning) to 30.0.2.
Could you, please, investigate this error, please? Thanks.

@joshtrichards
Copy link
Member

Now i have a non-functioning Nextcloud! Can you use the OS file delete routines, or allow users to delete things manually, and not leave the system in broken state, please?

@expressrussian That's what the manual update process is for: https://docs.nextcloud.com/server/latest/admin_manual/maintenance/manual_upgrade.html

I checked that data directory (which is mounted on SMB server), and it is EMPTY!

This is likely part of the problem here. That's a bit non-standard.

@expressrussian
Copy link

I checked that data directory (which is mounted on SMB server), and it is EMPTY!

This is likely part of the problem here. That's a bit non-standard.
Actually, the whole
'datadirectory' => '/mnt/ncdata/data'
is mounted on SMB from the beginning of the installation (that was 4 years ago). And this configuration was working all these years...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants