Community
Participate
Working Groups
Trying to view a Java file containing Unicode character \u200b causes an ArrayIndexOutOfBoundsException in SWT, and causes the editor to become unresponsive, unable to draw correctly, and other UI-related problems. This is also discussed in Bug 314620 but that bug says it's for a slightly different problem, and I don't see a bug for this problem. This repros in 3.6.1 and 3.6.2. I have not tried it in 3.7. Stack trace: java.lang.ArrayIndexOutOfBoundsException: 1 at org.eclipse.swt.graphics.TextLayout.computeRuns(TextLayout.java:169) at org.eclipse.swt.graphics.TextLayout.getLineCount(TextLayout.java:1157) at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:980) at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(StyledTextRenderer.java:719) at org.eclipse.swt.custom.StyledTextRenderer.drawLine(StyledTextRenderer.java:364) at org.eclipse.swt.custom.StyledText.handlePaint(StyledText.java:6097) at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5661) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267) at org.eclipse.swt.widgets.Control.gtk_expose_event(Control.java:2783) at org.eclipse.swt.widgets.Composite.gtk_expose_event(Composite.java:701) at org.eclipse.swt.widgets.Canvas.gtk_expose_event(Canvas.java:167) at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1739) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4796) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4360) at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method) at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:8189) at org.eclipse.swt.widgets.Display.eventProc(Display.java:1238) at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method) at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2237) at org.eclipse.swt.widgets.Shell.setVisible(Shell.java:1997) at org.eclipse.swt.widgets.Shell.open(Shell.java:1410) at org.eclipse.jface.window.Window.open(Window.java:797) at org.eclipse.ui.internal.statushandlers.InternalDialog.open(InternalDialog.java:327) at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerImpl.doAddStatusAdapter(WorkbenchStatusDialogManagerImpl.java:270) at org.eclipse.ui.internal.statushandlers.WorkbenchStatusDialogManagerImpl.addStatusAdapter(WorkbenchStatusDialogManagerImpl.java:197) at org.eclipse.ui.statushandlers.WorkbenchStatusDialogManager.addStatusAdapter(WorkbenchStatusDialogManager.java:156) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.showStatusAdapter(WorkbenchErrorHandler.java:101) at org.eclipse.ui.statushandlers.WorkbenchErrorHandler.handle(WorkbenchErrorHandler.java:57) at org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler.handle(IDEWorkbenchErrorHandler.java:108) at org.eclipse.ui.internal.WorkbenchErrorHandlerProxy.handle(WorkbenchErrorHandlerProxy.java:36) at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:189) at org.eclipse.ui.internal.JFaceUtil$3.show(JFaceUtil.java:70) at org.eclipse.jface.util.SafeRunnable.handleException(SafeRunnable.java:67) at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:75) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:865) at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1205) at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1230) at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:251) at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:245) at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:419) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) at org.eclipse.equinox.launcher.Main.run(Main.java:1408) at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
Please try eclipse 3.7, I believe this problem has been fixed. Thank you
(In reply to comment #1) > Please try eclipse 3.7, I believe this problem has been fixed. Thank you Sorry, I read my email in the reverse order (I just read note in the original bug). I don't think this bug was fixed. Read the comments in the bug I reported against pango for details.
*** Bug 359449 has been marked as a duplicate of this bug. ***
How does this differ from 331453 (which is resolved)? The stacks look the same...
The stacks do look the same. According to bug 331453 this has been fixed in 3.7. I have not had a chance to try (my company is still in the process of switching to 3.7). I would be okay with this being resolved as a dup; I can always reopen if it turns out not to be fixed.
(In reply to Walter Harley from comment #5) > The stacks do look the same. According to bug 331453 this has been fixed in > 3.7. I have not had a chance to try (my company is still in the process of > switching to 3.7). I would be okay with this being resolved as a dup; I can > always reopen if it turns out not to be fixed. Based on this, marking as duplicate. *** This bug has been marked as a duplicate of bug 331453 ***