在Eclipse 4.2.2(64位Linux)上,当在扩展的org.eclipse.jface.dialogs.TitleAreaDialog上执行okPressed时... Eclipse崩溃!
在CLEAN模式下运行Eclipse并尝试新工作区也无法防止崩溃。
总结以下详细信息:
最糟糕的情况是,我可以迁移到版本4.4.2 Eclipse但是......这需要一点时间,我无法确定使用Eclipse 4.4.2的客户服务器上是否存在相同或类似的问题。在DEBUG模式下运行Eclipse并未突出显示任何其他信息。
public class TopicDialog extends TitleAreaDialog {
//.....
@Override
protected void okPressed() {
super.okPressed();
}
}
对话框由代码显示:
final TopicDialog d = new TopicDialog(getShell());
// Launch dialog
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
d.open();
}
});
GTK堆栈跟踪在崩溃时被记录 - 见下文。我已经要求客户强制Eclipse使用GTK +2(而不是默认的GTK +3)并忽略cairoGraphics。所以eclipse.ini包含2个GTK特定设置:
--launcher.GTK_version
2
-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
堆栈跟踪:
3XMTHREADINFO "main" J9VMThread:0x0000000040E2F100, j9thread_t:0x00007F04B802DB20, java/lang/Thread:0x0000000000F25540, state:R, prio=6
3XMJAVALTHREAD (java/lang/Thread getId:0x1, isDaemon:false)
3XMTHREADINFO1 (native thread ID:0x516B, native priority:0x6, native policy:UNKNOWN)
3XMTHREADINFO2 (native stack address range from:0x00007F04BF04E000, to:0x00007F04BFA4F000, size:0xA01000)
3XMHEAPALLOC Heap bytes allocated since last GC cycle=685960 (0xA7788)
3XMTHREADINFO3 Java callstack:
4XESTACKTRACE at org/eclipse/swt/internal/gtk/OS._gdk_window_at_pointer(Native Method)
4XESTACKTRACE at org/eclipse/swt/internal/gtk/OS.gdk_window_at_pointer(OS.java:5271)
4XESTACKTRACE at org/eclipse/swt/widgets/Display.getCursorControl(Display.java:1413)
4XESTACKTRACE at org/eclipse/swt/widgets/Control.gtk_leave_notify_event(Control.java:3066)
4XESTACKTRACE at org/eclipse/swt/widgets/Widget.windowProc(Widget.java:1776(Compiled Code))
4XESTACKTRACE at org/eclipse/swt/widgets/Control.windowProc(Control.java:5116(Compiled Code))
4XESTACKTRACE at org/eclipse/swt/widgets/Display.windowProc(Display.java:4377(Compiled Code))
4XESTACKTRACE at org/eclipse/swt/internal/gtk/OS._gtk_widget_hide(Native Method)
4XESTACKTRACE at org/eclipse/swt/internal/gtk/OS.gtk_widget_hide(OS.java:13119)
4XESTACKTRACE at org/eclipse/swt/widgets/Shell.dispose(Shell.java:2306)
4XESTACKTRACE at org/eclipse/jface/window/Window.close(Window.java:335)
4XESTACKTRACE at org/eclipse/jface/dialogs/Dialog.close(Dialog.java:979)
4XESTACKTRACE at org/eclipse/jface/dialogs/Dialog.okPressed(Dialog.java:940)
4XESTACKTRACE at com/ibm/tivoli/pa/model/ui/dialogs/TopicDialog.okPressed(TopicDialog.java:135)
4XESTACKTRACE at org/eclipse/jface/dialogs/Dialog.buttonPressed(Dialog.java:472)
4XESTACKTRACE at org/eclipse/jface/dialogs/Dialog$2.widgetSelected(Dialog.java:624)
4XESTACKTRACE at org/eclipse/swt/widgets/TypedListener.handleEvent(TypedListener.java:248)
4XESTACKTRACE at org/eclipse/swt/widgets/EventTable.sendEvent(EventTable.java:84(Compiled Code))
4XESTACKTRACE at org/eclipse/swt/widgets/Widget.sendEvent(Widget.java:1276)
4XESTACKTRACE at org/eclipse/swt/widgets/Display.runDeferredEvents(Display.java:3562(Compiled Code))
4XESTACKTRACE at org/eclipse/swt/widgets/Display.readAndDispatch(Display.java:3186(Compiled Code))
4XESTACKTRACE at org/eclipse/jface/window/Window.runEventLoop(Window.java:825)
4XESTACKTRACE at org/eclipse/jface/window/Window.open(Window.java:801)