-
Notifications
You must be signed in to change notification settings - Fork 32
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
Update leads to error 500 on step 11 (continue with web based installer) #509
Comments
Webserver log:
The issue seems to be that several files are missing. How ever looking on the updater log, there is no error! |
some updated information: If I use See #511 for a Fix. |
These issues with the iterator - sound a bit like this: nextcloud/server#17980 (comment) (search for "RecursiveDirectoryIterator" to find the paragraph where it gets interesting). |
@joshtrichards I do not think that this issue is related for following reasons:
|
I was now even able to create a minimalistic example which shows the breakage of the iterator. PoC<?php
function getRecursiveDirectoryIterator(?string $folder = null): \RecursiveIteratorIterator {
return new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($folder, \RecursiveDirectoryIterator::SKIP_DOTS),
\RecursiveIteratorIterator::CHILD_FIRST
);
}
$i = 0;
mkdir("a");
mkdir("a/l10n");
foreach (getRecursiveDirectoryIterator("l10n") as $path) {
$i++;
$newPath = "a/" . $path;
echo("$i: $path -> $newPath<br>\n");
// rename($path, $newPath); // <- makes the iterator to break
}
?> Test 1 (
|
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 <caco@ruinelli.ch>
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 <caco@ruinelli.ch>
Please report your finding(s) to https://bugs.php.net/how-to-report.php / https://github.com/php/php-src/issues/new/choose |
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 <caco@ruinelli.ch>
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 <caco@ruinelli.ch>
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 <caco@ruinelli.ch>
Solved with #515 |
Note: This issue might only be related to hostpoint.ch installations.
Until the fix #508 it was not possible at all to use the updater on hostpoint.ch installations. After the mentioned fix, the update successes until step 11:
But that step (disabling the maintenance mode) leads to an error 500:
The text was updated successfully, but these errors were encountered: