mattermost / desktop

Mattermost Desktop application for Windows, Mac and Linux
Apache License 2.0
2.03k stars 829 forks source link

[Bug]: Downloading an SVG leads to error "Failed to get thumbnail from local thumbnail cache reference" #3140

Open bjoernmartin opened 2 months ago

bjoernmartin commented 2 months ago

Checks before filing an issue

Mattermost Desktop Version

5.9.0

Operating System

Windows 11 x64

Mattermost Server Version

EE 9.5.6

Steps to reproduce

image

Expected behavior

Observed behavior

image

Log Output

Application: Mattermost 5.9.0
Platform: Windows_NT 10.0.22631 x64
Error: Failed to get thumbnail from local thumbnail cache reference
    at C.formatDownloadItem (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:258206)
    at C.upsertFileToDownloads (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:255614)
    at C.doneEventController (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:256970)
    at DownloadItem.<anonymous> (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:254776)
    at Object.onceWrapper (node:events:634:26)
    at DownloadItem.emit (node:events:519:28)

Additional Information

dragonis41 commented 2 months ago

My Desktop Mattermost crash too when I try to download a png or jpeg file but the error is different, I don't know if this is related to the same issue.

I'm on Manjaro with kernel 6.10 Mattermost 5.9.0 Desktop

Application: Mattermost 5.9.0 [commit: 5.9.0]
Platform: Linux 6.10.6-10-MANJARO x64
TypeError: s.nativeImage.createThumbnailFromPath is not a function
    at C.formatDownloadItem (/usr/lib/mattermost-desktop/app.asar/index.js:2:258337)
    at C.upsertFileToDownloads (/usr/lib/mattermost-desktop/app.asar/index.js:2:255745)
    at C.doneEventController (/usr/lib/mattermost-desktop/app.asar/index.js:2:257101)
    at DownloadItem.<anonymous> (/usr/lib/mattermost-desktop/app.asar/index.js:2:254907)
    at Object.onceWrapper (node:events:634:26)
    at DownloadItem.emit (node:events:519:28)
zwolinski commented 2 months ago

The same error appears when downloading *.dwg file.

plokkingmachine commented 2 months ago

+1

s.nativeImage.createThumbnailFromPath is not a function, app crashes.

devinbinnie commented 2 months ago

@bjoernmartin I can't reproduce your specific issue, is it consistently reproducing for you everytime? I might need to add a crash check here.

The other issue people are commenting about in this ticket is this one: https://github.com/mattermost/desktop/issues/3129, which is a separate issue.

bjoernmartin commented 2 months ago

@devinbinnie yes, happens for SVGs every time.

I just created a new private channel, uploaded another SVG and tried to download it. Same error.

I then downloaded an SVG from the internet, just in case it is something we do with SVGs internally. I chose https://www.svgrepo.com/svg/499714/rocket. No change, still getting the error message on download.

devinbinnie commented 2 months ago

Thanks @bjoernmartin. I still can't reproduce it, so I'm wondering a couple things:

bjoernmartin commented 2 months ago
* Are you in a managed environment? (ie. is there a group policy configured on you system)

Nope. I installed the computer myself and my company does not even support managing Windows machines :)

* Is the file being saved to a network drive? I'm wondering if it's having issues grabbing thumbnails from there.

Nope. The installation is local and not tampered with in any way. It runs on a Bitlocker-encrypted system, but I cannot imagine this being an issue here.

bjoernmartin commented 2 months ago

@zwolinski you mentioned getting "the same" error. This refers to the original one from me?

 Failed to get thumbnail from local thumbnail cache reference

Or the additional one mentioned by @dragonis41 ?

s.nativeImage.createThumbnailFromPath is not a function

Just trying to figure out if I'm the only one with "my" error.

Annavar-satish commented 1 month ago

I am Facing the same issue while downloading the jpg,svg etc., Mattermost Desktop Version 5.9.0

Operating System x86_64 GNU/Linux

Mattermost Server Version CE 9.11.1

Electron Version 31.6.0-2

Looks like Issues with the electron version

Application: Mattermost 5.9.0 [commit: 5.9.0
]
Platform: Linux 6.11.2-zen1-1-zen x64
TypeError: s.nativeImage.createThumbnailFromPath is not a function
    at C.formatDownloadItem (/usr/lib/mattermost-desktop/app.asar/index.js:2:258337)
    at C.upsertFileToDownloads (/usr/lib/mattermost-desktop/app.asar/index.js:2:255745)
    at C.doneEventController (/usr/lib/mattermost-desktop/app.asar/index.js:2:257101)
    at DownloadItem.<anonymous> (/usr/lib/mattermost-desktop/app.asar/index.js:2:254907)
    at Object.onceWrapper (node:events:634:26)
    at DownloadItem.emit (node:events:519:28)
bjoernmartin commented 1 month ago

@Annavar-satish that is a different issue and got solved via #3129, as stated by @devinbinnie before. That fix is not released yet though (we are still at 5.9.0, 5.9.1 and 5.10.0 should contain the fix).

licaon-kter commented 1 month ago

So Linux crashes because of https://github.com/mattermost/desktop/issues/3129 and now Windows crashes because of this one. :disappointed:

ilippert commented 1 month ago

I looked at an image and then wanted to download it. The download was effective, but the error still occurred. Tested several times. Fedora Linux

Application: Mattermost 5.9.0
Platform: Linux 6.11.4-201.fc40.x86_64 x64
TypeError: s.nativeImage.createThumbnailFromPath is not a function
    at C.formatDownloadItem (/app/main/resources/app.asar/index.js:2:258218)
    at C.upsertFileToDownloads (/app/main/resources/app.asar/index.js:2:255626)
    at C.doneEventController (/app/main/resources/app.asar/index.js:2:256982)
    at DownloadItem.<anonymous> (/app/main/resources/app.asar/index.js:2:254788)
    at Object.onceWrapper (node:events:634:26)
    at DownloadItem.emit (node:events:519:28)
goutnet commented 4 weeks ago

3188 is very similar in behavior, but on a different platform. I do believe they are related.

goutnet commented 3 weeks ago

After more analysis, it seems we have the same issue on Linux. I close #3188 since it would be a duplicate of this issue, with the same message.

As mentioned above #3188 could also be another instance of #3129, I'll wait for the 5.9.1 to confirm

devinbinnie commented 3 weeks ago

https://github.com/mattermost/desktop/issues/3129 is fixed on v5.10.0-rc.2 if anyone wants to try that. It might also fix the issue in the screenshot above.

ilyasaharov commented 5 days ago

My Desktop Mattermost crash too when I try to download a png or jpeg file but the error is different, I don't know if this is related to the same issue.

I'm on Manjaro with kernel 6.10 Mattermost 5.9.0 Desktop

Application: Mattermost 5.9.0 [commit: 5.9.0]
Platform: Linux 6.10.6-10-MANJARO x64
TypeError: s.nativeImage.createThumbnailFromPath is not a function
    at C.formatDownloadItem (/usr/lib/mattermost-desktop/app.asar/index.js:2:258337)
    at C.upsertFileToDownloads (/usr/lib/mattermost-desktop/app.asar/index.js:2:255745)
    at C.doneEventController (/usr/lib/mattermost-desktop/app.asar/index.js:2:257101)
    at DownloadItem.<anonymous> (/usr/lib/mattermost-desktop/app.asar/index.js:2:254907)
    at Object.onceWrapper (node:events:634:26)
    at DownloadItem.emit (node:events:519:28)

I have the same error while trying to download an image. Bug is fully reproducible. OS: Debian 12 KDE Plazma: 5.27.5 Graphics environment: Wayland Mattermost version:

Версия Mattermost: 10.1.2 Версия схемы базы данных: 127 Номер сборки: 11462506876 База данных: postgres

licaon-kter commented 5 days ago

@ilyasaharov 5.10.0 is out since last week, do test it too

bjoernmartin commented 4 days ago

Tested again with 5.10.1 and found out the following: Downloading a recent SVG worked (we have a UX channel where SVGs pop up once in a while). However, downloading the SVG I initially had issues with did still not work. Log output:

Application: Mattermost 5.10.1
Platform: Windows_NT 10.0.22631 x64
Error: Failed to get thumbnail from local thumbnail cache reference
    at C.formatDownloadItem (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:262941)
    at C.upsertFileToDownloads (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:260223)
    at C.doneEventController (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:261579)
    at DownloadItem.<anonymous> (C:\Users\martin\AppData\Local\Programs\mattermost-desktop\resources\app.asar\index.js:2:259385)
    at Object.onceWrapper (node:events:634:26)
    at DownloadItem.emit (node:events:519:28)

So I did the following:

So it looks to me as if Mattermost cannot generate previews for some SVGs and thus runs into the follow-up issue of not finding anything within the cache. Since it contains no real secrets, I attached the SVG that causes the issue for me: Mattermost-Killer-SVG

Hope this helps to identify the issue.

devinbinnie commented 4 days ago

Well I tested that SVG and it doesn't seem to be that particular file, so I'm guessing it is some strange issue in the Chromium image cache...we can probably just add a crash catch there and just not load a thumbnail if it fails.

Ticket here: https://mattermost.atlassian.net/browse/MM-61919

devinbinnie commented 2 hours ago

FWIW this seems to be an error internal to Windows, that seems to be hard crashing: https://github.com/electron/electron/blob/main/shell/common/api/electron_api_native_image_win.cc#L69

So just catching it seems to be the best option.