Bug 440660 - Several dialogs incompatible with GTK (Oxygen = default theme for Kubuntu)
Summary: Several dialogs incompatible with GTK (Oxygen = default theme for Kubuntu)
Status: CLOSED NOT_ECLIPSE
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.5   Edit
Hardware: PC Linux
: P3 major with 3 votes (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: readme
: 445220 445871 463606 466525 473152 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-07-29 11:10 EDT by Holger Klene CLA
Modified: 2015-07-21 14:56 EDT (History)
16 users (show)

See Also:


Attachments
JDK crash (71.12 KB, image/png)
2014-08-24 06:02 EDT, Holger Klene CLA
no flags Details
thread dump error log (165.11 KB, text/x-log)
2014-09-14 04:42 EDT, Holger Klene CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Holger Klene CLA 2014-07-29 11:10:26 EDT
Downloaded Eclipse nightly eclipse-SDK-N20140728-2000-linux-gtk-x86_64.tar.gz
Checked SHA512 OK
unzip to new folder
started and selected empty directory to create new workspace
clicked welcome screen away
rightclick in package explorer > New ...> Java-Project
Dialog pops up, but won't accept any keyboard/mouse input
after several seconds the GUI disappears and the Eclipse-Process is just gone
no log-file was written in .metadata of the workspace

restarting eclipse
same workspace
no welcome-screen this time
rightclick in package explorer > New ...> Java-Project
Dialog pops up, but almost immediately the whole GUI disappears
console output reads:

holger@Meerschweinchen:~/Desktop/eclipseBug/eclipse$ ./eclipse
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
java: /build/buildd/gtk2-engines-oxygen-1.4.5/src/animations/oxygencomboboxdata.cpp:87: void Oxygen::ComboBoxData::setButton(GtkWidget*): Zusicherung »!_button._widget« nicht erfüllt.
holger@Meerschweinchen:~/Desktop/eclipseBug/eclipse$ uname -a
Linux Meerschweinchen 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
holger@Meerschweinchen:~/Desktop/eclipseBug/eclipse$ java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
holger@Meerschweinchen:~/Desktop/eclipseBug/eclipse$
Comment 1 Holger Klene CLA 2014-07-29 12:36:59 EDT
Same behaviour for all nightly builds from 24. July up to 28. July

Oh and I found the GTK version ...

holger@Meerschweinchen:~$ dpkg -l 'gtk*'
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name           Version      Architektur  Beschreibung
+++-==============-============-============-=================================
ii  gtk2-engines-o 1.4.5-0ubunt amd64        Oxygen widget theme for GTK+-base
un  gtk2.0-binver- <keine>      <keine>      (keine Beschreibung vorhanden)
un  gtk3-binver-3. <keine>      <keine>      (keine Beschreibung vorhanden)
ii  gtk3-engines-o 1.3.5-0ubunt amd64        Oxygen widget theme for GTK3-base
un  gtk3-engines-u <keine>      <keine>      (keine Beschreibung vorhanden)
un  gtkam          <keine>      <keine>      (keine Beschreibung vorhanden)
holger@Meerschweinchen:~$
Comment 2 Holger Klene CLA 2014-08-05 17:18:25 EDT
This affects more dialogs such as the project properties and the preferences.

It has also leaked into the Integration builds: eclipse-SDK-I20140805-0800-linux-gtk-x86_64.tar.gz
Comment 3 Alexander Kurtakov CLA 2014-08-14 12:16:08 EDT
Can you try changing your gtk theme to something different from oxygen-gtk? There are many reports about eclipse crashing when this theme is used.
Comment 4 Holger Klene CLA 2014-08-24 06:02:21 EDT
Created attachment 246283 [details]
JDK crash

Yes, changing the GTK2 and GTK3 themes to anything non-Oxygen does allow Eclipse to operate the "new java project"-wizzard. But man does this look ugly!

On first try with updated java I got a real crash with backtrace (see screenshot) But after rebooting my machine, this did not happen again.

holger@Meerschweinchen:~$ java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Comment 5 Holger Klene CLA 2014-08-24 06:13:45 EDT
forgot to mention: eclipse-SDK-N20140823-1500-linux-gtk-x86_64.tar.gz
Comment 6 Terry Parker CLA 2014-08-28 16:09:09 EDT
This is also an issue for 4.4 KDE users on Ubuntu Trusty. We recently deployed a 4.4 version that incorporates recent 4_4_maintenance branch fixes, and got a  burst of problem reports. But people are also updating to Trusty, so I haven't yet tracked down if this problem has been introduced in the R4_4_maintenance branch or exists in the original 4.4.0 release.
Comment 7 Holger Klene CLA 2014-08-28 17:24:41 EDT
This is not affected from this bug ... well not for me now.

The official GA release:
Version: Luna (4.4)
Build id: I20140606-1215
Comment 8 Holger Klene CLA 2014-08-28 18:17:30 EDT
I can confirm:

eclipse-SDK-M20140827-1200-linux-gtk-x86_64.tar.gz is indeed affected!

holger@Meerschweinchen:~/Desktop/eclipseBug/eclipse$ ./eclipse 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
java: /build/buildd/gtk2-engines-oxygen-1.4.5/src/animations/oxygencomboboxdata.cpp:87: void Oxygen::ComboBoxData::setButton(GtkWidget*): Zusicherung »!_button._widget« nicht erfüllt.
Comment 9 Terry Parker CLA 2014-08-29 00:34:39 EDT
Thanks for verifying that 4.4.1 will be affected by this bug, unless it is fixed. Its priority should be raised.
Comment 10 Holger Klene CLA 2014-09-06 08:23:38 EDT
Ups ... the JDk crash in attachment 246283 [details] also occurs for the official GA release:
Version: Luna (4.4)
Build id: I20140606-1215

I was using eclipse all morning, debugging happily. Right then my program was suspended in debug perspective on a breakpoint and I tried to inspect some variable via Ctrl+Shift+i (which I did countless times before in this session). I've no clue, how to reproduce it.


Apport this time says:

The crashed program seems to use third-party or local libraries:

/home/holger/.eclipse/org.eclipse.platform_4.4.0_77163767_linux_gtk_x86_64/configuration/org.eclipse.osgi/197/0/.cp/libswt-gtk-4427.so
/home/holger/.eclipse/org.eclipse.platform_4.4.0_77163767_linux_gtk_x86_64/configuration/org.eclipse.osgi/42/0/.cp/os/linux/x86_64/libunixfile_1_0_0.so
/home/holger/.eclipse/org.eclipse.platform_4.4.0_77163767_linux_gtk_x86_64/configuration/org.eclipse.osgi/197/0/.cp/libswt-pi-gtk-4427.so
/home/holger/.eclipse/org.eclipse.platform_4.4.0_77163767_linux_gtk_x86_64/configuration/org.eclipse.osgi/197/0/.cp/libswt-cairo-gtk-4427.so
/home/holger/.eclipse/org.eclipse.platform_4.4.0_77163767_linux_gtk_x86_64/configuration/org.eclipse.osgi/197/0/.cp/libswt-atk-gtk-4427.so
/home/holger/.eclipse/org.eclipse.platform_4.4.0_77163767_linux_gtk_x86_64/configuration/org.eclipse.osgi/197/0/.cp/libswt-webkit-gtk-4427.so

It is highly recommended to check if the problem persists without those first.

Do you want to continue the report process anyway?
Comment 11 Holger Klene CLA 2014-09-14 04:42:34 EDT
Created attachment 247044 [details]
thread dump error log

I've just stumbled upon the corresponding trace info to the crash in previous comment
Comment 12 Jiri Popelka CLA 2014-09-18 09:49:44 EDT
I can see the same on Fedora 21.
I reported it as https://bugs.kde.org/show_bug.cgi?id=339174
Comment 13 Axel Mueller CLA 2014-09-29 06:29:48 EDT
I just upgraded this morning from 4.4.0 to the *official* 4.4.1 and now I get constantly crashes whenever I open a dialog.
"java: /build/buildd/gtk2-engines-oxygen-1.4.5/src/animations/oxygencomboboxdata.cpp:87: void Oxygen::ComboBoxData::setButton(GtkWidget*): Assertion `!_button._widget' failed."

Workaround: change GTK Style to something else then oxygen-gtk

I just do not understand why nobody looked into this and let it slip into an official release. The bug was reported 2 months ago.
Comment 14 Alexander Kurtakov CLA 2014-09-29 06:43:58 EDT
Hi Axel, 
Sorry for the bad experience you have, we are doing the best possible with available resources.
I'm spending all my swt time towards GTK3 with Adwaita(the official GTK theme) theme and don't have enough time to fix every known problem with them. This probably explains why the bug was not looked at - active swt contributors is so low that we barely manage to keep it working.
Comment 15 Axel Mueller CLA 2014-09-29 07:21:24 EDT
(In reply to Alexander Kurtakov from comment #14)
> Hi Axel, 
> Sorry for the bad experience you have, we are doing the best possible with
> available resources.
> I'm spending all my swt time towards GTK3 with Adwaita(the official GTK
> theme) theme and don't have enough time to fix every known problem with
> them. This probably explains why the bug was not looked at - active swt
> contributors is so low that we barely manage to keep it working.
I know resources are scare but this bug renders the 4.4.1 upgrade completely useless for KDE users. I guess there will be many new (and experienced) Eclipse users that will not further dig into this and will just say that Eclipse is crap and crashes constantly. Would it be at least possible to raise the importance of this bug so it will be fixed for the spring upgrade and in the meantime put a note on the download page and in the Eclipse forums? So people could use the workaround (changing the GTK theme in KDE)?
Comment 16 Alexander Kurtakov CLA 2014-09-29 07:36:16 EDT
Btw, would you try running with oxygen and SWT/GTK3 (export SWT_GTK3=1  and/or change  launcher.GTK_version to 3 in your eclipse.ini if exists)? It might be time to give up on GTK2 in general.
Comment 17 Axel Mueller CLA 2014-09-29 08:12:00 EDT
(In reply to Alexander Kurtakov from comment #16)
> Btw, would you try running with oxygen and SWT/GTK3 (export SWT_GTK3=1 
> and/or change  launcher.GTK_version to 3 in your eclipse.ini if exists)? It
> might be time to give up on GTK2 in general.
OK, I switched to GTK3. There are no more crashes (with oxygen-gtk theme). However, there are some visual glitches (background has different grey shadings). It is annoying but bearable. I will try it for some time.
Comment 18 M S CLA 2014-09-29 16:02:14 EDT
this bug is caused by a bug in gtk2 theme oxygen. If one switches for instance to "industrial" theme, the gui actions causing the crash are gone. Maybe its possible to override (or ship a custom) gtkrc to ensure compatible theme elements are used? I'am willing to test those.
Comment 19 Holger Klene CLA 2014-09-30 18:35:46 EDT
(In reply to Alexander Kurtakov from comment #16)
> It might be time to give up on GTK2 in general.

Well somewhat: I agree, that it's fruitless, to support both GTK versions, as this will only generate more work than necessary. The problem is to find the ideal moment, *when* to switch, as in when the missing and broken stuff in GTK3 is outweighed by the missing and broken stuff in GTK2. From an outside perspective this is really hard to judge. Of course I can read feature lists, but in the end it depends on what you get, once you really try it.

Before this bug, with Luna GA release, GTK2 still works somewhat (aside from the JVM crash in comment 4 and comment 10). Scarce resource or not, someone on the eclipse end of the spectrum changed something in Eclipse between 4.4 I20140606-1215 and 4.5 N20140728-2000 or 4.4 M20140827-1200, to now totally break the GTK2-Oxygen default option. Yes this might ultimately be a bug in GTK2-Oxygen, but as version 4.4 I20140606-1215 shows, there have been possibilities to offer the needed functionality without triggering the bug.

First question: How much effort would it be, to isolate and revert this specific change?

Second question: Is GTK3 ready to rock?

My very first launch with GTK 3 today was led by the question, did I really enable this magic environment variable correctly? So the first look of an empty workspace was intriguing. Until I tried to check the installation details for any sign of GTK3 ... I had to learn GTK3 announces itself as correctly installed and enabled, if all your tables are blank :-( to be precise, this is bug 432673 (tested with yesterdays 4.5 nightly & Luna GA).

So effectively both GTK2 as well as GTK3 must be considered broken as of now. For GTK2 there is an easy workaround at hand to switch the theme ... but it comes at the prize of ugly views, not only in Eclipse but also in Firefox and other applications. I haven't checked, if changing the GTK3 theme will fix the broken tables. But for this scope here, lets consider Oxygen either version GTK2 or GTK3 as a given since it's the default for KDE.

Ultimately there is a third question: Where to direct the troops?

I think to revert a change, once it's been identified cannot be that hard (just an assumption), so I've voted for this bug at hand to devote some limited resource here, as it seems to derive the quickest benefit to get back to a working GTK2-option.

Next, I don't want anyone bothering too much with GTK2 anymore, just be sure not to break it, until GTK3 is ready for production and concentrate all remaining forces on floating GTK3.
Comment 20 Axel Mueller CLA 2014-10-01 08:12:55 EDT
(In reply to M S from comment #18)
> this bug is caused by a bug in gtk2 theme oxygen. If one switches for
> instance to "industrial" theme, the gui actions causing the crash are gone.
> Maybe its possible to override (or ship a custom) gtkrc to ensure compatible
> theme elements are used? I'am willing to test those.

This seems to be a bug in GTK according to https://bugs.launchpad.net/ubuntu/+source/gtk2-engines-oxygen/+bug/1242801
(there a similar problem for Meld was reported).
Another workaround mentioned there is
For oxygen, edit the normally already existing file "/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc" and change
    GtkComboBox::appears-as-list = 1
into
    GtkComboBox::appears-as-list = 0

This workaround is working for me.
Comment 21 Sergey Prigogin CLA 2014-10-03 12:50:54 EDT
*** Bug 445871 has been marked as a duplicate of this bug. ***
Comment 22 Holger Klene CLA 2014-10-07 09:55:28 EDT
(In reply to Axel Mueller from comment #20)
> "/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc" and change
>     GtkComboBox::appears-as-list = 1
> into
>     GtkComboBox::appears-as-list = 0

Indeed. It's working for my setup too (eclipse-SDK-N20140929-2000-linux-gtk-x86_64.tar.gz). Thank you!
Comment 23 Axel Guckelsberger CLA 2014-10-07 10:05:01 EDT
(In reply to Holger Klene from comment #22)
> (In reply to Axel Mueller from comment #20)
> > "/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc" and change
> >     GtkComboBox::appears-as-list = 1
> > into
> >     GtkComboBox::appears-as-list = 0
> 
> Indeed. It's working for my setup too
> (eclipse-SDK-N20140929-2000-linux-gtk-x86_64.tar.gz). Thank you!


Working fine here, too.
Thank you, Axel Mueller!
Comment 24 Manuel Steurer CLA 2014-10-23 10:00:38 EDT
They fixed https://bugs.kde.org/show_bug.cgi?id=339174
Comment 25 Jiri Popelka CLA 2014-10-24 09:53:49 EDT
(In reply to Manuel Steurer from comment #24)
> They fixed https://bugs.kde.org/show_bug.cgi?id=339174

Indeed, I don't see the problem anymore on Fedora with oxygen-gtk2-1.4.6.
Comment 26 Samuel Suther CLA 2015-02-20 10:04:26 EST
(In reply to Holger Klene from comment #1)
> holger@Meerschweinchen:~$ dpkg -l 'gtk*'
> Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
> | Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
>          Halb installiert/Trigger erWartet/Trigger anhängig
> |/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler:
> GROSS=schlecht)
> ||/ Name           Version      Architektur  Beschreibung
> +++-==============-============-============-
> =================================
> ii  gtk2-engines-o 1.4.5-0ubunt amd64        Oxygen widget theme for
> GTK+-base
> un  gtk2.0-binver- <keine>      <keine>      (keine Beschreibung vorhanden)
> un  gtk3-binver-3. <keine>      <keine>      (keine Beschreibung vorhanden)
> ii  gtk3-engines-o 1.3.5-0ubunt amd64        Oxygen widget theme for
> GTK3-base
> un  gtk3-engines-u <keine>      <keine>      (keine Beschreibung vorhanden)
> un  gtkam          <keine>      <keine>      (keine Beschreibung vorhanden)
> holger@Meerschweinchen:~$

I've installed a brand new Kubuntu 14.04 and all updates on it.
Than I load the newest pdt (eclipse-php-luna-SR1a-linux-gtk-x86_64.tar.gz)

Error still exist.

Workarround works: https://bugs.eclipse.org/bugs/show_bug.cgi?id=440660#c20
Comment 27 Andrey Loskutov CLA 2015-03-31 13:52:27 EDT
*** Bug 463606 has been marked as a duplicate of this bug. ***
Comment 28 Arun Thondapu CLA 2015-04-01 02:31:59 EDT
Closing as NOT_ECLIPSE as this has been fixed in oxygen-gtk2 theme itself via KDE bug mentioned in comment 24.
Comment 29 Arun Thondapu CLA 2015-05-06 05:18:31 EDT
*** Bug 466525 has been marked as a duplicate of this bug. ***
Comment 30 Arun Thondapu CLA 2015-05-06 05:40:54 EDT
*** Bug 445220 has been marked as a duplicate of this bug. ***
Comment 31 Andrey Loskutov CLA 2015-07-21 14:56:43 EDT
*** Bug 473152 has been marked as a duplicate of this bug. ***