Skip to content
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

Mobile App Issues: Crashing on video playback and Media refresh issue post deletion from mobile #14845

Open
1 of 3 tasks
schizovivek opened this issue Dec 21, 2024 · 21 comments
Open
1 of 3 tasks

Comments

@schizovivek
Copy link

schizovivek commented Dec 21, 2024

The bug

So there are two issues I'm currently observing. Have two phones; S22+ and LG v30. The issues are persistent on both phones.

What I'm currently doing is backing up the pics from our phones into immich. Once I do that I move the backed up files into another folder on my NAS thereby deleting it from the phone.

First Issue:
App crashes on playing a video not on the phone.
If I play any video that's no longer on the phone the app just straight up crashes. No error no nothing. Just closes.

Second Issue:
Thumbnails don't refresh for media moved out of phone.
Once I've moved all the media out of the phone (post backup) the app just shows blurred out images for all the media that's been deleted. On clicking the actual image doesn't seem to load.
The only way I found to resolve this was to sign out and sign back in. That's the only time the data seems to refresh on the app. I tried a pull down to refresh and that did nothing.

image

The OS that Immich Server is running on

Ubuntu 23.04

Version of Immich Server

v1.123.0

Version of Immich Mobile App

v1.123.0 build.172

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

Doesn't seem related

Your .env content

Doesn't seem related

Reproduction steps

  1. Backup data from phone to server
  2. Delete data on the phone
  3. Re-launch Immich
  4. Check if the images are being shown (that were deleted from the phone)
  5. Sign out and sign back in
  6. Now try to launch a video that is only on the server

Relevant log output

No response

Additional information

No response

@schizovivek
Copy link
Author

schizovivek commented Dec 21, 2024

Just realized something. The App crashes even if I swipe into a video from an image.

@alextran1502
Copy link
Contributor

How did you remove the media from the phone? is it through the file explorer or the native photos app?

@schizovivek
Copy link
Author

Yeh. Used the file explorer .. X-plore to be precise

@alextran1502
Copy link
Contributor

That is probably why the app does not get notified why files are deleted

@schizovivek
Copy link
Author

Just wondering. Is there a better way to refresh the cache other than signing out and signing back in?

The first issue is a bit more concerning for me. We have a lot of videos and app crashing makes the app basically unusable. I have a feeling this issue is not recent and has been an issue since the version with the rendering issue.

@alextran1502
Copy link
Contributor

@schizovivek it was not designed with that action in mind so we will have to look at the implementation on how to clear the cache that way

@schizovivek
Copy link
Author

The caching isn't the biggest concern honestly. For the app crashing on the video is there something I can provide that could help debug the issue?

@alextran1502
Copy link
Contributor

@schizovivek Yes, the video as well as your video transcoding settings

@schizovivek
Copy link
Author

schizovivek commented Dec 21, 2024

Haven't changed any of the default settings.
The video issue is with any video. I'm just attaching here a video that I was sent and that I uploaded to immich.

Note:
These same videos cause no issues when already present on the mobile device. They only cause an issue when they have to load from the server.
Another side note; on the same devices the videos play seamlessly when played via the browser. I use Firefox on my LG while on the S22+ we use Chrome.

Transcoding settings
image

Video:
https://github.com/user-attachments/assets/97137939-6c2d-4079-afde-94456be01d60

@alextran1502
Copy link
Contributor

alextran1502 commented Dec 21, 2024

Hmm, settings looks fine, do you see any button to reset to default on the bottom of the transcoding settings section?

FWIW, I uploaded the video to my instance and it was playing fine as a remote asset on both Pixel 8 and Samsung S23

Does it crash on the APK you installed? And which method did you use to install the latest version, is it from the Play Store?

@schizovivek
Copy link
Author

Just did the following

  1. Reset the transcoding settings
  2. Ran the transcoding job
  3. On my LG cleared the App cache and data
  4. Added the URLs again
  5. Logged in
  6. Launched the same video
  7. Crash

These are the logs I see in my immich docker server

ESC[32m[Nest] 17  - ESC[39m12/19/2024, 10:43:33 PM ESC[32m    LOGESC[39m ESC[33m[Api:RouterExplorer]ESC[39m ESC[32mMapped {/api/assets/statistics, GET} routeESC[39m
[Nest] 7  - 12/20/2024, 12:00:00 AM   ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: VipsJpeg: Message codes are not supported, error message is in msg_parm.s string
[Nest] 7  - 12/20/2024, 12:00:00 AM   ERROR [Microservices:JobService] Error: VipsJpeg: Message codes are not supported, error message is in msg_parm.s string
    at Sharp.toBuffer (/usr/src/app/node_modules/sharp/lib/output.js:163:17)
    at MediaRepository.decodeImage (/usr/src/app/dist/repositories/media.repository.js:57:68)
    at MediaService.generateImageThumbnails (/usr/src/app/dist/services/media.service.js:161:63)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async MediaService.handleGenerateThumbnails (/usr/src/app/dist/services/media.service.js:111:25)
    at async JobService.onJobStart (/usr/src/app/dist/services/job.service.js:148:28)
    at async EventRepository.onEvent (/usr/src/app/dist/repositories/event.repository.js:134:13)
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7  - 12/20/2024, 12:00:00 AM   ERROR [Microservices:JobService] Object:
{
  "id": "07fbf4cd-718b-40d9-8474-7cee66a0f155"
}

[Nest] 17  - 12/20/2024, 1:29:58 AM   ERROR [Api:DatabaseService~ws13zg9j] Database disconnected: error: terminating connection due to administrator command
(node:7) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:17) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:7) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[Nest] 7  - 12/21/2024, 12:00:00 AM   ERROR [Microservices:JobService] Unable to run job handler (thumbnailGeneration/generate-thumbnails): Error: VipsJpeg: Message codes are not supported, error message is in msg_parm.s string
[Nest] 7  - 12/21/2024, 12:00:00 AM   ERROR [Microservices:JobService] Error: VipsJpeg: Message codes are not supported, error message is in msg_parm.s string
    at Sharp.toBuffer (/usr/src/app/node_modules/sharp/lib/output.js:163:17)
    at MediaRepository.decodeImage (/usr/src/app/dist/repositories/media.repository.js:57:68)
    at MediaService.generateImageThumbnails (/usr/src/app/dist/services/media.service.js:161:63)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async MediaService.handleGenerateThumbnails (/usr/src/app/dist/services/media.service.js:111:25)
    at async JobService.onJobStart (/usr/src/app/dist/services/job.service.js:148:28)
    at async EventRepository.onEvent (/usr/src/app/dist/repositories/event.repository.js:134:13)
    at async Worker.processJob (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:394:28)
    at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:581:24)
[Nest] 7  - 12/21/2024, 12:00:00 AM   ERROR [Microservices:JobService] Object:
{
  "id": "07fbf4cd-718b-40d9-8474-7cee66a0f155"
}

[Nest] 17  - 12/21/2024, 11:03:31 AM   ERROR [Api:StreamableFile] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
    at ServerResponse.<anonymous> (node:internal/streams/pipeline:415:29)
    at ServerResponse.emit (node:events:536:35)
    at emitCloseNT (node:_http_server:1033:10)
    at Socket.onServerResponseClose (node:_http_server:284:5)
    at Socket.emit (node:events:536:35)
    at TCP.<anonymous> (node:net:350:12)
    at TCP.callbackTrampoline (node:internal/async_hooks:130:17)
[Nest] 17  - 12/21/2024, 11:03:41 AM   ERROR [Api:StreamableFile] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
    at ServerResponse.<anonymous> (node:internal/streams/pipeline:415:29)
    at ServerResponse.emit (node:events:536:35)
    at emitCloseNT (node:_http_server:1033:10)
    at Socket.onServerResponseClose (node:_http_server:284:5)
    at Socket.emit (node:events:536:35)
    at TCP.<anonymous> (node:net:350:12)
    at TCP.callbackTrampoline (node:internal/async_hooks:130:17)
[Nest] 17  - 12/21/2024, 11:03:59 AM   ERROR [Api:StreamableFile] Premature close
Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
    at ServerResponse.<anonymous> (node:internal/streams/pipeline:415:29)
    at ServerResponse.emit (node:events:536:35)
    at emitCloseNT (node:_http_server:1033:10)
    at Socket.onServerResponseClose (node:_http_server:284:5)
    at Socket.emit (node:events:536:35)
    at TCP.<anonymous> (node:net:350:12)
    at TCP.callbackTrampoline (node:internal/async_hooks:130:17)

@schizovivek
Copy link
Author

Looks like they're older logs. Don't see anything in the most recent logs
This is all I see

[Nest] 17  - 12/21/2024, 9:19:00 PM     LOG [Api:EventRepository] Websocket Connect:    UN7MrEPsd1a0x6SVAACF
[Nest] 17  - 12/21/2024, 9:19:10 PM     LOG [Api:EventRepository] Websocket Disconnect: VWFYEzP3x2YJ9CzTAACD
[Nest] 17  - 12/21/2024, 9:19:13 PM     LOG [Api:EventRepository] Websocket Connect:    KlnwZRFVsCnQMaUGAACH
[Nest] 17  - 12/21/2024, 9:19:19 PM     LOG [Api:EventRepository] Websocket Disconnect: KlnwZRFVsCnQMaUGAACH
[Nest] 17  - 12/21/2024, 9:19:22 PM     LOG [Api:EventRepository] Websocket Connect:    wR_A1RTiEXPG7OAIAACJ
[Nest] 17  - 12/21/2024, 9:21:13 PM     LOG [Api:EventRepository] Websocket Disconnect: wR_A1RTiEXPG7OAIAACJ
[Nest] 17  - 12/21/2024, 9:21:16 PM     LOG [Api:EventRepository] Websocket Connect:    b9hEuKeSuJ4_Fsn7AACL
[Nest] 17  - 12/21/2024, 9:21:23 PM     LOG [Api:EventRepository] Websocket Connect:    H7dNyrxERulMry_AAACN
[Nest] 17  - 12/21/2024, 9:21:25 PM     LOG [Api:EventRepository] Websocket Disconnect: UN7MrEPsd1a0x6SVAACF
[Nest] 17  - 12/21/2024, 9:21:29 PM     LOG [Api:EventRepository] Websocket Disconnect: H7dNyrxERulMry_AAACN
[Nest] 17  - 12/21/2024, 9:21:31 PM     LOG [Api:EventRepository] Websocket Connect:    GKinTga4kg3o3OKvAACP
[Nest] 17  - 12/21/2024, 9:21:56 PM     LOG [Api:EventRepository] Websocket Disconnect: GKinTga4kg3o3OKvAACP
[Nest] 17  - 12/21/2024, 9:22:44 PM     LOG [Api:EventRepository] Websocket Connect:    vRKNVhSFrGv3G7aWAACR
[Nest] 17  - 12/21/2024, 9:22:57 PM     LOG [Api:EventRepository] Websocket Disconnect: vRKNVhSFrGv3G7aWAACR
[Nest] 17  - 12/21/2024, 9:24:54 PM     LOG [Api:EventRepository] Websocket Connect:    3ChN8WPo_Ev5m3M3AACT
[Nest] 17  - 12/21/2024, 9:25:28 PM     LOG [Api:EventRepository] Websocket Disconnect: 3ChN8WPo_Ev5m3M3AACT

@alextran1502
Copy link
Contributor

How did you install Immich on your instance?

@schizovivek
Copy link
Author

docker compose

.env file

# THESE TWO VARIABLES COME FROM ANOTHER ENV FILE
HOST_USER=<my user>
HOST_GROUP=<same as above>

# 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/pool/personal/memories
EXTERNAL_LIBRARY=/mnt/pool/personal/memories_non_immich
# The location where your database files are stored
DB_DATA_LOCATION=/home/<my user>/.config/dockerapps/immich/db

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=Europe/London

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

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=<my pwd>

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

REDIS_HOSTNAME=redis

MODEL_CACHE=/home/<my user>/.config/dockerapps/immich/model-cache

# Config variable
#IMMICH_CONFIG_FILE=immich.json

compose.yaml

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: immich

services:
  server:
    # container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      # - ${EXTERNAL_LIBRARY}:${EXTERNAL_LIBRARY}:ro
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    environment:
      user: ${HOST_USER}:${HOST_GROUP}
    ports:
      - 9006:2283
    depends_on:
      - redis
      - db
    restart: unless-stopped
    healthcheck:
      disable: false

  ml:
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - ${MODEL_CACHE}:/cache
    env_file:
      - .env
    environment:
      user: ${HOST_USER}:${HOST_GROUP}
    restart: unless-stopped
    healthcheck:
      disable: false

  redis:
    image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
    environment:
      user: ${HOST_USER}:${HOST_GROUP}
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped

  db:
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    # env_file:
    #   - .env
    environment:
      user: ${HOST_USER}:${HOST_GROUP}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: >-
        pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
        Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
        --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
        echo "checksum failure count is $$Chksum";
        [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: >-
      postgres
      -c shared_preload_libraries=vectors.so
      -c 'search_path="$$user", public, vectors'
      -c logging_collector=on
      -c max_wal_size=2GB
      -c shared_buffers=512MB
      -c wal_compression=on

@alextran1502
Copy link
Contributor

Do you mind trying to create a test instance with the stock docker-compose and .env file, then try uploading the video and see if it works? If it is, then some custom setup in your instance might have been causing the issue.

@schizovivek
Copy link
Author

Think I've found the issue. It seems to be happening since i'm using a local certificate for https (caddy). I just connected to my server using http and it worked

my https server: https://immich.machine-name.local
my http server: http://tailscale-server-name:9006

How I found out. I just tried to pull the adb logs using adb logcat and saw an error pop up when I launched the video. This is the error.

I hope the below is useful and my assumptions are correct :-D

12-21 21:50:50.881   725   924 D SDM     : DisplayBase::BuildLayerStackStats: LayerStack layer_count: 3, app_layer_count: 2, gpu_target_index: 2, display type: 0
12-21 21:50:50.883   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:50.913   815  1661 V AudioFlinger_Threads: releaseWakeLock_l() AudioOut_D
12-21 21:50:50.913   815  1661 V AudioFlinger_Threads: thread 0xe9883280 type 0 TID 1661 going to sleep
12-21 21:50:50.916   815  1663 V AudioFlinger_Threads: releaseWakeLock_l() AudioOut_15
12-21 21:50:50.916   815  1663 V AudioFlinger_Threads: thread 0xe9583980 type 0 TID 1663 going to sleep
12-21 21:50:50.921   815  1665 V AudioFlinger_Threads: releaseWakeLock_l() AudioOut_1D
12-21 21:50:50.922   815  1665 V AudioFlinger_Threads: thread 0xe9403680 type 0 TID 1665 going to sleep
12-21 21:50:51.093  1103  1366 D BandwidthController: [LG DATA] No such appUid in naughtyAppUids: 10353
12-21 21:50:51.094  1103  1366 D DnsProxyListener: App 10353 is allowed to send DNS. af=0 protocol=0
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal: Playback error
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:   j0.C: Source error
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at j0.w0.L(Unknown Source:16)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at j0.w0.handleMessage(Unknown Source:322)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:102)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:205)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:65)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:   Caused by: h0.q: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at h0.l.j(Unknown Source:268)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at h0.w.j(Unknown Source:12)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at q0.U$b.a(Unknown Source:25)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at t0.k$d.run(Unknown Source:45)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at java.lang.Thread.run(Thread.java:764)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:   Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:229)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:192)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:149)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:26)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at h0.l.y(Unknown Source:148)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at h0.l.x(Unknown Source:51)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at h0.l.j(Unknown Source:12)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       ... 6 more
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:   Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:646)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:605)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:495)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:418)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:339)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:88)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:208)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:404)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:375)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:224)
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       ... 21 more
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:   Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
12-21 21:50:51.154 13653 13807 E ExoPlayerImplInternal:       ... 33 more
12-21 21:50:51.204   725   924 D SDM     : DisplayBase::BuildLayerStackStats: LayerStack layer_count: 3, app_layer_count: 2, gpu_target_index: 2, display type: 0
12-21 21:50:51.204   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:51.210 13653 13653 D AndroidRuntime: Shutting down VM
12-21 21:50:51.213 13653 13653 E AndroidRuntime: FATAL EXCEPTION: main
12-21 21:50:51.213 13653 13653 E AndroidRuntime: Process: app.alextran.immich, PID: 13653
12-21 21:50:51.213 13653 13653 E AndroidRuntime: java.lang.ClassCastException: h0.q cannot be cast to java.lang.Error
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at E5.b.k0(Unknown Source:35)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.i0.C1(Unknown Source:2)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.i0.c0(Unknown Source:0)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.g0.b(Unknown Source:4)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at f0.n$c.a(Unknown Source:17)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at f0.n.h(Unknown Source:16)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at f0.n.a(Unknown Source:0)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at f0.m.run(Unknown Source:6)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at f0.n.f(Unknown Source:67)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.i0.f2(Unknown Source:422)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.i0.n1(Unknown Source:192)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.i0.s1(Unknown Source:0)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.i0.m0(Unknown Source:0)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at j0.Y.run(Unknown Source:4)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:873)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:205)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6991)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
12-21 21:50:51.213 13653 13653 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:884)
12-21 21:50:51.228  1770  3860 W ActivityManager:   Force finishing activity app.alextran.immich/.MainActivity
12-21 21:50:51.232  1770  3860 D ActivityManager: setVisibility false ActivityRecord{a85be69 u0 app.alextran.immich/.MainActivity t17018 f}
12-21 21:50:51.236  1770  3860 D WindowManager: FocusedWindow set Immersive Mode, win=Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity}
12-21 21:50:51.237  1770  1868 I SystemUI[Framework]: ==> disableLocked() userId=0, what=0x0, token=android.os.Binder@e317345, pkg=Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity}, whichFlag=1, bar=com.android.internal.statusbar.IStatusBar$Stub$Proxy@d24ff44
12-21 21:50:51.237  1770  1868 I SystemUI[Framework]: StatusBar disabled: mDisabled1=0x0 mDisabled2=0x0
12-21 21:50:51.237  1770  1868 I SystemUI[Framework]:   mDisableRecords.size=1
12-21 21:50:51.237  1770  1868 I SystemUI[Framework]:   [0] userId=0 what1=0x0 what2=0x0 pkg=null token=android.os.BinderProxy@d24da42
12-21 21:50:51.242  1770  1867 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
12-21 21:50:51.257  3968  9492 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1032 android.content.ContextWrapper.sendBroadcast:444 com.lge.mlt.providers.LDBSmartCareTrigger.sendMsgSmartCare:33 com.lge.mlt.providers.LDBMainLogProvider.insert:275 android.content.ContentProvider$Transport.insert:268
12-21 21:50:51.262  1770  3447 W ActivityManager: Sending non-protected broadcast com.lge.mlt.action.smartcare.event from system 3968:com.lge.mlt/1000 pkg com.lge.mlt
12-21 21:50:51.262 13653 13653 I Process : Sending signal. PID: 13653 SIG: 9
12-21 21:50:51.288  1770  1869 I ActivityManager: Start proc 13819:com.lge.ia.task.smartcare/1000 for broadcast com.lge.ia.task.smartcare/.SmartCareIntentReceiver
12-21 21:50:51.356  1770  2484 W InputDispatcher: channel 'd020ac app.alextran.immich/app.alextran.immich.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
12-21 21:50:51.356  1770  2484 E InputDispatcher: channel 'd020ac app.alextran.immich/app.alextran.immich.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
12-21 21:50:51.357 13819 13819 E .task.smartcar: Not starting debugger since process cannot load the jdwp agent.
12-21 21:50:51.389   815  1428 V AudioFlinger: 13653 died, releasing its sessions
12-21 21:50:51.390   815  1428 V AudioFlinger:  pid 3488 @ 0
12-21 21:50:51.390   815  1428 V AudioFlinger:  pid 32352 @ 1
12-21 21:50:51.392  1770  3861 D DisplayManagerService: Display listener for pid 13653 died.
12-21 21:50:51.392  1770  3863 I WindowManager: WIN DEATH: Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity}
12-21 21:50:51.393  1770  1870 W libprocessgroup: kill(-13653, 9) failed: No such process
12-21 21:50:51.394  1770  3846 I ActivityManager: Process app.alextran.immich (pid 13653) has died: vis  +99TOP
12-21 21:50:51.396  1022  1022 I Zygote  : Process 13653 exited due to signal (9)
12-21 21:50:51.396  1770  3863 W InputDispatcher: Attempted to unregister already unregistered input channel 'd020ac app.alextran.immich/app.alextran.immich.MainActivity (server)'
12-21 21:50:51.400  1770  3863 D WindowManager: FocusedWindow set Immersive Mode, win=Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity EXITING}
12-21 21:50:51.405  1770  1870 W libprocessgroup: kill(-13653, 9) failed: No such process
12-21 21:50:51.405  1770  1870 I libprocessgroup: Successfully killed process cgroup uid 10353 pid 13653 in 12ms
12-21 21:50:51.406  1770  3863 D InputDispatcher: Focus left window: Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity}
12-21 21:50:51.406  1770  3863 D InputDispatcher: Window went away: Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity}
12-21 21:50:51.406   820   820 I SurfaceFlinger: Removed BufferLayer(0x7528e8a000) SurfaceView - app.alextran.immich/app.alextran.immich.MainActivity@13653#1 (1079 x 1943)
12-21 21:50:51.407   820   820 I SurfaceFlinger: Removed BlurLayer(0x7528e8d000) Background for -SurfaceView - app.alextran.immich/app.alextran.immich.MainActivity@13653#1 (1079 x 1943)
12-21 21:50:51.410   820   820 I SurfaceFlinger: Removed BufferLayer(0x7528ef4000) SurfaceView - app.alextran.immich/app.alextran.immich.MainActivity@13653#0 (1080 x 2160)
12-21 21:50:51.410   820   820 I SurfaceFlinger: Removed BlurLayer(0x7528ef7000) Background for -SurfaceView - app.alextran.immich/app.alextran.immich.MainActivity@13653#0 (1080 x 2160)
12-21 21:50:51.405  1770  3863 D WindowManager: FocusedWindow set Immersive Mode, win=Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity EXITING}
12-21 21:50:51.411  1770  2451 D WindowManager: FocusedWindow set Immersive Mode, win=Window{d020ac u0 app.alextran.immich/app.alextran.immich.MainActivity EXITING}
12-21 21:50:51.412   725   924 D SDM     : DisplayBase::BuildLayerStackStats: LayerStack layer_count: 2, app_layer_count: 1, gpu_target_index: 1, display type: 0
12-21 21:50:51.413   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:51.424   820   820 I SurfaceFlinger: Removed BufferLayer(0x7528ec7000) app.alextran.immich/app.alextran.immich.MainActivity@13653#0 (1080 x 2160)
12-21 21:50:51.426   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:51.427   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:51.427   820   820 E HWComposer: presentAndGetReleaseFences: present failed for display 0: NotValidated (7)
12-21 21:50:51.440   820   820 I SurfaceFlinger: Removed ContainerLayer(0x752696c000) d020ac app.alextran.immich/app.alextran.immich.MainActivity#0 (5760 x 5760)
12-21 21:50:51.440   820   820 I SurfaceFlinger: Removed ContainerLayer(0x7528f7a000) Task=17018#0 (5760 x 5760)
12-21 21:50:51.440   820   820 I SurfaceFlinger: Removed ContainerLayer(0x7528f7d000) AppWindowToken{9b4598f token=Token{92c40ee ActivityRecord{a85be69 u0 app.alextran.immich/.MainActivity t17018}}}#0 (5760 x 5760)
12-21 21:50:51.442   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:51.442   725   924 I SDM     : HWInfo::GetFirstDisplayInterfaceType: First display is internal display
12-21 21:50:51.442   820   820 E HWComposer: presentAndGetReleaseFences: present failed for display 0: NotValidated (7)
12-21 21:50:51.450  1770  3846 D ActivityManager: setVisibility true ActivityRecord{3f56812 u0 com.teslacoilsw.launcher/.NovaLauncher t16862}
12-21 21:50:51.456   771   771 W PHHandler: [PH] hint not found.
12-21 21:50:51.453  1770  3846 D ActivityManager: setVisibility true ActivityRecord{3f56812 u0 com.teslacoilsw.launcher/.NovaLauncher t16862}
12-21 21:50:51.456  2838  2910 D AutoGameModeMonitor: Display : 0  Package : u0 com.teslacoilsw.launcher  PrevPackage : u0 app.alextran.immich

@schizovivek
Copy link
Author

I have the 'Allow self-signed SSL certificates' checkbox enabled in my app. Without which I cannot login using https

@hzxa21
Copy link

hzxa21 commented Dec 24, 2024

I have the exact video and live photo playback issue. I am also using self signed cert.

@schizovivek
Copy link
Author

I have the exact video and live photo playback issue. I am also using self signed cert.

Phew.. Glad i'm not the only one.

@GitMastic
Copy link

GitMastic commented Dec 24, 2024

I confirm exact same issue when using a self-signed certificate. Issue disappears when using HTTP or a public SSL certificate.

On Samsung S21. I was not able to log the problem but the app just closes immediately.

Issue is easy to replicate, use a self signed certificate, allow self signed but do not provide a certificate file (didn't test providing one)

@skyhoppertv
Copy link

skyhoppertv commented Dec 25, 2024

Here is my app log from Nothing Phone 1:

type: crash
osVersion: Nothing/voltage_Spacewar/Spacewar:15/AP3A.241105.008/eng.nobody:userdebug/release-keys
package: app.alextran.immich:2172
process: app.alextran.immich
processUptime: 13788 + 50 ms
installer: dev.imranr.obtainium

java.lang.ClassCastException: v0.c cannot be cast to java.lang.Error
	at E5.b.k0(Unknown Source:35)
	at j0.i0.C1(Unknown Source:2)
	at j0.i0.c0(Unknown Source:0)
	at j0.g0.b(Unknown Source:4)
	at f0.n$c.a(Unknown Source:17)
	at f0.n.h(Unknown Source:16)
	at f0.n.a(Unknown Source:0)
	at f0.m.run(Unknown Source:6)
	at f0.n.f(Unknown Source:67)
	at j0.i0.f2(Unknown Source:422)
	at j0.i0.n1(Unknown Source:192)
	at j0.i0.s1(Unknown Source:0)
	at j0.i0.m0(Unknown Source:0)
	at j0.Y.run(Unknown Source:4)
	at android.os.Handler.handleCallback(Handler.java:959)
	at android.os.Handler.dispatchMessage(Handler.java:100)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8732)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:585)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)

Hope that helps somehow!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants