Bug 345477 - [32 bit] Display.getSystemImage(SWT.ICON_QUESTION) returns null on 32-bit swt on 32-bit java on 64-bit Ubuntu 11.04
Summary: [32 bit] Display.getSystemImage(SWT.ICON_QUESTION) returns null on 32-bit swt...
Status: CLOSED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.6.2   Edit
Hardware: PC Linux-GTK
: P5 major (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
: 347879 (view as bug list)
Depends on:
Blocks: 528984
  Show dependency tree
 
Reported: 2011-05-11 13:50 EDT by Markus Gaisbauer CLA
Modified: 2018-08-16 14:43 EDT (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Gaisbauer CLA 2011-05-11 13:50:12 EDT
Build Identifier: M20110210-1200

I downloaded, eclipse 3.6.2, created a new workspace, changed the target plattform, disabled autobuild, imported a couple of projects and then tried to remove some of the imported projects. This failed with the following error in the log.

!ENTRY org.eclipse.ui 4 4 2011-05-11 19:35:20.416
!MESSAGE "Delete" did not complete normally.  Please see the log for more information.

!ENTRY org.eclipse.ui 4 0 2011-05-11 19:35:20.432
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
	at org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.createControl(DeleteResourcesWizard.java:89)
	at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.createContents(RefactoringWizardDialog2.java:631)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:171)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:192)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:115)
	at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:40)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommandInContext(HandlerService.java:270)
	at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:95)
	at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:47)
	at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:481)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:162)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
	at org.eclipse.ui.internal.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:76)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1294)
	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:730)
	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2841)
	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:734)
	at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:1977)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1743)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4796)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3485)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4360)
	at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8189)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1238)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2237)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3159)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

Reproducible: Always
Comment 1 Markus Keller CLA 2011-05-11 14:09:50 EDT
The NPE happens on the last of these lines:

	Image image= parent.getDisplay().getSystemImage(SWT.ICON_QUESTION);
	Label imageLabel = new Label(composite, SWT.NULL);
	imageLabel.setBackground(image.getBackground());

So the reason is either that your Linux installation doesn't supply a question icon, or that someone else called display.getSystemImage(SWT.ICON_QUESTION) and then disposed the image.

Could you please try to run http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java?view=co and verify that you get the '?' icon?

Otherwise, I need more detailed steps, since I can't reproduce.
Comment 2 Markus Gaisbauer CLA 2011-05-11 16:51:58 EDT
The sample works with 64-bit swt on 64-bit java on 64-bit Ubuntu 11.04.
The sample does not work with 32-bit swt on 32-bit java on 64-bit Ubuntu 11.04 (gtk 2.24.4, unity)

SWT reports a few errors while running the sample: It seems like there is some problem with a 64-bit lib.

/usr/lib/gio/modules/libgiobamf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiobamf.so
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so

I switched to 32-bit Eclipse after 64-bit crashed the JVM a couple of times. 

#  SIGSEGV (0xb) at pc=0x00007ffcbc516b9c, pid=4805, tid=140724443301632
#
# JRE version: 6.0_25-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.0-b11 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libjd-eclipse.so+0xf6b9c]  wxStringBase::compare(wxStringBase const&) const+0xa
Comment 3 Markus Keller CLA 2011-05-12 06:02:59 EDT
Moving to SWT.
Comment 4 Markus Gaisbauer CLA 2011-05-12 12:26:06 EDT
Full SWT 3.7M7 output to syserr while executing the line:
Image image1 = display.getSystemImage(SWT.ICON_WORKING);


/usr/lib/gio/modules/libgiobamf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiobamf.so
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so

(SWT:2686): Gtk-WARNING **: Error loading theme icon 'dialog-information' for stock: Unable to load image-loading module: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: wrong ELF class: ELFCLASS64

(SWT:2686): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(SWT:2686): Gtk-CRITICAL **: gtk_default_render_icon: assertion `base_pixbuf != NULL' failed

(SWT:2686): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(SWT:2686): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
Comment 5 Dani Megert CLA 2011-06-01 04:47:06 EDT
*** Bug 347879 has been marked as a duplicate of this bug. ***
Comment 6 Felipe Heidrich CLA 2011-06-01 09:58:24 EDT
Bog, do we have a 64bit ubuntu ?
Comment 7 Joakim Erdfelt CLA 2011-06-01 14:08:17 EDT
I too have this problem.
I am using...

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 11.04
Release:	11.04
Codename:	natty

$ java --version
java version "1.6.0_25"
Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
Java HotSpot(TM) Server VM (build 20.0-b11, mixed mode)

  NOTE: This is a manually installed Java from oracle, not via the ubuntu apt packaging system.

$ cat /proc/cpuinfo | grep "model name"
model name	: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz

$ uname -a
Linux lapetus 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Using the Snippet166.java from comment #1 as a test, I started to dig deeper.

This appears to be a bug on ubuntu's ia32-libs package.

https://bugs.launchpad.net/ubuntu/+source/gdk-pixbuf/+bug/779665
https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/781870

Workaround:
Set this up before executing eclipse.

export GDK_PIXBUF_MODULE_FILE=/usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders.cache

Now I can delete projects as before.
Comment 8 Bogdan Gheorghe CLA 2011-06-02 22:08:37 EDT
I'll give this a try tomorrow, I can get access to a 64 bit Ubuntu.
Comment 9 Rodrigo Garcia CLA 2011-09-24 07:48:26 EDT
I'm running eclipse 3.5 32 bit with java 32 and I'm trying to run an SWT 32bit application I'm working on. I was using windows but I want to be able to do it from ubuntu, so I added the SWT jar for linux

I'm running Ubuntu 11.04 64bit

I've tried the workarounds suggested here so I'm using the following script to run eclipse:

export UBUNTU_MENUPROXY=0
export GDK_PIXBUF_MODULE_FILE=/usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders.cache
/home/rodrigo/Apps/eclipse_jee_galileo_lvs/eclipse

Then, when I try to run my app I get the following errors:

(SWT:3242): Gtk-WARNING **: Loading IM context type 'ibus' failed

(SWT:3242): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: wrong ELF class: ELFCLASS64

(SWT:3242): Gtk-WARNING **: Loading IM context type 'ibus' failed
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
 at com.lvsint.abp.admin.AbpApplicationLauncher.launch(AbpApplicationLauncher.java:61)
 at com.lvsint.abp.richclient.eventcreator.EventCreatorShell.main(EventCreatorShell.java:2237)
Caused by: java.lang.NullPointerException
 at org.eclipse.swt.accessibility.Accessible.isValidThread(Unknown Source)


I also tried with the snippet:

http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet166.java?view=co

And when I run it I get this in the error log:

/usr/lib/gio/modules/libgiobamf.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgiobamf.so
/usr/lib/gio/modules/libgvfsdbus.so: wrong ELF class: ELFCLASS64
Failed to load module: /usr/lib/gio/modules/libgvfsdbus.so

And when I close it I get the same logs as when running my app:

(SWT:3593): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: wrong ELF class: ELFCLASS64

(SWT:3593): Gtk-WARNING **: Loading IM context type 'ibus' failed

(SWT:3593): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: wrong ELF class: ELFCLASS64

(SWT:3593): Gtk-WARNING **: Loading IM context type 'ibus' failed

(SWT:3593): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so: wrong ELF class: ELFCLASS64

(SWT:3593): Gtk-WARNING **: Loading IM context type 'ibus' failed


Any other workaround?
Comment 10 Felipe Heidrich CLA 2011-10-03 11:07:25 EDT
Arun, please investigate.

Rodrigo, eclipse 3.5 is pretty old, could you try eclipse 3.7 ?
Comment 11 Rodrigo Garcia CLA 2011-10-03 19:16:51 EDT
(In reply to comment #10)
> Arun, please investigate.
> 
> Rodrigo, eclipse 3.5 is pretty old, could you try eclipse 3.7 ?

Hi, 

OK, I'll try to find some time next weekend to do it.

On the other hand I realized that I could try to run the app using SWT for 64 bit, so I changed java, swt and eclipse to the 64bit version

Now I don't get the error logs, but still getting NPE

Here you can find my post explaining the problems

http://stackoverflow.com/questions/7...untu-11-04-npe

or here

http://www.eclipse.org/forums/index....12/#msg_731212

Any ideas? Don't know if it's a problem with the SWT version, with this Ubuntu version or what

Thanks
Comment 12 Stephan Herrmann CLA 2017-09-07 18:36:01 EDT
For me display.getSystemImage(SWT.ICON_QUESTION) is null even using the standalone Snippet166 mentioned in comment 1.

Kubuntu 16.04.3

eclipse.buildId=4.8.0.Y20170831-1000
org.eclipse.swt.internal.deviceZoom=100
org.eclipse.swt.internal.gtk.theme=Breeze
org.eclipse.swt.internal.gtk.version=3.18.9
org.eclipse.swt.internal.webkitgtk.version=2.16.6

all is 64bit.

=> Delete action is not available!


Warnings in the console:

(SWT:14279): Gtk-WARNING **: Error loading image 'file:///usr/share/themes/Breeze/gtk-3.0/assets/scrollbar-slider-overlay-horizontal.png': Error opening file: No such file or directory
(SWT:14279): GLib-CRITICAL **: g_base64_encode_step: assertion 'in != NULL' failed
(SWT:14279): Gtk-WARNING **: Error loading image 'file:///usr/share/themes/Breeze/gtk-3.0/assets/scrollbar-slider-overlay-horizontal@2.png': Error opening file: No such file or directory
(SWT:14279): GLib-CRITICAL **: g_base64_encode_step: assertion 'in != NULL' failed

etc.

and then 
(SWT:14279): Gtk-WARNING **: Theme directory  of theme oxygen has no size field
Comment 13 Stephan Herrmann CLA 2017-10-05 08:57:39 EDT
Ping - many operations in Eclipse are not possible due to this problem.

Even if this might be caused upstream (e.g., in KDE, gtk, ...) there has to be a workaround for an issue of this severity.
Comment 14 Eric Williams CLA 2017-10-05 10:12:14 EDT
(In reply to Stephan Herrmann from comment #13)
> Ping - many operations in Eclipse are not possible due to this problem.
> 
> Even if this might be caused upstream (e.g., in KDE, gtk, ...) there has to
> be a workaround for an issue of this severity.

Based on comment 12, this looks to be a theming issue. GTK seems to be looking for an icon that is missing. I would suggest trying with a different theme and filing a bug with the maintainer of your current theme.
Comment 15 Leo Ufimtsev CLA 2017-10-05 10:26:21 EDT
(In reply to Stephan Herrmann from comment #13)
> Ping - many operations in Eclipse are not possible due to this problem.
> 
> Even if this might be caused upstream (e.g., in KDE, gtk, ...) there has to
> be a workaround for an issue of this severity.

Hello Stephan, 

I tested Snippet166 on my System (Fedora 26, Gtk3.22, Gnome, Adwaita theme). It works without issues.


It seems that the issue may be due to a missing system icon of sort. SWT should ideally be able to account for missing system icons.

As this is an OS-specific or theme specific issue, it might get a bit less attention than it probably deserves. But in the mean time, you could try:
1) Have you tried using a different system theme?(e.g Adwaita works)
2) Would you be able to test this on newest Ubuntu (I think the newest one uses Gnome now).
3) You could for the time being try using gtk2:
export SWT_GTK3=0
Comment 16 Stephan Herrmann CLA 2017-10-05 12:41:03 EDT
Thanks for your responses.

SWT_GTK3=0 indeed avoids the problem (but doesn't seem like a good place to be in 2017).

Gnome is not an option on Kubuntu (note the "K").

Right when I was going to claim that my setup is a 100% default Kubuntu installation, I noticed that among the various things called "theme" there is a setting for the *Icon Theme* specifically used for GTK applications. That theme was set to oxygen (assumable from the time, when oxygen was the standard theme on KDE). Changing this icon theme to Breeze indeed fixed the problem for me.

Still, since it is possible for a user's configuration to lack one of these icons, it will happen and it does. It would be great if SWT gracefully handles this rather then letting essential dialogs crash with NPE.
Comment 17 Leo Ufimtsev CLA 2017-10-06 15:29:50 EDT
(In reply to Stephan Herrmann from comment #16)
> Thanks for your responses.
> 
> SWT_GTK3=0 indeed avoids the problem (but doesn't seem like a good place to
> be in 2017).
> 
> Gnome is not an option on Kubuntu (note the "K").
> 
> Right when I was going to claim that my setup is a 100% default Kubuntu
> installation, I noticed that among the various things called "theme" there
> is a setting for the *Icon Theme* specifically used for GTK applications.
> That theme was set to oxygen (assumable from the time, when oxygen was the
> standard theme on KDE). Changing this icon theme to Breeze indeed fixed the
> problem for me.
> 
> Still, since it is possible for a user's configuration to lack one of these
> icons, it will happen and it does. It would be great if SWT gracefully
> handles this rather then letting essential dialogs crash with NPE.

Stephan, I agree with everything you said.

I/we would be very happy to review any patches for this issue :-).

Usually it's due to man power. E.g At the moment I'm working on Webkit2 port, which takes precedence because without that, eclipse won't start at all on newer OS's which only ship webkit2 (and not webkit1).

As a note, Oxygen theme is quite notorious for all sort of peculiar issues. While it would be good to be able to handle problematic themes, in practice we usually suggest not to use them. (But again, any theme related patches/gerrit submissions are welcomed and will be reviewed :-)).

Thanks for looking into this Stephan.
Comment 18 Stephan Herrmann CLA 2017-10-06 18:02:04 EDT
(In reply to Leo Ufimtsev from comment #17)
> I/we would be very happy to review any patches for this issue :-).

Will you take a JDT compiler bug in exchange? :)
Comment 19 Leo Ufimtsev CLA 2017-10-06 18:38:28 EDT
(In reply to Stephan Herrmann from comment #18)
> (In reply to Leo Ufimtsev from comment #17)
> > I/we would be very happy to review any patches for this issue :-).
> 
> Will you take a JDT compiler bug in exchange? :)

As soon as I'm done with Webkit2 port, I was thinking I'd be nice for me to branch out a bit.
Note, webkit2 port will take a while :-).
Comment 20 Stephan Herrmann CLA 2017-10-07 05:06:03 EDT
(In reply to Leo Ufimtsev from comment #19)
> (In reply to Stephan Herrmann from comment #18)
> > (In reply to Leo Ufimtsev from comment #17)
> > > I/we would be very happy to review any patches for this issue :-).
> > 
> > Will you take a JDT compiler bug in exchange? :)
> 
> As soon as I'm done with Webkit2 port, I was thinking I'd be nice for me to
> branch out a bit.
> Note, webkit2 port will take a while :-).

touché

:)
Comment 21 Ansgar Radermacher CLA 2017-12-21 04:12:06 EST
(In reply to Stephan Herrmann from comment #20)
> (In reply to Leo Ufimtsev from comment #19)
> > (In reply to Stephan Herrmann from comment #18)
> > > (In reply to Leo Ufimtsev from comment #17)
> > > > I/we would be very happy to review any patches for this issue :-).
> > > 
> > > Will you take a JDT compiler bug in exchange? :)
> > 
> > As soon as I'm done with Webkit2 port, I was thinking I'd be nice for me to
> > branch out a bit.
> > Note, webkit2 port will take a while :-).
> 
> touché
> 
> :)

I recently have the same problem on my Kubuntu 16.04 system with an Eclipse photon, all 64 bit (4.10.0-42-generic #46~16.04.1-Ubuntu ...x86_64 GNU/Linux). It caused bug 528984. Not sure, if it is a Ubuntu issue or Eclipse/SWT. 

But I suspect the latter, since the icon is shown on an Oxygen.
Project deletion works when applying the workaround in 528984, but the icon is not shown.
Comment 22 Leo Ufimtsev CLA 2017-12-21 08:55:23 EST
There are plans on dropping 32 bit support because oracle will stop compiling 32 bit java in September 2018:
Bug 526620 – Future of 32-bit Eclipse Platform/RCP/SDK/IDE...
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=526620

And currently we have a number of Gtk3 and Wayland issues that are more pressing than adding 32 bit support. So unfortunately it's unlikely that SWT team will work on this issue due to man power.

But we would be happy to review patches :-).
Comment 23 Stephan Herrmann CLA 2017-12-21 09:11:22 EST
(In reply to Leo Ufimtsev from comment #22)
> There are plans on dropping 32 bit support because oracle will stop
> compiling 32 bit java in September 2018:
> Bug 526620 – Future of 32-bit Eclipse Platform/RCP/SDK/IDE...
> Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=526620
> 
> And currently we have a number of Gtk3 and Wayland issues that are more
> pressing than adding 32 bit support. So unfortunately it's unlikely that SWT
> team will work on this issue due to man power.

This is a fair answer to the original report.

Just keep in mind that recent comments relate to 64 bit configurations.
Comment 24 Eric Williams CLA 2018-08-16 10:29:51 EDT
Is there anything left to do here on the 64-bit side of things? Bug 528984 is fixed now.
Comment 25 Stephan Herrmann CLA 2018-08-16 14:36:41 EDT
(In reply to Eric Williams from comment #24)
> Is there anything left to do here on the 64-bit side of things? Bug 528984
> is fixed now.

Looks good to me. I no longer have the broken (iconless) configuration, so I can't say about other operations being affected. Marking the return type of getSystemImage() as @Nullable would probably go a long way :)
Comment 26 Eric Williams CLA 2018-08-16 14:43:36 EDT
(In reply to Stephan Herrmann from comment #25)
> (In reply to Eric Williams from comment #24)
> > Is there anything left to do here on the 64-bit side of things? Bug 528984
> > is fixed now.
> 
> Looks good to me. I no longer have the broken (iconless) configuration, so I
> can't say about other operations being affected. Marking the return type of
> getSystemImage() as @Nullable would probably go a long way :)

I think this is already the case, the Javadoc states that the method may return null if no such image is supplied by the platform.