Closed igornem1 closed 4 months ago
This works for me on Linux too - the specific image that is raising an error is displayed as expected:
I am on Xubuntu 22.04, so a bit older linux. My guess is there is a problem related to the newer Linux version (Mint 21.3 release date is early 2024).
Download package https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2024-06/R/eclipse-java-2024-06-R-linux-gtk-x86_64.tar.gz
The screenshots and error log are from JEE, but this step in your instructions says download Java version. Does the Java version (eclipse-java-2024-06-R) suffer from the same problem (but presumably different icons in error message)?
PS. As a workaround until we resolve this issue (assuming it is only affecting the Project Explorer badly). Close the Project Explorer, create a new project and then when you reopen the project explorer it shouldn't need to create those icons.
The screenshots and error log are from JEE, but this step in your instructions says download Java version. Does the Java version (eclipse-java-2024-06-R) suffer from the same problem (but presumably different icons in error message)?
Oh, my bad, sorry, just mistacked with a link, actually was downloaded JEE version, just typo when filled the issue page, don't know if pure Java version has same problem.
ps. As workaround currently installed previous version and updated from it. Yet image errors on initial Java EE perspective(see screenshot), but noticed other similar error-popups when imported Maven project. Probably some other's views images missed too.
Looking at the error log all the images that couldn't be loaded are .gif
format. We had a user of our RCP app report that some Linux distros have disabled support for some image formats. See https://github.com/archimatetool/archi/issues/1036#issuecomment-2118878984 and https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/e052a112075a19fb75f1f2ff3de4c82923de13f2
The Linux Mint 21.3. MATE version is Gnome based and that might be the case for that version.
@igornem1 Are you using the MATE version?
Thanks @Phillipus for the insight. The changes in gdk-pixbuf are pretty recent and I can imagine we are about to start seeing the rollout of that change to early adopters of new versions. There was some discussion of reverting the change (https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/169) but that doesn't seem to have happened.
Quoting from that last link:
The fix for most applications is trivial: just convert whatever icons are affected to png.
A quick count shows almost 1000 gifs in the various platform/jdt/pde/equinox projects and an impressive 32k across all projects in SimRel.
@akurtakov have you heard of this potential problem?
There was some discussion of reverting the change (https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/169) but that doesn't seem to have happened.
I'm not sure if this a revert? https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/846
First time I hear of anything like this.
@igornem1 Are you using the MATE version?
Nop, the Cinnamon version
Nop, the Cinnamon version
So am I but gif
images are showing OK.
Nop, the Cinnamon version
So am I but
gif
images are showing OK.
Bingo!
So why are gifs OK on my version of Linux Mint?
So why are gifs OK on my version of Linux Mint?
I would be happy to know it
Are you able to query what version of the gdk library is installed?
And another case, for example in the log was errors similar to: !MESSAGE The image could not be loaded: URLImageDescriptor(platform:/plugin/org.eclipse.jst.servlet.ui/icons/full/ctool16/newservlet_wiz.gif)
So I've paid attention that in archive either installed by installer the folder doesn't contain folder "plugin", but "plugins", but anyway the file "newservlet_wiz.gif" doesn't exists at all
Are you able to query what version of the gdk library is installed?
Have no idea how to check it but if you'll teach me I can do it
So I've paid attention that in archive either installed by installer the folder doesn't contain folder "plugin", but "plugins", but anyway the file "newservlet_wiz.gif" doesn't exists at all
"plugin" is not a folder, it's a protocol. The image exists inside the plugin bundle.
what version of the gdk library is installed HTH: $ dpkg -l libgtk | grep -e '^i' | grep -e 'libgtk-[0-9]' ii libgtk-3-0:amd64 3.24.33-1ubuntu2.1 amd64 GTK graphical user interface library ii libgtk-3-bin 3.24.33-1ubuntu2.1 amd64 programs for the GTK graphical user interface library ii libgtk-3-common 3.24.33-1ubuntu2.1 all common files for the GTK graphical user interface library ii libgtk2.0-0:amd64 2.24.33-2ubuntu2 amd64 GTK graphical user interface library - old version ii libgtk2.0-bin 2.24.33-2ubuntu2 amd64 programs for the GTK graphical user interface library ii libgtk2.0-common 2.24.33-2ubuntu2 all common files for the GTK graphical user interface library ii libgtk3-perl 0.038-1 all Perl bindings for the GTK+ graphical user interface library
and $ dpkg -l gtk | grep -e '^i' | grep -e 'gtk-[0-9]' ii gtk2-engines:amd64 1:2.20.2-5build2 amd64 theme engines for GTK+ 2.x ii gtk2-engines-murrine:amd64 0.98.2-3build2 amd64 cairo-based gtk+-2.0 theme engine ii gtk2-engines-pixbuf:amd64 2.24.33-2ubuntu2 amd64 pixbuf-based theme for GTK 2
I installed a fresh install of Linux Mint Cinnamon 21.3 in a VM and all gif
images are showing OK.
~@nitind~ @igornem1 Maybe you could check you have the latest updates for Mint, or check if there is something different about your installation, or even, if possible, try a fresh install on another machine or VM?
(Edited to change recipient of comment)
Hi guys, sorry for your effort I pushed you to do, just want add that before I installed Cinnamon it was installed with Mate version and the Cinnamon was installed upon it. The installation process was promised it will erase the previous and install a fresh Cinnamon but probably something went wrong.
@nitind Maybe you could check you have the latest updates for Mint, or check if there is something different about your installation, or even, if possible, try a fresh install on another machine or VM?
Unfortunately I tend to only run Fedora. My interest in this problem is as the product owner of the JEE package, and the maintainer of that org.eclipse.jst.servlet.ui plug-in.
@igornem1 - you have answered which version of gtk as opposed to gdk. IIUC the problem is libgdk-pixbuf2.0 version, e.g. on my Xubuntu I see 2.42.8. The problematic version may be >= 2.42.11
$ dpkg -l *pixbuf*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============================-======================-============-================================================
ii gir1.2-gdkpixbuf-2.0:amd64 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library - GObject-Introspection
ii gtk2-engines-pixbuf:amd64 2.24.33-2ubuntu2 amd64 pixbuf-based theme for GTK 2
ii libgdk-pixbuf-2.0-0:amd64 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library
ii libgdk-pixbuf-xlib-2.0-0:amd64 2.40.2-2build4 amd64 GDK Pixbuf library (deprecated Xlib integration)
ii libgdk-pixbuf2.0-0:amd64 2.40.2-2build4 amd64 GDK Pixbuf library (transitional package)
ii libgdk-pixbuf2.0-bin 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library (thumbnailer)
ii libgdk-pixbuf2.0-common 2.42.8+dfsg-1ubuntu0.3 all GDK Pixbuf library - data files
un libgdk-pixbuf2.0-dev <none> <none> (no description available)
ii ruby-gdk-pixbuf2 3.4.3-1+ubuntu5 all Gdk-Pixbuf 2 bindings for the Ruby language
My Fedora 40 still has gdk-pixbuf2-2.42.10-8.fc40.x86_64 so no breakage for me (still?). Even version wouldn't matter that much as whether these codecs are available seems to be controlled by a compile time flag as per https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/169#note_2092832 aka same version might be fine on one distro and not on another.
@jonahgraham
$ dpkg -l *pixbuf*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==========================-======================-============-==================================================================
ii gir1.2-gdkpixbuf-2.0:amd64 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library - GObject-Introspection
ii gtk2-engines-pixbuf:amd64 2.24.33-2ubuntu2 amd64 pixbuf-based theme for GTK 2
ii heif-gdk-pixbuf:amd64 1.14.2-1ubuntu1 amd64 ISO/IEC 23008-12:2017 HEIF file format decoder - gdk-pixbuf loader
ii libgdk-pixbuf-2.0-0:amd64 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library
un libgdk-pixbuf2.0-0 <none> <none> (no description available)
ii libgdk-pixbuf2.0-bin 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library (thumbnailer)
ii libgdk-pixbuf2.0-common 2.42.8+dfsg-1ubuntu0.3 all GDK Pixbuf library - data files
un libgdk-pixbuf2.0-dev <none> <none> (no description available)
ii webp-pixbuf-loader 0.0.5-5 amd64 WebP Image format GdkPixbuf loader
$ dpkg -l *gdk*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==========================-======================-============-==================================================================
un gir1.2-cluttergdk-1.0 <none> <none> (no description available)
un gir1.2-gdk-3.0 <none> <none> (no description available)
ii gir1.2-gdkpixbuf-2.0:amd64 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library - GObject-Introspection
un gir1.2-gdkpixdata-2.0 <none> <none> (no description available)
un gir1.2-gdkx11-3.0 <none> <none> (no description available)
ii heif-gdk-pixbuf:amd64 1.14.2-1ubuntu1 amd64 ISO/IEC 23008-12:2017 HEIF file format decoder - gdk-pixbuf loader
ii libgdk-pixbuf-2.0-0:amd64 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library
un libgdk-pixbuf2.0-0 <none> <none> (no description available)
ii libgdk-pixbuf2.0-bin 2.42.8+dfsg-1ubuntu0.3 amd64 GDK Pixbuf library (thumbnailer)
ii libgdk-pixbuf2.0-common 2.42.8+dfsg-1ubuntu0.3 all GDK Pixbuf library - data files
un libgdk-pixbuf2.0-dev <none> <none> (no description available)
@nitind Maybe you could check you have the latest updates for Mint, or check if there is something different about your installation, or even, if possible, try a fresh install on another machine or VM?
Unfortunately I tend to only run Fedora. My interest in this problem is as the product owner of the JEE package, and the maintainer of that org.eclipse.jst.servlet.ui plug-in.
@nitind Sorry, I mistyped. That comment was meant for @igornem1 !
Hi @Phillipus , I've just removed manually my Linux Mint installation and installed it from beginning and now everything working as expected. One difference it that I've installed it with distribution package which I've downloaded about 2 monthes ago instead aforementioned one which I've downloaded a day before yesterday. As per checksum files they are identical although has a bit different folder structures, I hope later will have time to check it more thoroughly. Once again my apologies for a mess, seems the topic can be closed
Clearly this is not just an Eclipse issue but a potential problem for many Linux users/developers that use gif/bmp/ico/xpm
format images in their tools. I guess it depends on the distro. I'm still unclear if the issue will be reverted:
https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/846
@igornem1 I am glad to hear that a fresh install worked. I can't tell enough from the versions of pixbuf you have if that is the reason it failed (it seems unlikely someone built 2.42.8+dfsg-1ubuntu0.3 differently - without gif codec - for Ubuntu than Mint). There could be some other failure unrelated to the pixbuf included codecs change, but especially now that you have a working system I don't know how to diagnose this further.
Regardless, you have brought this to our collective attention, but it looks like Eclipse is going to rely on the Distros to keep including gif support as pixbuf goes through its refactoring.
I don't think there is any additional action here for now, but eventually Eclipse may have to replace all gifs with png, or add a different library to load gif files. The former would be a bug report on every single project, the latter would be an SWT change.
I have created the SWT issue https://github.com/eclipse-platform/eclipse.platform.swt/issues/1307 and I am going to close this issue. AFAICT there is nothing that Eclipse Packaging Project can do here.
What I can't understand: was it a "mistake" in Gnome or not, as the issue https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/846 is now closed / fixed?
Do we have a pointer to a Gnome ticket that would say "let remove gif/bmp/ico" support in XYZ version?
IIUC it was disabled in Gnome by mistake, but it was disabled in the underlying library (gdk-pixbuf) on purpose. The challenge is that consumers of gdk-pixbuf needed to make a build script change between 2.42.10 and 2.42.11 (add -Dothers=enabled
to compiler flags of gdk-pixbuf). It was documented in gdk-pixbuf NEWS - but you would have to know that gif (and others) were considered fringe by the gdk-pixbuf maintainers.
Sometimes I wonder if GTK developers are actually using what they produce. A world without gif isn't imaginable, how would we survive without all that?
Version: 2024-06 (4.32.0) Build id: 20240606-1231
Steps to reproduce
From a fresh installation and clean workspace:
OR
I tried
I expected: Regular Eclipse window
But got: Eclipse window with many errors(see screenshot)
Here is attached log exported from Eclipse Workspace log tab
eclipse.log
Tested under this environment:
Community