nextcloud / nextcloud/recognize

Failed to open stream: No such file or directory

Open
#1,278 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority: normal waiting for more information
Dominant language
PHP
Stars
699
Forks
68
Avg merge
1d 4h
Merged PRs (30d)
5

Description

Which version of recognize are you using?

9.0.1

Enabled Modes

Face recognition, Object recognition, Video recognition

TensorFlow mode

Normal mode

Downstream App

Memories App

Which Nextcloud version do you have installed?

31.0.2

Which Operating system do you have installed?

Debian 12

Which database are you running Nextcloud on?

mariadb 11.4.5

Which Docker container are you using to run Nextcloud? (if applicable)

latest

How much RAM does your server have?

16 GB

What processor Architecture does your CPU have?

x86_64

Describe the Bug

just a few pictures (but some!) ware sucsussfully scanned by recognize (about 500 out of approx. 4000)

In error-Log there are some different errors:

"filesize(): stat failed for /var/www/html/data/Jean-Philip Ryll/files/Shares/Sternenhimmel/IMG_20221024_202409.jpg at /var/www/html/custom_apps/recognize/lib/Classifiers/Classifier.php#105" 

"exif_imagetype(/var/www/html/data/Jean-Philip Ryll/files/Shares/Sternenhimmel/IMG_20221024_202409.jpg): Failed to open stream: No such file or directory at /var/www/html/custom_apps/recognize/lib/Classifiers/Classifier.php#291" 

"Failed to generate preview of 559809 with dimension 1024 with nextcloud preview manager: No provider successfully handled the preview generation"

this errors appear repeatly with different pictures

Expected Behavior

recognize should scan my pictures in background and recognize faces and models :D

To Reproduce

I freshly installed recognize and configured it (as shown)

Image

Image

Image

Errorlog

Image

My docker-compose.yml:

version: "3"

networks:
  web:
    external: true
  internal:
    external: false

volumes:
  nextcloud:
  cache:
    
services:
  db:
    image: mariadb:11.4 #### Version am 11.04.2025 hinzugefuegt
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --innodb-read-only-compressed=OFF
    volumes:
      - /home/nextcloud/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=******
      - MYSQL_PASSWORD=******
      - MYSQL_DATABASE=nextclouddb
      - MYSQL_USER=nextcloud
      - MARIADB_AUTO_UPGRADE=1
    networks:
      - internal

  cache:
    image: redis
    restart: always
    command: redis-server --requirepass ******
    volumes:
      - cache:/data
    networks:
      - internal

  cloud:
    #image: nextcloud:latest
    build: .
    restart: always
    links:
      - db
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /storage/nextcloud:/var/www/html/data:z
      - /var/docker/nextcloud/000-default.conf:/etc/apache2/sites-available/000-default.conf
      - /var/docker/nextcloud/default-ssl.conf:/etc/apache2/sites-available/default-ssl.conf
      - nextcloud:/var/www/html:z
    environment:
      - MYSQL_PASSWORD=******
      - MYSQL_DATABASE=nextclouddb
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - OVERWRITEHOST=cloud.domain.de
      - OVERWRITEPROTOCOL=https
      - TRUSTED_PROXIES=172.19.0.0/16
      - APACHE_DISABLE_REWRITE_IP=1
      - REDIS_HOST=cache
      - REDIS_HOST_PASSWORD=******
      - NC_default_phone_region=DE
      - PHP_MEMORY_LIMIT=4G
      - PHP_UPLOAD_LIMIT=4G
    labels:
      - traefik.http.routers.cloud.rule=Host(`cloud.domain.de`)
      - traefik.http.routers.cloud.tls=true
      - traefik.http.routers.cloud.tls.certresolver=lets-encrypt
      - traefik.port=80
      - traefik.http.middlewares.cloudsts.headers.referrerPolicy=no-referrer
      - traefik.http.middlewares.cloudsts.headers.SSLRedirect=true
      - traefik.http.middlewares.cloudsts.headers.stsSeconds=15552000
      - traefik.http.middlewares.cloudsts.headers.browserXSSFilter=true
      - traefik.http.middlewares.cloudsts.headers.contentTypeNosniff=true
      - traefik.http.middlewares.cloudsts.headers.forceSTSHeader=true
      - traefik.http.middlewares.cloudsts.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.cloudsts.headers.STSPreload=true
      - traefik.http.middlewares.cloudsts.headers.customFrameOptionsValue=SAMEORIGIN
      - traefik.http.middlewares.cloudsts.headers.hostsProxyHeaders=X-Forwarded-For
      - traefik.http.middlewares.cloudredir.redirectregex.permanent=true
      - traefik.http.middlewares.cloudredir.redirectregex.regex=https://(.*)/.well-known/(card|cal)dav
      - traefik.http.middlewares.cloudredir.redirectregex.replacement=https://$$1/remote.php/dav/
      - traefik.http.routers.cloud.middlewares=cloudsts,cloudredir
    networks:
      - internal
      - web

  cron:
    image: nextcloud:latest
    restart: always
    entrypoint: /cron.sh
    depends_on:
      - db
      - cache
    volumes:
      - nextcloud:/var/www/html:z
      - /storage/nextcloud:/var/www/html/data:z
    networks:
      - internal

Debug log

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting recognize/lib/Classifiers/Classifier.php at lines 105 and 291, then reproduce the scan with the reported Nextcloud, Docker, and storage setup. Check why the reported image paths are unavailable during classification and preview generation. Done means background scanning processes the affected pictures without these file or preview errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
computer-vision, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.