Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » GEF » GEF-based editors are crashing on latest GTK
GEF-based editors are crashing on latest GTK [message #1744109] Thu, 22 September 2016 11:31 Go to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1582
Registered: January 2014
Senior Member

Hi,

I want to bring this bug [1] to your attention. It has been submitted to platform/swt but after spending quite some time with it I think it is more an GEF issues.

To summarize the bug in short: GEF-based (and such also GMF-based) editors are crashing the Eclipse application with a GTK error:
Gtk:ERROR:/build/gtk+3.0-3.21.6/./gtk/gtkwidget.c:10232:gtk_widget_pop_verify_invariants: assertion failed: (widget->priv->verifying_invariants_count > 0)


I noticed that the editors are shown and also the content is drawn correctly. The crash only happens if you move the mouse over the editor or the editor's outline.

I tried to further track this down in order to identify the cause but sofar I was not successful in setting breakpoints at the right place. Has anybody an idea where I could start?

BTW a workaround is to disable GTK3 with SWT_GTK3=0.

BR,
Alois


[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=501542
Re: GEF-based editors are crashing on latest GTK [message #1744121 is a reply to message #1744109] Thu, 22 September 2016 13:30 Go to previous messageGo to next message
Alexander Nyssen is currently offline Alexander NyssenFriend
Messages: 244
Registered: July 2009
Location: Lünen
Senior Member
The fact that GEF does not provide any native code, and that the workaround is to instruct SWT to use GTK2 instead of GTK3, both underline that this is an SWT and not a GEF one. What makes you think otherwise?
Re: GEF-based editors are crashing on latest GTK [message #1744124 is a reply to message #1744121] Thu, 22 September 2016 13:43 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1582
Registered: January 2014
Senior Member

The reason that all my basic Eclipse Neon (e.g., JDT, CDT, Modeling) is working as before (except this crazy warnings) and as soon as I start a GEF based editor Eclipse crashes. I think it is they way how GEF is using SWT. I just wanted to have some starting point where I can put a breakpoint and step on from that. However I'm somehow lost in the code. The best guess where I could start is the code that handles when the mouse enters the editor. If someone could point me to that place I can try to find my way and hopefully identify the component which is in the end the cause for the crash.
Re: GEF-based editors are crashing on latest GTK [message #1744147 is a reply to message #1744124] Thu, 22 September 2016 17:32 Go to previous messageGo to next message
Matthias Wienand is currently offline Matthias WienandFriend
Messages: 230
Registered: March 2015
Senior Member
As a starting point, you could try to track down the usage of gtk_widget_pop_verify_invariants until you reach SWT code. You can find the callers within GTK3 and check if SWT is calling any of them. At some point, you should reach SWT code.
Re: GEF-based editors are crashing on latest GTK [message #1744890 is a reply to message #1744147] Sat, 01 October 2016 17:19 Go to previous messageGo to next message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1582
Registered: January 2014
Senior Member

I've spent quite some time to find some causes. But didn't get far. The only thing a I found are the 6 functions which are calling the gtk_widget_pop_verify_invariants but nothing on the SWT side.

In the meantime Debian upgraded to 3.22. And I think with that the GTK people deactivated the assert. But now I get an stack overflow in eclipse. This happens as before when I enter with a mouse cursor into a GEF editor. PFA the error log copied for the AERI dialog. This this help us?
Re: GEF-based editors are crashing on latest GTK [message #1744912 is a reply to message #1744890] Sun, 02 October 2016 13:38 Go to previous messageGo to next message
Matthias Wienand is currently offline Matthias WienandFriend
Messages: 230
Registered: March 2015
Senior Member
Hi,

when you have the callers of gtk_widget_pop_verify_invariants, then you can trace them further until you reach some function that is called by org.eclipse.swt.internal.gtk on the Java side.

The stack trace shows a very short cycle: realize() leads to a call to get_window(), which again calls realize()
	 at org.eclipse.swt.internal.gtk.OS._gtk_widget_realize(OS.java:-2)
	 at org.eclipse.swt.internal.gtk.OS.gtk_widget_realize(OS.java:14842)
	 at org.eclipse.swt.widgets.Widget.gtk_widget_get_window(Widget.java:1800)
	 at org.eclipse.swt.widgets.Composite.gtk_style_set(Composite.java:875)
	 at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2012)
	 at org.eclipse.swt.widgets.Control.windowProc(Control.java:5819)
	 at org.eclipse.swt.widgets.Display.windowProc(Display.java:5490)
	 at org.eclipse.swt.internal.gtk.OS._gtk_widget_realize(OS.java:-2)

It would probably be also nice to see the full stack trace to see where the cycle was entered. Anyway, I guess this is enough information for opening an SWT bug.

Best regards,
Matthias
Re: GEF-based editors are crashing on latest GTK [message #1745019 is a reply to message #1744912] Tue, 04 October 2016 08:43 Go to previous message
Alois Zoitl is currently offline Alois ZoitlFriend
Messages: 1582
Registered: January 2014
Senior Member

Hi,

I think I'll update to above mentioned bug with that information. I don't think it should be a new bug.

BR,
Alois
Previous Topic:Find a figure by Label draw2d
Next Topic:ZoomComboContributionItem Toolbar Height
Goto Forum:
  


Current Time: Tue Apr 16 16:23:04 GMT 2024

Powered by FUDForum. Page generated in 1.83292 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top