Open Bug 1772902 Opened 2 years ago Updated 1 year ago

[Snap] Firefox crashes because of gdk-pixbuf-loaders.cache

Categories

(Firefox Build System :: Third Party Packaging, defect, P3)

Firefox 101
defect

Tracking

(Not tracked)

UNCONFIRMED
Iteration:
101.2 - April 18 - April 29

People

(Reporter: ted.winograd, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

Steps to reproduce:

Launch the latest version of Firefox snap on Ubuntu 22.04.
Right-click and save any item.

Actual results:

Firefox crashes with the following console errors:
Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1406/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1406/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)
Redirecting call to abort() to mozalloc_abort

ExceptionHandler::GenerateDump cloned child ExceptionHandler::WaitForContinueSignal waiting for continue signal...
10482
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.

(crashreporter:10483): Gtk-WARNING **: 16:56:23.361: Could not load a pixbuf from /com/ubuntu/themes/Yaru/3.0/assets/check-symbolic.svg.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1406/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1406/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1154/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)

Expected results:

Firefox should successfully download.

The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Widget: Gtk
Product: Firefox → Core

I notice that the gnome-platform folder is empty in /snap/firefox/current/. There is also no /snap/firefox/1154 folder. /snap/firefox/1406/data-dir/icons is also empty.

Blocks: snap
Priority: -- → P3
Summary: Firefox crashes when trying to download → [Snap] Firefox crashes when trying to download

Can you verify whether you had a recent update of snapd or the firefox snap? The output of LC_ALL=C snap changes would help

Flags: needinfo?(ted.winograd)

(In reply to ted.winograd from comment #2)

I notice that the gnome-platform folder is empty in /snap/firefox/current/. There is also no /snap/firefox/1154 folder. /snap/firefox/1406/data-dir/icons is also empty.

The fact that you mention two different revisions here, 1154 and 1406, makes me wonder if you had an underlying update applied.

At least on a fresh 101.0-2 install, I can't repro the issue.

I had a recent update of the firefox snap. That's caused the issue once before. Removing and reinstalling firefox fixed it, but killed my profile.

Flags: needinfo?(ted.winograd)

(In reply to ted.winograd from comment #5)

I had a recent update of the firefox snap. That's caused the issue once before. Removing and reinstalling firefox fixed it, but killed my profile.

Thanks, I'm going to close, feel free to reopen if you happen to hit it again

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID

This is now occurring again with the latest snap update.

$ LC_ALL=c snap changes
no changes found

$ ls -lh /snap/firefox/
total 0
drwxr-xr-x 7 root root 201 Jun 9 03:55 1443
drwxr-xr-x 7 root root 201 Jun 27 08:09 1498
lrwxrwxrwx 1 root root 4 Jun 28 22:30 current -> 1498

Status: RESOLVED → UNCONFIRMED
Iteration: --- → 101.2 - April 18 - April 29
Resolution: INVALID → ---

I get the following console errors:

Bail out! Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1498/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1498/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)

(In reply to ted.winograd from comment #8)

I get the following console errors:

Bail out! Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1498/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)
Bail out! Gtk:ERROR:../src/gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /snap/firefox/1498/data-dir/icons/Yaru/16x16/status/image-missing.png: Unable to load image-loading module: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: /snap/firefox/1443/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so: cannot open shared object file: No such file or directory (gdk-pixbuf-error-quark, 5)

Did the upgrade happen while Firefox was running ?

LC_ALL=C snap changes should not be empty like that. Can you also share snap info firefox and snap info snapd ?

Flags: needinfo?(ted.winograd)

snap connections firefox as well could help

See Also: → 1772219

Also, by any chance, do you have anything in about:crashes ?

Thanks for looking into this. I don't remember if the upgrade happened while firefox was running, but it's possible. I noticed last time that Ubuntu asked me to close firefox to upgrade the snap.

$ snap info firefox
name: firefox
summary: Mozilla Firefox web browser
publisher: Mozilla✓
store-url: https://snapcraft.io/firefox
contact: https://support.mozilla.org/kb/file-bug-report-or-feature-request-mozilla
license: unset
description: |
Firefox is a powerful, extensible web browser with support for modern web
application technologies.
commands:

  • firefox
  • firefox.geckodriver
    snap-id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
    tracking: latest/stable
    refresh-date: 7 days ago, at 22:30 EDT
    channels:
    latest/stable: 102.0-2 2022-06-28 (1498) 169MB -
    latest/candidate: 102.0.1-1 2022-07-05 (1539) 169MB -
    latest/beta: 103.0b5-1 2022-07-06 (1542) 171MB -
    latest/edge: 104.0a1 2022-07-05 (1538) 181MB -
    esr/stable: 91.11.0esr-2 2022-06-28 (1501) 161MB -
    esr/candidate: 102.0esr-2 2022-06-27 (1499) 169MB -
    esr/beta: ↑
    esr/edge: ↑
    installed: 102.0-2 (1498) 169MB -

$ snap info snapd
name: snapd
summary: Daemon and tooling that enable snap packages
publisher: Canonical✓
store-url: https://snapcraft.io/snapd
license: GPL-3.0+
description: |
Install, configure, refresh and remove snap packages. Snaps are
'universal' packages that work across many different Linux systems,
enabling secure distribution of the latest apps and utilities for
cloud, servers, desktops and the internet of things.

Start with 'snap list' to see installed snaps.
type: snapd
snap-id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
channels:
latest/stable: 2.56 2022-06-08 (16010) 49MB -
latest/candidate: 2.56.2 2022-06-24 (16292) 49MB -
latest/beta: 2.56.2 2022-06-15 (16292) 49MB -
latest/edge: 2.56.2+git490.gdb339cc 2022-07-05 (16461) 50MB -

There also is information in about:crashes. I submitted both.
https://crash-stats.mozilla.org/report/index/596448c1-0ff6-478e-af28-ac6ae0220706
https://crash-stats.mozilla.org/report/index/55fa594d-3cdc-4406-b936-c4b670220706

Flags: needinfo?(ted.winograd)

With the update to firefox 102.0.1-1, this issue no longer occurs.

There was an update in the last couple days to the snap (rev 1551) that caused this issue to occur again. The firefox version is the same.

https://crash-stats.mozilla.org/report/index/70be21f8-c830-4055-80c7-a06960220710

Both times I did a snap refresh with firefox closed.

(In reply to ted.winograd from comment #14)

There was an update in the last couple days to the snap (rev 1551) that caused this issue to occur again. The firefox version is the same.

https://crash-stats.mozilla.org/report/index/70be21f8-c830-4055-80c7-a06960220710

Both times I did a snap refresh with firefox closed.

Thanks, looking at that crash report, it mentions an uptime of 162,352 seconds (1 day, 21 hours and 5 minutes). How did you ensured Firefox was closed ? This hints that it was still running. I guess you considered it closed because it had no visible window ?

Flags: needinfo?(ted.winograd)

Yes, I considered it closed because the windows were closed. I'll verify next time there's a snap update and see if that's the issue.

Flags: needinfo?(ted.winograd)

(In reply to ted.winograd from comment #16)

Yes, I considered it closed because the windows were closed. I'll verify next time there's a snap update and see if that's the issue.

So it is possible there was some window hidden somewhere ... ? Check with pgrep maybe. But it might more sound like a snapd bug

Summary: [Snap] Firefox crashes when trying to download → [Snap] Firefox crashes because of update applied in background

Could you verify if you have set anything fancy? $ sudo snap get system experimental ?

Flags: needinfo?(ted.winograd)

Sure. Please see below.

$ sudo snap get system experimental
error: snap "core" has no "experimental" configuration option

Flags: needinfo?(ted.winograd)

With the latest snap update notification, I closed firefox, checked to make sure it wasn't still running, ran a snap refresh, and now downloads work again.

$ ps -ef | grep fire
username  392471  392460  0 19:36 pts/1    00:00:00 grep --color=auto fire
$ snap refresh
firefox 103.0-1 from Mozilla✓ refreshed

The latest snap update broke downloads again. I have been diligent about ensuring that firefox wasn't running when it notified me of pending updates. Is it possible that having firefox running when using the ubuntu software updater runs also causes this issue?

(In reply to ted.winograd from comment #21)

The latest snap update broke downloads again. I have been diligent about ensuring that firefox wasn't running when it notified me of pending updates. Is it possible that having firefox running when using the ubuntu software updater runs also causes this issue?

Can you explain a bit more? "ubuntu software updater" is the deb package updater right?

Yes, the deb package updater.

I just got myself a snapd update, can you share snap changes. How did you verified firefox was not running ? If you have Firefox running while apt runs in background, you should be impacted :

  • if you are running the ubuntu-provided deb package (maybe the ppa also?)
  • you would get about:restartrequired more likely than a crash (but it's not impossible)

(In reply to ted.winograd from comment #21)

The latest snap update broke downloads again. I have been diligent about ensuring that firefox wasn't running when it notified me of pending updates. Is it possible that having firefox running when using the ubuntu software updater runs also causes this issue?

Upcoming 104.0-3 build should:

  • finally provide debug symbols,
  • (hopefully) be promoted to stable

Once it crashes again with this, you should be able to about:crashes and share the crash IDs. We might need to wait another stable release to get a usable stack.

The latest versions of snapd enable "refresh app awareness" by default, which means that snapd will refuse to refresh a snap if it has running applications, even when manually requested. Ted, do you not see notifications that a firefox update has been postponed when the application is running?

This could also be explained by an update to the gnome platform snap (that would explain the No such file or directory errors), although this use case was thoroughly tested in the past and was working, as far as I know.

I just tested refreshing gnome-3-38-2004 (from stable to edge) while firefox (104.0-3 from the candidate channel) was running. I didn't observe any crash (I tested the download functionality as suggested in earlier comments), and no error messages or warnings in the terminal.

When I inspect the mount info for the running firefox snap, I see that both revisions of the gnome platform snap (112 for stable and 105 for edge) are bind mounted. I'm not sure how snapd handles that, but I would expect that while firefox is running, it will continue to refer to the content in the revision of the platform snap that was bind-mounted when the app was started.

Ted, can you share the output of snap get core experimental.refresh-app-awareness ?

If that value is false, can you still observe the crash if you refresh firefox (snap refresh firefox --candidate, assuming you're currently on the stable channel) while it's running?

Flags: needinfo?(ted.winograd)

I just tested a different scenario: I forcefully disabled refresh app awareness, launched firefox from the stable channel, used it a little (downloaded a file or two), then refreshed it to the revision in the candidate channel, and used it again (downloaded a couple of files successfully).

I am seeing a few non-fatal warnings in the terminal that was used to launch the app, but no crash:

(firefox:1391): Gtk-WARNING **: 15:32:39.748: Could not find the icon 'application-x-xz'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
    http://icon-theme.freedesktop.org/releases


Failed to load cookie file from cookie: No such file or directory

(firefox:1391): Gtk-WARNING **: 15:32:55.475: Attempting to store changes into '/home/ubuntu/snap/firefox/1670/.local/share/recently-used.xbel', but failed: La création du fichier « /home/ubuntu/snap/firefox/1670/.local/share/recently-used.xbel.T9SVQ1 » a échoué : Permission denied

(firefox:1391): Gtk-WARNING **: 15:32:55.475: Attempting to set the permissions of '/home/ubuntu/snap/firefox/1670/.local/share/recently-used.xbel', but failed: Permission denied

So there are definitely some things that won't work as expected when refreshing the app while running (in that case we should make sure that firefox displays about:restartrequired), but at least I'm not seeing the app crash under my feet.

Please see below:

$ snap get core experimental.refresh-app-awareness
error: snap "core" has no "experimental" configuration option

What I found with the most recent update was that I don't need to refresh firefox to fix. If I empty my .cache folder and restart firefox, the issue doesn't occur.

Flags: needinfo?(ted.winograd)

And by empty, I mean:

$ cd snap/firefox/common/.cache
~/snap/firefox/common/.cache$ rm -rf *

(In reply to ted.winograd from comment #30)

$ snap get core experimental.refresh-app-awareness
error: snap "core" has no "experimental" configuration option

This means that the default value for refresh-app-awareness is used (currently true). So firefox isn't being refreshed while running.

What I found with the most recent update was that I don't need to refresh firefox to fix. If I empty my .cache folder and restart firefox, the issue doesn't occur.

So the cache gets corrupted, somehow. I have a couple of requests related to that, if you manage to reproduce the problem:

  • next time it happens, please share the output of snap changes
  • instead of deleting the entire contents of the cache folder, can you try deleting files/folders one by one (starting with gdk-pixbuf-loaders.cache) and starting firefox again in between each deletion, to try and identify which file/folder is causing the problem?
Flags: needinfo?(ted.winograd)

Ubuntu notified me of a firefox update that was pending. I closed firefox and made sure it wasn't running:

~$ ps -ef | grep fire
user   31170   31152  0 20:26 pts/1    00:00:00 grep --color=auto fire
~$ sudo snap refresh
firefox 104.0.1-1 from Mozilla✓ refreshed
~$ snap changes
ID   Status  Spawn               Ready               Summary
267  Done    today at 04:25 EDT  today at 04:27 EDT  Auto-refresh snap "discord"
268  Done    today at 20:26 EDT  today at 20:27 EDT  Refresh snap "firefox"

Firefox was again in a state where trying to save a file crashed. Following your advice, deleting gdk-pixbuf-loaders.cache resolved the issue.

~$ cd snap/firefox/common/.cache
~/snap/firefox/common/.cache$ rm gdk-pixbuf-loaders.cache 
Flags: needinfo?(ted.winograd)

Did you kept a copy of the file ?

Flags: needinfo?(ted.winograd)
Summary: [Snap] Firefox crashes because of update applied in background → [Snap] Firefox crashes because of gdk-pixbuf-loaders.cache
Component: Widget: Gtk → Third Party Packaging
Product: Core → Firefox Build System

Taking a look at that file locally, it's a SVG linking many .so, e.g. /snap/firefox/1749/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so.

Fun, first result on a search is https://0xacab.org/leap/bitmask-vpn/-/issues/77, similar bug. That sounds more like an upstream issue rather than on our side ... ?

Here's the file on my end:

GdkPixbuf Image Loader Modules file

Automatically generated file, do not edit

Created by gdk-pixbuf-query-loaders from gdk-pixbuf-2.40.1

LoaderDir = /snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so"
"ani" 4 "gdk-pixbuf" "Windows animated cursor" "LGPL"
"application/x-navi-animation" ""
"ani" ""
"RIFF ACON" " xxxx " 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so"
"bmp" 5 "gdk-pixbuf" "BMP" "LGPL"
"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
"bmp" ""
"BM" "" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so"
"gif" 4 "gdk-pixbuf" "GIF" "LGPL"
"image/gif" ""
"gif" ""
"GIF8" "" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so"
"icns" 4 "gdk-pixbuf" "MacOS X icon" "GPL"
"image/x-icns" ""
"icns" ""
"icns" "" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so"
"ico" 5 "gdk-pixbuf" "Windows icon" "LGPL"
"image/x-icon" "image/x-ico" "image/x-win-bitmap" "image/vnd.microsoft.icon" "application/ico" "image/ico" "image/icon" "text/ico" ""
"ico" "cur" ""
" \001 " "zz znz" 100
" \002 " "zz znz" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so"
"jpeg" 5 "gdk-pixbuf" "JPEG" "LGPL"
"image/jpeg" ""
"jpeg" "jpe" "jpg" ""
"\377\330" "" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so"
"png" 5 "gdk-pixbuf" "PNG" "LGPL"
"image/png" ""
"png" ""
"\211PNG\r\n\032\n" "" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so"
"pnm" 4 "gdk-pixbuf" "PNM/PBM/PGM/PPM" "LGPL"
"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" ""
"pnm" "pbm" "pgm" "ppm" ""
"P1" "" 100
"P2" "" 100
"P3" "" 100
"P4" "" 100
"P5" "" 100
"P6" "" 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so"
"qtif" 4 "gdk-pixbuf" "QuickTime" "LGPL"
"image/x-quicktime" "image/qtif" ""
"qtif" "qif" ""
"abcdidsc" "xxxx " 100
"abcdidat" "xxxx " 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so"
"svg" 6 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL"
"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" ""
"svg" "svgz" "svg.gz" ""
" <svg" "* " 100
" <!DOCTYPE svg" "* " 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so"
"tga" 4 "gdk-pixbuf" "Targa" "LGPL"
"image/x-tga" ""
"tga" "targa" ""
" \001\001" "x " 100
" \001\t" "x " 100
" \002" "xz " 99
" \003" "xz " 100
" \n" "xz " 100
" \v" "xz " 100

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so"
"tiff" 5 "gdk-pixbuf" "TIFF" "LGPL"
"image/tiff" ""
"tiff" "tif" ""
"MM " " z " 100
"II
" " z" 100
"II* \020 CR\002 " " z zzz z" 0

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so"
"xbm" 4 "gdk-pixbuf" "XBM" "LGPL"
"image/x-xbitmap" ""
"xbm" ""
"#define " "" 100
"/*" "" 50

"/snap/firefox/1775/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so"
"xpm" 4 "gdk-pixbuf" "XPM" "LGPL"
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100

Flags: needinfo?(ted.winograd)

A recent snap update caused the issue again. Moving the above file elsewhere resolved it.

When you shared comment 38 what was the revision of the previous and actual version of firefox? Was it revision 1775 or something higher? I would suspect 1775 is the older revision ? When it repros, can you share ls -hal /snap/firefox/ ? Also some find /snap/firefox -name "gdk-pixbuf-*"

Flags: needinfo?(ted.winograd)

(In reply to Alexandre LISSY :gerard-majax from comment #37)

So https://github.com/snapcore/snapcraft-desktop-integration/blob/e97047bfc3e0743bac3f7358f4211b999f8351e9/common/desktop-exports#L413-L421 would not get executed ?

This code block not being executed would be a consequence of either needs_update being false (which in turn would be caused by $SNAP_DESKTOP_LAST_REVISION being already at the new revision when launching the app after the refresh, which I don't think is possible), or $SNAP_DESKTOP_RUNTIME/usr/lib/$ARCH/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders not being found.

Ted, next time a refresh happens, before launching firefox, can you run the following commands and share the output here?

snap run --shell firefox
echo $SNAP_REVISION
cat $SNAP_USER_DATA/.last_revision
ls -l $SNAP_DESKTOP_RUNTIME/usr/lib/$SNAP_LAUNCHER_ARCH_TRIPLET/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders

Thanks!

The issue has not recurred in the last month. I will keep an eye out.

Flags: needinfo?(ted.winograd)

I just realized I had a script deleting the offending file. I paused that prior to this latest update and the issue recurred.

I ran the commands above:

$ ps -ef | grep fire
user  371715  343016  0 18:09 pts/1    00:00:00 grep --color=auto fire
$ snap refresh
firefox 105.0.2-1 from Mozilla✓ refreshed
$ snap run --shell firefox
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

usser@host:/home/shofutex$ echo $SNAP_REVISION
1918
user@host:/home/shofutex$ cat $SNAP_USER_DATA/.last_revision
SNAP_DESKTOP_LAST_REVISION=1918
user@host:/home/user$ ls -l $SNAP_DESKTOP_RUNTIME/usr/lib/$SNAP_LAUNCHER_ARCH_TRIPLET/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
-rwxr-xr-x 1 root root 14360 Aug  2 16:48 /snap/firefox/1918/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders

I had to delete gdk-pixbuf-loaders.cache to restore the functionality.

Here is the output without my failed attempt to sanitize username and hostname.

$ snap run --shell firefox
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

shofutex@caticorn:/home/shofutex$ echo $SNAP_REVISION
1918
shofutex@caticorn:/home/shofutex$ cat $SNAP_USER_DATA/.last_revision
SNAP_DESKTOP_LAST_REVISION=1918
shofutex@caticorn:/home/shofutex$ ls -l $SNAP_DESKTOP_RUNTIME/usr/lib/$SNAP_LAUNCHER_ARCH_TRIPLET/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
-rwxr-xr-x 1 root root 14360 Aug  2 16:48 /snap/firefox/1918/gnome-platform/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders
shofutex@caticorn:/home/shofutex$ 

(In reply to ted.winograd from comment #44)

[...]

shofutex@caticorn:/home/shofutex$ echo $SNAP_REVISION
1918
shofutex@caticorn:/home/shofutex$ cat $SNAP_USER_DATA/.last_revision
SNAP_DESKTOP_LAST_REVISION=1918

Looks like

(which in turn would be caused by $SNAP_DESKTOP_LAST_REVISION being already at the new revision when launching the app after the refresh, which I don't think is possible)

We are there now.

Severity: -- → S3

So Olivier, it looks like the situation you expected to be impossible is indeed what is happening here. I'm a bit lost on our options from there.

Flags: needinfo?(olivier)

Redirecting to Amin, we'd need a solution although this seems a low frequency issue

Flags: needinfo?(olivier) → needinfo?(bandali)
You need to log in before you can comment on or make changes to this bug.