Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 467135

Summary: GPF in OS._gtk_im_context_set_client_window on Redhat Linux 7
Product: [Eclipse Project] Platform Reporter: Knut Radloff <knut_radloff>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: RESOLVED WORKSFORME QA Contact:
Severity: major    
Priority: P3 CC: akurtakov, ericwill, jefhardy
Version: 3.6.2Keywords: triaged
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
javacore of crashing JVM none

Description Knut Radloff CLA 2015-05-12 13:21:07 EDT
Created attachment 253418 [details]
javacore of crashing JVM

version.txt actually says 3.659
We use SWT in IBM Rational Doors Next Generation to render graphical artifacts. We received two reports of SWT crashing on Redhat Linux 7 with GTK2 gtk2-2.24.22

rpm -q gtk2 shows
gtk2-2.24.22-5.el7_0.1.x86_64
gtk2-2.24.22-5.el7_0.1.i686

on both machines. This appears to be the most recent GTK2 binary for Redhat 7. Redhat 6 machines with GTK2 2.24.23 don't have this problem.
We tried doubling the MaxDirectMemorySize to 2GB. The MaxPermSize argument mentioned in a similar bug doesn't seem to apply since this is an IBM vm, not Oracle.

Java stack from javacore is 
3XMTHREADINFO3           Java callstack:
4XESTACKTRACE                at org/eclipse/swt/internal/gtk/OS._gtk_im_context_set_client_window(Native Method)
4XESTACKTRACE                at org/eclipse/swt/internal/gtk/OS.gtk_im_context_set_client_window(OS.java:7655)
4XESTACKTRACE                at org/eclipse/swt/widgets/Control.gtk_unrealize(Control.java:2963)
4XESTACKTRACE                at org/eclipse/swt/widgets/Widget.windowProc(Widget.java:1711)
4XESTACKTRACE                at org/eclipse/swt/widgets/Display.windowProc(Display.java:4354)
4XESTACKTRACE                at org/eclipse/swt/internal/gtk/OS._gtk_widget_realize(Native Method)
4XESTACKTRACE                at org/eclipse/swt/internal/gtk/OS.gtk_widget_realize(OS.java:12851)
4XESTACKTRACE                at org/eclipse/swt/widgets/Control.paintWindow(Control.java:305)
4XESTACKTRACE                at org/eclipse/swt/widgets/Control.internal_new_GC(Control.java:3011)
4XESTACKTRACE                at org/eclipse/swt/graphics/GC.<init>(GC.java:159)
4XESTACKTRACE                at org/eclipse/swt/graphics/GC.<init>(GC.java:125)
4XESTACKTRACE                at org/eclipse/draw2d/FigureUtilities.getGC(FigureUtilities.java:74)
4XESTACKTRACE                at org/eclipse/draw2d/FigureUtilities.setFont(FigureUtilities.java:363)
4XESTACKTRACE                at org/eclipse/draw2d/FigureUtilities.getStringDimension(FigureUtilities.java:124)
4XESTACKTRACE                at org/eclipse/draw2d/FigureUtilities.getStringExtents(FigureUtilities.java:154)
4XESTACKTRACE                at com/ibm/rdm/ui/forms/DisplayService$DisplayThread.run(DisplayService.java:152)
Comment 1 Alexander Kurtakov CLA 2015-05-15 08:48:08 EDT
Does it happen when running with GTK 3? Running eclipse on gtk 2 on RHEL 7.x is really not recommended as certain components (like webkitgtk) are compiled only against Gtk 3.x.
Comment 2 Knut Radloff CLA 2015-05-15 11:45:20 EDT
I was under the impression that SWT 3.659 only supports GTK2. For GTK3 we would have to switch to SWT 4.4, right? 
For the upcoming 6.0 release of our product we're limiting linux support to Redhat 6. I'm downgrading the importance since this is not a blocker with the published platform limitation.
We may explore using a more recent SWT in a future release, it'll just require a test effort and time commitment.
Comment 3 Alexander Kurtakov CLA 2015-05-15 11:48:05 EDT
(In reply to Knut Radloff from comment #2)
> I was under the impression that SWT 3.659 only supports GTK2. For GTK3 we
> would have to switch to SWT 4.4, right? 

Preferably even 4.5 as there are a number of GTK fixes in it.

> For the upcoming 6.0 release of our product we're limiting linux support to
> Redhat 6. I'm downgrading the importance since this is not a blocker with
> the published platform limitation.
> We may explore using a more recent SWT in a future release, it'll just
> require a test effort and time commitment.
Comment 4 Jeff Hardy CLA 2015-05-22 14:57:25 EDT
The same error occurs when I replaced the SWT plugins with org.eclipse.swt_3.104.0.v20150430-1253.jar and org.eclipse.swt.gtk.linux.x86_64_3.104.0.v20150430-1253.jar from 4.5 M7.  This time the backtrace shows it was using GTK3.

/lib64/libgtk-3.so.0(+0x17c575)[0x7f3f1f2fd575]
[snip]/eclipse/configuration/org.eclipse.osgi/bundles/280/1/.cp/libswt-pi3-gtk-4524.so(Java_org_eclipse_swt_internal_gtk_OS__1gtk_1im_1context_1set_1client_1window+0xf)[0x7f3f1f8a8adf]
Comment 5 Eric Williams CLA 2018-05-11 15:22:25 EDT
Is this still reproducible?
Comment 6 Eric Williams CLA 2018-06-13 10:34:50 EDT
Closing this ticket now, please re-open the bug if you see the issue on 4.8 with GTK3.22.