I
Immich4mo ago
andreas

iOS App: multiple errors in the log

Hi guys, I just finished uploading all my iCloud media to my immich instance (running on a Hetzner VPS behind a nginx Reverse Proxy and Cloudflare, currently my iPhone connects directly to immich bypassing Cloudflare and nginx). Immich version was updated to v1.125.7, iOS App also updated to the latest version. In general, immich keeps uploading the last 4-6 assets, without ever finishing them - actually I find them in immich when accessing it using a browser. In the app I find those erros which I have not been able to get rid of. I will post them as a comment to this message. In addition, there is one warning telling me "Ignored 4 duplicate assets on device". I want to roll-out immich to my wife's phone, so I really want to get rid of this behaviour first. Do you have any idea where I could start?
39 Replies
Immich
Immich4mo ago
:wave: Hey @andreas, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA
Immich
Immich4mo ago
Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed.
GitHub
immich-app immich · Discussions
Explore the GitHub Discussions forum for immich-app immich. Discuss code, ask questions & collaborate with the developer community.
GitHub
Issues · immich-app/immich
High performance self-hosted photo and video management solution. - Issues · immich-app/immich
andreas
andreasOP4mo ago
PlatformDispatcher - Catch all Null check operator used on a null value #0 AssetResponseDto.fromJson (package:openapi/model/asset_response_dto.dart:292) #1 AssetResponseDto.listFromJson (package:openapi/model/asset_response_dto.dart:324) #2 AlbumResponseDto.fromJson (package:openapi/model/album_response_dto.dart:198) #3 ApiClient.fromJson (package:openapi/api_client.dart:204) #4 ApiClient.deserialize (package:openapi/api_client.dart:158) <asynchronous suspension> #5 AlbumsApi.getAlbumInfo (package:openapi/api/albums_api.dart:278) <asynchronous suspension> #6 ApiRepository.checkNull (package:immich_mobile/repositories/api.repository.dart:5) <asynchronous suspension> #7 AlbumApiRepository.get (package:immich_mobile/repositories/album_api.repository.dart:22) <asynchronous suspension> #8 SyncService._addAlbumFromServer (package:immich_mobile/services/sync.service.dart:452) <asynchronous suspension> #9 diffSortedLists (package:immich_mobile/utils/diff.dart:34) <asynchronous suspension> #10 SyncService._syncRemoteAlbumsToDb (package:immich_mobile/services/sync.service.dart:323) <asynchronous suspension> #11 AsyncMutex.run.<anonymous closure> (package:immich_mobile/utils/async_mutex.dart:15) <asynchronous suspension> Error while getting remote assets Null check operator used on a null value #0 AssetResponseDto.fromJson (package:openapi/model/asset_response_dto.dart:292) #1 ApiClient.fromJson (package:openapi/api_client.dart:260) #2 ApiClient.fromJson.<anonymous closure> (package:openapi/api_client.dart:653) #3 MappedIterable.elementAt (dart:_internal/iterable.dart:385) #4 ListIterator.moveNext (dart:_internal/iterable.dart:354) #5 new _List._ofEfficientLengthIterable (dart:core-patch/array.dart:163) #6 new _List.of (dart:core-patch/array.dart:128) #7 new List.of (dart:core-patch/array_patch.dart:39) #8 ListIterable.toList (dart:_internal/iterable.dart:224) #9 ApiClient.fromJson (package:openapi/api_client.dart:654) #10 ApiClient.deserialize (package:openapi/api_client.dart:158) <asynchronous suspension> #11 SyncApi.getFullSyncForUser (package:openapi/api/sync_api.dart:108) <asynchronous suspension> #12 AssetService._getRemoteAssets (package:immich_mobile/services/asset.service.dart:145) <asynchronous suspension> #13 SyncService._syncRemoteAssetsForUser (package:immich_mobile/services/sync.service.dart:267) <asynchronous suspension> #14 SyncService._syncRemoteAssetsFull (package:immich_mobile/services/sync.service.dart:257) <asynchronous suspension> #15 SyncService.syncRemoteAssetsToDb.<anonymous closure> (package:immich_mobile/services/sync.service.dart:92) <asynchronous suspension> #16 AsyncMutex.run.<anonymous closure> (package:immich_mobile/utils/async_mutex.dart:15) <asynchronous suspension>
Mraedis
Mraedis4mo ago
Cloudflare has a 100MB limit, are these assets larger than that? Ah sorry I see you bypassed it with direct IP The errors are from the iOS app I assume? I'll bow out because they mean nothing to me as I don't have experience there 🙃
andreas
andreasOP4mo ago
Yes, i am bypassing cloudflare for the initial update. And also yes, those are the log entries shown in the ios app. 🙂 Mh there is one addition: it seems that plenty of my assets are showing the „not synced to cloud“ icon, while still being available using the browser. It seems like that’s the case for 30%-ish of the assets. 😦
Zeus
Zeus4mo ago
Wdym your iPhone connects “direct to immich You port forwarded 2283..?
andreas
andreasOP4mo ago
I am using the public ip and the port 2283 (opened in the firewall) instead of the domain pointed to the server through Cloudflare and the reverse proxy. So: http://111.111.111.111:2283/api
Zeus
Zeus4mo ago
Ok. So just so you know your entire photo library just got transmitted in plaintext over the internet That’s, really not great As well as your immich password / API key
andreas
andreasOP3mo ago
Yes, i wanted to bypass the cloudflare file size limit for the initial upload and wasn’t able to come up with another idea. 😦
Zeus
Zeus3mo ago
VPN? Reverse proxy?
andreas
andreasOP3mo ago
Yeah will fix this as soon as i was able to fix those issues i am having. 🙂
Alex Tran
Alex Tran3mo ago
There is a malform value because of a bad date in the fileNodifiedAt column So we need to remove that from the database
andreas
andreasOP3mo ago
I see... do you happen to have any guidance on how to find the value and how to delete it?
Alex Tran
Alex Tran3mo ago
Yes from the terminal, you can run the following commands
docker exec -it immich_postgres psql --dbname=immich --username=postgres
docker exec -it immich_postgres psql --dbname=immich --username=postgres
Then run
select a.id, a."fileCreatedAt" from assets a order by a."fileCreatedAt" < '1800-01-01 00:00:00';
select a.id, a."fileCreatedAt" from assets a order by a."fileCreatedAt" < '1800-01-01 00:00:00';
and
select a.id, a."fileModifiedAt" from assets a order by a."fileModifiedAt" < '1800-01-01 00:00:00';
select a.id, a."fileModifiedAt" from assets a order by a."fileModifiedAt" < '1800-01-01 00:00:00';
andreas
andreasOP3mo ago
The first query returns 11074 results (having around 9500 assets)
Alex Tran
Alex Tran3mo ago
can you copy some of the result please
andreas
andreasOP3mo ago
the second query returns the same amount of results
Alex Tran
Alex Tran3mo ago
hmm strange one sec oh I got the wrong query
select a.id, a."fileCreatedAt" from assets a where a."fileCreatedAt" < '1800-01-01 00:00:00';
select a.id, a."fileCreatedAt" from assets a where a."fileCreatedAt" < '1800-01-01 00:00:00';
andreas
andreasOP3mo ago
Ah ok. this returns one result
andreas
andreasOP3mo ago
No description
Alex Tran
Alex Tran3mo ago
ok let's remove that then you should be good
andreas
andreasOP3mo ago
remove directly in the db?
Alex Tran
Alex Tran3mo ago
yes
andreas
andreasOP3mo ago
ok done, will check it out! thanks for your support! is this an error in my meta data somewhere?
Alex Tran
Alex Tran3mo ago
correct, however we should handle this case and not error out on the mobile app this problem start surfacing after we switch the database underlaying query engine in this release
andreas
andreasOP3mo ago
mh the app still reported those errors after logout/login. I found 31 results for fileModifiedAt should i delete those too? seems fixed now! awesome! 🙂 Now i am left with the "ignored 4 duplicate assets on device" warning. Thanks again for your support
Alex Tran
Alex Tran3mo ago
👍
andreas
andreasOP3mo ago
mh now the app tries to upload a file which just is not there at all... can i somehow delete the cache or something on the iphone? its looking for a picutre with the name "..." and created on "2020 10 04", but i have no asset created on that date.
Alex Tran
Alex Tran3mo ago
that is a placeholder, if it appear to be uploading, and no return result. It perhaps an UI bug or related to reverse proxy/CF limitation. Do you use any of the two?
andreas
andreasOP3mo ago
Currently i am directly connected to immich without CF or Reverse Proxy. Now the sync screen shows 1 remaining asset. The asset information is showing details from the last upload, though it’s not uploading whatever might be missing.
No description
Zeus
Zeus3mo ago
It will always show the last file uploaded there
andreas
andreasOP3mo ago
Mh i can not figure out what’s happening with the sync. Meanwhile, another error is thrown: ApiException 400: HTTP connection failed: GET /partners (Inner exception: ClientException: Bad file descriptor). Any idea? ApiException 400: HTTP connection failed: GET /partners (Inner exception: ClientException: Bad file descriptor, uri=http://xxxxxx:2283/api/partners?direction=shared-by) #0 IOClient.send (package:http/src/io_client.dart:156) <asynchronous suspension> #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:93) <asynchronous suspension> #2 ApiClient.invokeAPI (package:openapi/api_client.dart:101) <asynchronous suspension> #3 PartnersApi.getPartners (package:openapi/api/partners_api.dart:102) <asynchronous suspension> #4 ApiRepository.checkNull (package:immich_mobile/repositories/api.repository.dart:5) <asynchronous suspension> #5 PartnerApiRepository.getAll (package:immich_mobile/repositories/partner_api.repository.dart:22) <asynchronous suspension> #6 UserService.getUsersFromServer (package:immich_mobile/services/user.service.dart:63) <asynchronous suspension> #7 UserService.refreshUsers (package:immich_mobile/services/user.service.dart:102) <asynchronous suspension> #8 AlbumService.refreshRemoteAlbums (package:immich_mobile/services/album.service.dart:171) <asynchronous suspension> #9 AlbumNotifier.refreshRemoteAlbums (package:immich_mobile/providers/album/album.provider.dart:35) <asynchronous suspension>
Alex Tran
Alex Tran3mo ago
Is the server on the latest version?
andreas
andreasOP3mo ago
Yes it is. Updated to 1.125.7 a couple of days ago.
Alex Tran
Alex Tran3mo ago
Can you try signout and sign back in?
andreas
andreasOP3mo ago
i’ll try. so far only the „one duplicate is ignored“ message showed up.
Alex Tran
Alex Tran3mo ago
that can be ignored, sounds like it is working again
andreas
andreasOP3mo ago
yes looks better. the app still says there is one asset to sync and keeps spinning the „sync icon“ forever. the log says all is up to date though.

Did you find this page helpful?