Vraag


Acties:
  • 0 Henk 'm!

  • vj_slof
  • Registratie: Mei 2010
  • Laatst online: 16:30
Na een upgrade van Nextcloud 25 naar Nextcloud 27.01 loop ik nu tegen een klein probleem aan tijdens het file scan. Ik krijg dan een foutmelding net uitvoeren van het volgende commando:

>sudo -u www-data php occ files:scan -vvv --all

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Starting scan for user 1 out of 6 (gebruiker1)
An unhandled exception has been thrown:
TypeError: OC\Files\Cache\Scanner::scanChildren(): Argument #6 ($oldSize) must be of type int, float given, called in /var/www/html/nextcloud/lib/private/Files/Cache/Scanner.php on line 347 and defined in /var/www/html/nextcloud/lib/private/Files/Cache/Scanner.php:391
Stack trace:
#0 /var/www/html/nextcloud/lib/private/Files/Cache/Scanner.php(347): OC\Files\Cache\Scanner->scanChildren()
#1 /var/www/html/nextcloud/lib/private/Files/Utils/Scanner.php(269): OC\Files\Cache\Scanner->scan()
#2 /var/www/html/nextcloud/apps/files/lib/Command/Scan.php(164): OC\Files\Utils\Scanner->scan()
#3 /var/www/html/nextcloud/apps/files/lib/Command/Scan.php(219): OCA\Files\Command\Scan->scanFiles()
#4 /var/www/html/nextcloud/3rdparty/symfony/console/Command/Command.php(298): OCA\Files\Command\Scan->execute()
#5 /var/www/html/nextcloud/core/Command/Base.php(177): Symfony\Component\Console\Command\Command->run()
#6 /var/www/html/nextcloud/3rdparty/symfony/console/Application.php(1040): OC\Core\Command\Base->run()
#7 /var/www/html/nextcloud/3rdparty/symfony/console/Application.php(301): Symfony\Component\Console\Application->doRunCommand()
#8 /var/www/html/nextcloud/3rdparty/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#9 /var/www/html/nextcloud/lib/private/Console/Application.php(211): Symfony\Component\Console\Application->run()
#10 /var/www/html/nextcloud/console.php(100): OC\Console\Application->run()
#11 /var/www/html/nextcloud/occ(11): require_once('...')



Relevante software en hardware die ik gebruik
Debian 11 op 32 bit<!!!! i know i know, Nextcloud 27.01, PHP8.2, Apache

Wat ik al gevonden of geprobeerd heb:
Opgezocht op Nextcloud support en het zou te maken kunnen hebben met vreemde tekens in bestandsnamen. Het lijkt me vreemd want op Nextcloud 25 en tussentijds ook even op 26 gezeten te hebben kreeg ik geen enkele foutmelding. Voorheen werkte het allemaal wel met PHP 8.0 maar ik was de melding van Nextcloud zelf helemaal beu en een update naar PHP8.2 uitgevoerd.

Alles werkt verder wel naar behoren en andere occ commando's werken ook gewoon. Alleen files:scan lijkt stuk.

Downgrade naar 8.0 zie ik niet zitten. Er is een tijd geleden een hele discussie geweest of Nextcloud compleet 64 bit zou gaan worden maar dit is teruggedraaid en 32 bit gaat gewoon weer door en hier werkt Nextcloud 27 dan ook wel prima op dit kleine probleem na.

Normaal gesproken kom ik er na een halve dag puzzelen wel uit maar deze keer lukt het me niet en een downgrade zie ik even niet zitten. Wat te doen?

Beste antwoord (via vj_slof op 26-07-2023 10:47)


  • Endpoint
  • Registratie: April 2016
  • Laatst online: 12-05 19:06
Nu ben ik geen kenner van Nextcloud, maar je geeft zelf aan dat je geupgrade heb naar PHP8.2, en op regel 3 zie ik een melding dat hij een issue heeft met scanner.php.

Zou het eens in deze hoek zoeken. Mogelijk kijkt Nextcloud nog naar je oude php directories.

Bijvoorbeeld om te checken: https://help.nextcloud.co...installed-solved/166151/4

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Endpoint
  • Registratie: April 2016
  • Laatst online: 12-05 19:06
Nu ben ik geen kenner van Nextcloud, maar je geeft zelf aan dat je geupgrade heb naar PHP8.2, en op regel 3 zie ik een melding dat hij een issue heeft met scanner.php.

Zou het eens in deze hoek zoeken. Mogelijk kijkt Nextcloud nog naar je oude php directories.

Bijvoorbeeld om te checken: https://help.nextcloud.co...installed-solved/166151/4

Acties:
  • 0 Henk 'm!

  • vj_slof
  • Registratie: Mei 2010
  • Laatst online: 16:30
Deze stappen heb ik exact zo uitgevoerd na de upgrade van Nextcloud 27 om die melding weg te krijgen.

Bedankt voor de tip verder en ik zal het desbetreffende .php-bestand straks even verder analyseren op de verwijzing naar de oude php8.0.

Ik heb geen verwijzingen gevonden. Wel heb ik wat aanpassingen in het scanner.php uit moeten voeren en voor $size op regel 347 en regel 400 (int) moeten plaatsen. Dit is blijkbaar op een aantal plaatsen nodig als je op 32-bit werkt.

Oude regel 347:
code:
1
($size = ($this->scanChildren($path, $recursive, $reuse, $data['fileid'], $lock, ($data['size']);

Nieuwe regel:
code:
1
(int)$size = (int)$this->scanChildren($path, $recursive, $reuse, $data['fileid'], $lock, (int)$data['size']);


en regel 400
code:
1
$childSize = $this->scanChildren($child, $recursive, $reuse, $childId, $lock, $childSize);

naar
code:
1
(int)$childSize = (int)$this->scanChildren($child, $recursive, $reuse, $childId, $lock, (int)$childSize);


Dit soort wijzigingen moet ik ook iedere keer doen als ik Nextcloud heb geupgrade en mijn Trashbin niet meer werkt. Daar kan ik wel mee leven en misschien ooit ga ik dit ook melden aan Nextcloud maar volgens mij zijn ze wel bekend met dit probleem en weet ik niet zo goed hoe ik dit moet verwoorden.

[ Voor 52% gewijzigd door vj_slof op 26-07-2023 10:39 ]