immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
46.47k stars 2.31k forks source link

[BUG] Panoramic images appear as all black when you attempt to open full size #5296

Closed dazzag24 closed 3 weeks ago

dazzag24 commented 10 months ago

The bug

Using the built in search for panoramic images shows a page of thumbnails. If you click on any of them to view the full size image you see only a black screen.

image

Inspecting the network request in Firefox shows that there was a response. However the preview looks possibly truncated in the vertical plane? I'm not sure if this is an artifact of browser tools or if this what was received from the server.

image

If I open the URL for the full size image in a new tab it does render correctly, so the server can return the full image.

In the console log I see this errors at the same time:

WebGL warning: texStorage(Multisample)?: Requested size at this level is unsupported.
WebGL warning: texSubImage: The specified TexImage has not yet been specified. 

The OS that Immich Server is running on

Ubuntu 22.04.3 LTS

Version of Immich Server

v1.88.2

Version of Immich Mobile App

N/A

Platform with the issue

Your docker-compose.yml content

version: "3.8"

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/crucial/Photos:/mnt/media/photos:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/crucial/Photos:/mnt/media/photos:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - tsdata:/data
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:3995fe6ea6a619313e31046bd3c8643f9e70f8f2b294ff82659d409b47d06abb
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:874f566dd512d79cf74f59754833e869ae76ece96716d153b0fa3e64aec88d92
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

volumes:
  pgdata:
  model-cache:
  tsdata:

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/ssd/immich-uploads

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=<REDACTED>
DB_PASSWORD=<REDACTED>

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. Visit Explore.
2. Click on "Panorama Photos" under Categories
3. Click on a panoramic thumbnail to view full size

Additional information

No response

alextran1502 commented 10 months ago

Can you help provide an example file?

dazzag24 commented 10 months ago

Yes, how best to share with you?

On Fri, 24 Nov 2023 at 17:19, Alex @.***> wrote:

Can you help provide an example file?

— Reply to this email directly, view it on GitHub https://github.com/immich-app/immich/issues/5296#issuecomment-1825937342, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIBYV7DPML6BMBL5XOXPVTYGDJJ3AVCNFSM6AAAAAA7ZL3MB2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRVHEZTOMZUGI . You are receiving this because you authored the thread.Message ID: @.***>

alextran1502 commented 10 months ago

You can share it here if that is ok with you

dazzag24 commented 10 months ago

OK. Here is it. Apologies for the delay:

IMG_20230121_105141207

Spoil001 commented 9 months ago

This could be an issue with Firefox. The same image that fails to load in Firefox for me, renders fine in Chrome.

I found similar bug reports for:

Unity: https://issuetracker.unity3d.com/issues/webgl-teximage2d-requested-size-at-this-level-is-unsupported-on-firefox-plus-integrated-gpu-if-texture-size-is-higher-than-1024 HTML5 games: https://www.html5gamedevs.com/topic/44884-firefox-requested-size-at-this-level-is-unsupported/

bvonbla commented 9 months ago

I can reproduce the issue on Chrome. Edit: on my android device, in firefox, the panorama's do work!

bvonbla commented 8 months ago

I have new info on the issue. Had not noticed it before. But there is good info in the browser console. They are webgl related. See screenshot. image

danieldietzler commented 3 weeks ago

The provided image works for me on both chrome and firefox. If this is still an issue, please let us know