Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation doesn't work: Unable to create resource URLImageDescriptor #187

Closed
2 tasks done
igornem1 opened this issue Jun 25, 2024 · 32 comments
Closed
2 tasks done

Comments

@igornem1
Copy link

igornem1 commented Jun 25, 2024

Version: 2024-06 (4.32.0)
Build id: 20240606-1231

Steps to reproduce

From a fresh installation and clean workspace:

OR

I tried

  • Run /eclipse

I expected: Regular Eclipse window

But got: Eclipse window with many errors(see screenshot)
eclipse

Here is attached log exported from Eclipse Workspace log tab

eclipse.log

Tested under this environment:

  • OS & version: Linux Mint 21.3
  • Eclipse IDE/Platform version (as shown in Help > About):
  • Version: 2024-06 (4.32.0)
    Build id: 20240606-1231

Community

  • I understand reporting an issue to this OSS project does not mandate anyone to fix it. Other contributors may consider the issue, or not, at their own convenience. The most efficient way to get it fixed is that I fix it myself and contribute it back as a good quality patch to the project.
@jonahgraham
Copy link
Contributor

This works for me on Linux too - the specific image that is raising an error is displayed as expected:

@jonahgraham
Copy link
Contributor

image

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)?

@jonahgraham
Copy link
Contributor

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.

@igornem1
Copy link
Author

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.
image

@Phillipus
Copy link

Phillipus commented Jun 25, 2024

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 archimatetool/archi#1036 (comment) 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?

@jonahgraham
Copy link
Contributor

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?

@Phillipus
Copy link

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

@akurtakov
Copy link
Contributor

First time I hear of anything like this.

@igornem1
Copy link
Author

@igornem1 Are you using the MATE version?

Nop, the Cinnamon version

@Phillipus
Copy link

Nop, the Cinnamon version

So am I but gif images are showing OK.

@igornem1
Copy link
Author

Nop, the Cinnamon version

So am I but gif images are showing OK.

Bingo!
image

@Phillipus
Copy link

So why are gifs OK on my version of Linux Mint?

@igornem1
Copy link
Author

So why are gifs OK on my version of Linux Mint?

I would be happy to know it

@nitind
Copy link
Contributor

nitind commented Jun 25, 2024

Are you able to query what version of the gdk library is installed?

@igornem1
Copy link
Author

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

@igornem1
Copy link
Author

igornem1 commented Jun 25, 2024

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

@Phillipus
Copy link

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.

@igornem1
Copy link
Author

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

@igornem1
Copy link
Author

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

@Phillipus
Copy link

Phillipus commented Jun 25, 2024

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)

@igornem1
Copy link
Author

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
Copy link
Contributor

nitind commented Jun 26, 2024

@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.

@jonahgraham
Copy link
Contributor

@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

@akurtakov
Copy link
Contributor

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.

@igornem1
Copy link
Author

igornem1 commented Jun 26, 2024

@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)

@Phillipus
Copy link

@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 !

@igornem1
Copy link
Author

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

@Phillipus
Copy link

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

@jonahgraham
Copy link
Contributor

@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 eclipse-platform/eclipse.platform.swt#1307 and I am going to close this issue. AFAICT there is nothing that Eclipse Packaging Project can do here.

@iloveeclipse
Copy link

iloveeclipse commented Jun 26, 2024

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?

@jonahgraham
Copy link
Contributor

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.

@iloveeclipse
Copy link

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?
hell_yeah

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants