Some files don't sync, and then wont stay in their folder

Nextcloud Server version: 25.0.0
Nextcloud Desktop Version: 3.6.1
Server Operating system and version: Ubuntu 22.04 server
Desktop Operating system and version: Ubuntu 22.04 desktop
Apache or nginx version: Apache - docker compose
PHP version: docker compose

The issue you are facing:
I have folder with about 4Gbs of photos. 3 of them were not sync’ed. I moved them out of their folder into a different folder and then they synced. If I try to move them back to the original folder they jump back out the the second folder I put them in (I can’t put them into the original folder).

Is this the first time you’ve seen this error? : Y

Steps to replicate it:

  1. copied a big folder to nextcloud last night.
  2. checked today and noticed 3 files hadn’t sync’ed
  3. move files to new folder, then try to move them back to original folder.

The output of your Nextcloud log in Admin > Logging:

Error: exif_read_data(): Invalid JPEG file at /var/www/html/lib/private/Metadata/Provider/ExifProvider.php#20

    <<closure>>

    OC\Log\ErrorHandler::onError(2, "exif_read_d ... e", "/var/www/ht ... p", 20)

    /var/www/html/lib/private/Metadata/Provider/ExifProvider.php - line 20:

    exif_read_data(null, "COMPUTED", true)

    /var/www/html/lib/private/Metadata/MetadataManager.php - line 76:

    OC\Metadata\Provider\ExifProvider->execute(OC\Files\Node\File {})

    /var/www/html/lib/private/Metadata/FileEventListener.php - line 101:

    OC\Metadata\MetadataManager->generateMetadata(OC\Files\Node\File {}, false)

    /var/www/html/lib/private/EventDispatcher/ServiceEventListener.php - line 87:

    OC\Metadata\FileEventListener->handle(OCP\Files\Ev ... {})

    /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php - line 251:

    OC\EventDispatcher\ServiceEventListener->__invoke(OCP\Files\Ev ... {}, "OCP\\Files\ ... t", Symfony\Comp ... {})

    /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php - line 73:

    Symfony\Component\EventDispatcher\EventDispatcher->callListeners([ Closure {}], "OCP\\Files\ ... t", OCP\Files\Ev ... {})

    /var/www/html/lib/private/EventDispatcher/EventDispatcher.php - line 88:

    Symfony\Component\EventDispatcher\EventDispatcher->dispatch(OCP\Files\Ev ... {}, "OCP\\Files\ ... t")

    /var/www/html/lib/private/EventDispatcher/EventDispatcher.php - line 100:

    OC\EventDispatcher\EventDispatcher->dispatch("OCP\\Files\ ... t", OCP\Files\Ev ... {})

    /var/www/html/lib/private/Files/Node/HookConnector.php - line 118:

    OC\EventDispatcher\EventDispatcher->dispatchTyped(OCP\Files\Ev ... {})

    /var/www/html/lib/private/legacy/OC_Hook.php - line 106:

    OC\Files\Node\HookConnector->postWrite([ "//2021-08-18 13.01.57.jpg"])

    /var/www/html/apps/dav/lib/Connector/Sabre/File.php - line 471:

    OC_Hook::emit("OC_Filesystem", "post_write", [ "//2021-08-18 13.01.57.jpg"])

    /var/www/html/apps/dav/lib/Connector/Sabre/File.php - line 398:

    OCA\DAV\Connector\Sabre\File->emitPostHooks(false)

    /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php - line 151:

    OCA\DAV\Connector\Sabre\File->put(null)

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 1098:

    OCA\DAV\Connector\Sabre\Directory->createFile("2021-08-18 13.01.57.jpg", null)

    /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 504:

    Sabre\DAV\Server->createFile("files/aryeh ... g", null, null)

    /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

    Sabre\DAV\CorePlugin->httpPut(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

    Sabre\DAV\Server->emit("method:PUT", [ Sabre\HTTP ... }])

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

    Sabre\DAV\Server->start()

    /var/www/html/apps/dav/lib/Server.php - line 360:

    Sabre\DAV\Server->exec()

    /var/www/html/apps/dav/appinfo/v2/remote.php - line 35:

    OCA\DAV\Server->exec()

    /var/www/html/remote.php - line 167:

    require_once("/var/www/ht ... p")
Error: exif_read_data(): Error reading from file: got=x3FFA(=16378) != itemlen-2=x6513(=25875) at /var/www/html/lib/private/Metadata/Provider/ExifProvider.php#20

    <<closure>>

    OC\Log\ErrorHandler::onError(2, "exif_read_d ... )", "/var/www/ht ... p", 20)

    /var/www/html/lib/private/Metadata/Provider/ExifProvider.php - line 20:

    exif_read_data(null, "COMPUTED", true)

    /var/www/html/lib/private/Metadata/MetadataManager.php - line 76:

    OC\Metadata\Provider\ExifProvider->execute(OC\Files\Node\File {})

    /var/www/html/lib/private/Metadata/FileEventListener.php - line 101:

    OC\Metadata\MetadataManager->generateMetadata(OC\Files\Node\File {}, false)

    /var/www/html/lib/private/EventDispatcher/ServiceEventListener.php - line 87:

    OC\Metadata\FileEventListener->handle(OCP\Files\Ev ... {})

    /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php - line 251:

    OC\EventDispatcher\ServiceEventListener->__invoke(OCP\Files\Ev ... {}, "OCP\\Files\ ... t", Symfony\Comp ... {})

    /var/www/html/3rdparty/symfony/event-dispatcher/EventDispatcher.php - line 73:

    Symfony\Component\EventDispatcher\EventDispatcher->callListeners([ Closure {}], "OCP\\Files\ ... t", OCP\Files\Ev ... {})

    /var/www/html/lib/private/EventDispatcher/EventDispatcher.php - line 88:

    Symfony\Component\EventDispatcher\EventDispatcher->dispatch(OCP\Files\Ev ... {}, "OCP\\Files\ ... t")

    /var/www/html/lib/private/EventDispatcher/EventDispatcher.php - line 100:

    OC\EventDispatcher\EventDispatcher->dispatch("OCP\\Files\ ... t", OCP\Files\Ev ... {})

    /var/www/html/lib/private/Files/Node/HookConnector.php - line 118:

    OC\EventDispatcher\EventDispatcher->dispatchTyped(OCP\Files\Ev ... {})

    /var/www/html/lib/private/legacy/OC_Hook.php - line 106:

    OC\Files\Node\HookConnector->postWrite([ "//2021-08-18 13.01.57.jpg"])

    /var/www/html/apps/dav/lib/Connector/Sabre/File.php - line 471:

    OC_Hook::emit("OC_Filesystem", "post_write", [ "//2021-08-18 13.01.57.jpg"])

    /var/www/html/apps/dav/lib/Connector/Sabre/File.php - line 398:

    OCA\DAV\Connector\Sabre\File->emitPostHooks(false)

    /var/www/html/apps/dav/lib/Connector/Sabre/Directory.php - line 151:

    OCA\DAV\Connector\Sabre\File->put(null)

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 1098:

    OCA\DAV\Connector\Sabre\Directory->createFile("2021-08-18 13.01.57.jpg", null)

    /var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 504:

    Sabre\DAV\Server->createFile("files/aryeh ... g", null, null)

    /var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

    Sabre\DAV\CorePlugin->httpPut(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

    Sabre\DAV\Server->emit("method:PUT", [ Sabre\HTTP ... }])

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})

    /var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

    Sabre\DAV\Server->start()

    /var/www/html/apps/dav/lib/Server.php - line 360:

    Sabre\DAV\Server->exec()

    /var/www/html/apps/dav/appinfo/v2/remote.php - line 35:

    OCA\DAV\Server->exec()

    /var/www/html/remote.php - line 167:

    require_once("/var/www/ht ... p")

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

root@server:/var/lib/docker/volumes/nextcloud_nextcloud/_data/config# cat config.php 
<?php
$CONFIG = array (
  'htaccess.RewriteBase' => '/',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' => 
  array (
    0 => 
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 => 
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'instanceid' => 'removed',
  'passwordsalt' => 'removed',
  'secret' => 'removed',
  'trusted_domains' => 
  array (
    0 => 'server:8080',
  ),
  'datadirectory' => '/var/www/html/data',
  'dbtype' => 'mysql',
  'version' => '25.0.0.18',
  'overwrite.cli.url' => 'http://server:8080',
  'dbname' => 'nextcloud',
  'dbhost' => 'db',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'removed',
  'dbpassword' => 'removed',
  'installed' => true,
  'maintenance' => false,
  'loglevel' => 2,
  'theme' => '',
);

The output of your Apache/nginx/system log in /var/log/____:
When I try to nano the apache logs I get [ "error.log" is a device file ] I can't cat them either

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

PASTE HERE

I had recently upgraded from version 24 to 25 and thought maybe that was the problem. I just tried to downgrade but the container wont start.

Can't start Nextcloud because the version of the data (25.0.0.18) is higher than the docker image version (24.0.6.1) and downgrading is not supported. Are you sure you have pulled the newest image version?

Ouch!