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

Bug 439235

Summary: IME-related StackOverflowError
Product: [Eclipse Project] Platform Reporter: Thomas Singer <eclipse>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: akurtakov, ericwill
Version: 4.3.1Keywords: triaged
Target Milestone: ---   
Hardware: PC   
OS: Linux-GTK   
Whiteboard:

Description Thomas Singer CLA 2014-07-09 09:01:15 EDT
A user of SmartGit reported following exception:

java.lang.StackOverflowError
	at org.eclipse.swt.internal.gtk.OS._gtk_im_context_get_preedit_string(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_im_context_get_preedit_string(OS.java:8202)
	at org.eclipse.swt.widgets.IME.gtk_preedit_changed(IME.java:290)
	at org.eclipse.swt.widgets.Canvas.gtk_preedit_changed(Canvas.java:195)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2050)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4563)
	at org.eclipse.swt.internal.gtk.OS._gtk_im_context_get_preedit_string(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_im_context_get_preedit_string(OS.java:8202)
	at org.eclipse.swt.widgets.IME.gtk_preedit_changed(IME.java:290)
	at org.eclipse.swt.widgets.Canvas.gtk_preedit_changed(Canvas.java:195)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2050)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4563)
	at org.eclipse.swt.internal.gtk.OS._gtk_im_context_get_preedit_string(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_im_context_get_preedit_string(OS.java:8202)
	at org.eclipse.swt.widgets.IME.gtk_preedit_changed(IME.java:290)
	at org.eclipse.swt.widgets.Canvas.gtk_preedit_changed(Canvas.java:195)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2050)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4563)
...

Java-Version: 1.7.0_55
Max memory  : 227
OS          : Linux
OS Version  : 3.13.0-30-generic
OS Arch     : amd64
Thread      : swt
Comment 1 Alexander Kurtakov CLA 2014-07-09 10:35:16 EDT
What is the exact SWT version used? What distro? Which Gtk version?
Comment 2 Thomas Singer CLA 2014-07-09 15:03:46 EDT
SWT 4.3.1, more information we don't have - it's from an automated exception reporter without direct end user email contact
Comment 3 Alexander Kurtakov CLA 2014-07-14 16:34:00 EDT
(In reply to Thomas Singer from comment #2)
> SWT 4.3.1, more information we don't have - it's from an automated exception
> reporter without direct end user email contact

It would be very hard for me to debug this without a pure swt snippet that reproduces the problem (a reproducer step-by-step" might give it a chance).
Comment 4 Thomas Singer CLA 2014-07-15 00:54:38 EDT
Maybe you could add further checks as a first step?
Comment 5 Thomas Singer CLA 2015-12-15 06:56:09 EST
The latest stackoverflow has been reported against version 4.527:

java.lang.StackOverflowError
	at org.eclipse.swt.internal.gtk.OS._gtk_im_context_get_preedit_string(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_im_context_get_preedit_string(OS.java:8202)
	at org.eclipse.swt.widgets.IME.gtk_preedit_changed(IME.java:290)
	at org.eclipse.swt.widgets.Canvas.gtk_preedit_changed(Canvas.java:195)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2050)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4563)
	at org.eclipse.swt.internal.gtk.OS._gtk_im_context_get_preedit_string(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_im_context_get_preedit_string(OS.java:8202)
	at org.eclipse.swt.widgets.IME.gtk_preedit_changed(IME.java:290)
	at org.eclipse.swt.widgets.Canvas.gtk_preedit_changed(Canvas.java:195)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2050)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4563)
	at org.eclipse.swt.internal.gtk.OS._gtk_im_context_get_preedit_string(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_im_context_get_preedit_string(OS.java:8202)
	at org.eclipse.swt.widgets.IME.gtk_preedit_changed(IME.java:290)
	at org.eclipse.swt.widgets.Canvas.gtk_preedit_changed(Canvas.java:195)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2050)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4563)
...
Comment 6 Eric Williams CLA 2018-05-11 15:22:08 EDT
Thomas, do you still see such reports?
Comment 7 Eric Williams CLA 2018-06-13 10:32:08 EDT
Closing this ticket now, please re-open if the issue happens in 4.8.