t2bot / matrix-media-repo

Highly configurable multi-domain media repository for Matrix.

Home Page:https://docs.t2bot.io/matrix-media-repo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Thumbnails break if requested twice (v1.3.1)

surakin opened this issue · comments

Running latest master

Generating a thumbnail twice seems to break it

For example _matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE?width=64&height=64&method=crop (this is #matrixhq:matrix.org's avatar)

Entering this url on a browser will load fine the first time, but CTRL+F5 will show
{"errcode":"M_UNKNOWN","error":"Unexpected Error","mr_errcode":"M_UNKNOWN"}

And the log will print
level=error msg="Unexpected error locating media: open /data/thumbnails/02/df/a78bdc3a8c07dec2ef3cee236b1f9101f9671700253364924710912idv2fmt: no such file or directory" allowRemote=true contentLength=0 contentType="" ...

Tried several mxc's and it's always the same.

If you could turn your logs up to debug level and provide the snippets, would be appreciated.

here!

FIRST REQUEST
---
level=debug 
msg="Getting whole cached object for c7210bd1a31ace1ea794ce900ec29948e474359e4bdcf9dffbcebc29a85b10da" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:45670" requestId=REQ-0 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=debug 
msg="Using generator: pngGenerator" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:45670" requestId=REQ-0 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=debug msg="Lock acquired until 2023-09-12 18:38:49.987828922 +0000 UTC" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:45670" requestId=REQ-0 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=debug 
msg="Unlocking upload lock" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:45670" requestId=REQ-0 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=info 
msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:1270 Data:0xc0002342e8 TargetDisposition:infer}" contentLength=0 contentType="" method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:45670" requestId=REQ-0 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE 
level=debug 
---
SECOND REQUEST
---
msg="Getting whole cached object for c7210bd1a31ace1ea794ce900ec29948e474359e4bdcf9dffbcebc29a85b10da" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:58640" requestId=REQ-1 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=debug 
msg="Using generator: pngGenerator" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:58640" requestId=REQ-1 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=debug 
msg="Found existing record for parameters - discarding generated thumbnail" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:58640" requestId=REQ-1 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=debug 
msg="Getting whole cached object for d0470ef36452d2d9ad2ad7cbe7e94eeeb0fc31c5022884c4827ed1964948ab15" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:58640" requestId=REQ-1 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=error 
msg="Unexpected error locating media: open /data/thumbnails/02/df/a78bdc3a8c07dec2ef3cee236b1f9101f9671700253364924710912idv2fmt: no such file or directory" allowRemote=true contentLength=0 contentType="" mediaId=DRevoaEiuzbkOznknySKuMmE method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:58640" requestId=REQ-1 requestedAnimated=true requestedHeight=64 requestedMethod=crop requestedWidth=64 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE server=matrix.org 
level=info msg="Replying with result: *_responses.ErrorResponse &{Code:M_UNKNOWN Message:Unexpected Error InternalCode:M_UNKNOWN}" contentLength=0 contentType="" method=GET queryString="height=64&method=crop&width=64" remoteAddr="192.168.20.9:58640" requestId=REQ-1 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE 

I can't replicate this.

Using:

https://aguiarvieira.pt/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE?width=64&height=64&method=crop

mediarepo-mediarepo-1  | time="2023-09-12 19:48:28.405 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a74618 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59586" requestId=REQ-6469 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:28.561 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a747c8 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59590" requestId=REQ-6470 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:28.738 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a749a8 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59598" requestId=REQ-6471 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:28.905 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000cd8030 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59608" requestId=REQ-6472 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:29.074 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x400144d6e0 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59624" requestId=REQ-6473 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:29.244 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000cd81f8 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59632" requestId=REQ-6474 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:29.402 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x400144d938 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59648" requestId=REQ-6475 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:29.563 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000cd83d8 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59660" requestId=REQ-6476 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:29.730 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a74cf0 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59672" requestId=REQ-6477 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:29.899 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000cd84e0 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59688" requestId=REQ-6478 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:30.065 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a74f48 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59704" requestId=REQ-6479 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:30.240 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x400072a078 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59716" requestId=REQ-6480 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:30.393 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a75158 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59724" requestId=REQ-6481 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
mediarepo-mediarepo-1  | time="2023-09-12 19:48:30.555 Z" level=info msg="Replying with result: *_responses.DownloadResponse &{ContentType:image/png Filename:thumbnail.png SizeBytes:878 Data:0x4000a75320 TargetDisposition:infer}" contentLength=0 contentType="" host=aguiarvieira.pt method=GET queryString="height=64&method=crop&width=64" remoteAddr="172.20.0.47:59726" requestId=REQ-6482 resource=/_matrix/media/v3/thumbnail/matrix.org/DRevoaEiuzbkOznknySKuMmE userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"

But i'm using the patch that fixed the thumbnails.

maybe it helps, I've been using 3 datastores

datastores:
  - type: file
    forKinds: ["local_media","archives"]
    id: "68c3e2f1c51bef5afd0371513518713c8424b5a2"
    opts:
      path: /data/media
  - type: file
    forKinds: ["thumbnails"]
    id: "e8cddb0d182ba2d3a3fa7b95fdd67d0c5f4a51f3"
    opts:
      path: /data/thumbnails
  - type: file
    forKinds: ["remote_media"]
    id: "0d8ef84d8e7745ecbd864ea5a6f01f747f4cee05"
    opts:
      path: /data/remote_media

I figured this out, I made a mess with the database, but I fixed it now (I tried not long ago to wipe all the thumbnails manually but I fucked up)

You can close this. (and #466)