GRECLIPSE
  1. GRECLIPSE
  2. GRECLIPSE-1433

Intermittent editor error when editing a complex groovy file.

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Critical Critical
    • Resolution: Duplicate
    • Affects Version/s: 2.6.1.Release
    • Fix Version/s: 2.8.0.Release
    • Component/s: Editor
    • Labels:
      None
    • Number of attachments :
      1

      Description

      When editing a particular groovy file (editing, saving, selecting text), I get the following exceptions in the error log. The eclipse editor turns white, states "Error" and prevents saving the file.

      Here are the exceptions it reports:

      Error in inferencing engine for File.groovy

      eclipse.buildId=M20120208-0800
      java.version=1.7.0_03
      java.vendor=Oracle Corporation
      BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_CA
      Framework arguments: -product org.eclipse.epp.package.jee.product
      Command-line arguments: -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product -clean

      java.lang.ArrayIndexOutOfBoundsException: 27124
      at org.codehaus.groovy.eclipse.editor.highlighting.SemanticHighlightingReferenceRequestor.isRealASTNode(SemanticHighlightingReferenceRequestor.java:129)
      at org.codehaus.groovy.eclipse.editor.highlighting.SemanticHighlightingReferenceRequestor.acceptASTNode(SemanticHighlightingReferenceRequestor.java:73)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.handleRequestor(TypeInferencingVisitorWithRequestor.java:1952)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.handleSimpleExpression(TypeInferencingVisitorWithRequestor.java:1834)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitConstantExpression(TypeInferencingVisitorWithRequestor.java:1355)
      at org.codehaus.groovy.ast.expr.ConstantExpression.visit(ConstantExpression.java:75)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitMethodCallExpression(TypeInferencingVisitorWithRequestor.java:1518)
      at org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:75)
      at org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:69)
      at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:209)
      at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40)
      at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:35)
      at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:179)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitBlockStatement(TypeInferencingVisitorWithRequestor.java:1286)
      at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69)
      at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:102)
      at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:113)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitConstructorOrMethod(TypeInferencingVisitorWithRequestor.java:785)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitJDT(TypeInferencingVisitorWithRequestor.java:524)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitJDT(TypeInferencingVisitorWithRequestor.java:370)
      at org.eclipse.jdt.groovy.search.TypeInferencingVisitorWithRequestor.visitCompilationUnit(TypeInferencingVisitorWithRequestor.java:318)
      at org.codehaus.groovy.eclipse.editor.highlighting.GatherSemanticReferences.findSemanticHighlightingReferences(GatherSemanticReferences.java:52)
      at org.codehaus.groovy.eclipse.editor.highlighting.GroovySemanticReconciler.reconciled(GroovySemanticReconciler.java:149)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.reconciled(CompilationUnitEditor.java:1664)
      at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconciled(JavaReconcilingStrategy.java:212)
      at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconciled(JavaCompositeReconcilingStrategy.java:164)
      at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.reconcile(JavaCompositeReconcilingStrategy.java:112)
      at org.eclipse.jface.text.reconciler.MonoReconciler.process(MonoReconciler.java:77)
      at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:206)

      And the following:

      eclipse.buildId=M20120208-0800
      java.version=1.7.0_03
      java.vendor=Oracle Corporation
      BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_CA
      Framework arguments: -product org.eclipse.epp.package.jee.product
      Command-line arguments: -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.jee.product -clean

      Unhandled event loop exception

      org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.core.runtime.AssertionFailedException: assertion failed: )
      at org.eclipse.swt.SWT.error(SWT.java:4282)
      at org.eclipse.swt.SWT.error(SWT.java:4197)
      at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
      at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
      at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
      at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
      at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
      at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
      at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
      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:344)
      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:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
      Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed:
      at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
      at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96)
      at org.eclipse.jface.text.source.AnnotationModel.getRegionAnnotationIterator(AnnotationModel.java:742)
      at org.eclipse.jface.text.source.AnnotationModel.getAnnotationIterator(AnnotationModel.java:700)
      at org.eclipse.jface.text.source.AnnotationRulerColumn.doPaint1(AnnotationRulerColumn.java:727)
      at org.eclipse.jface.text.source.AnnotationRulerColumn.doubleBufferPaint(AnnotationRulerColumn.java:541)
      at org.eclipse.jface.text.source.AnnotationRulerColumn.redraw(AnnotationRulerColumn.java:824)
      at org.eclipse.jface.text.source.AnnotationRulerColumn$6.run(AnnotationRulerColumn.java:807)
      at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
      at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
      ... 22 more

      For reasons of confidentiality I cannot post the source here.

        Issue Links

          Activity

          Hide
          Rick Mangi added a comment -

          Updating groovy-eclipse eliminated this error for me. Hope that helps.

          Show
          Rick Mangi added a comment - Updating groovy-eclipse eliminated this error for me. Hope that helps.
          Hide
          Aled Sage added a comment -

          @Rick which version did you upgrade to - is it to snapshot? I'm getting the error with greclipse 2.7.1.

          Show
          Aled Sage added a comment - @Rick which version did you upgrade to - is it to snapshot? I'm getting the error with greclipse 2.7.1.
          Hide
          Rick Mangi added a comment -

          I did upgrade to the snapshot but now I'm at the latest 2.7.2 release and no problems. (using GGTS) Upgrading fixed this problem for me on 2 different machines too.

          Show
          Rick Mangi added a comment - I did upgrade to the snapshot but now I'm at the latest 2.7.2 release and no problems. (using GGTS) Upgrading fixed this problem for me on 2 different machines too.
          Hide
          Andrew Eisenberg added a comment -

          @Aled,

          andrew@eisenberg.as

          @Rick,

          Would be great if this fixes your problem, but it looks like others are having this problem with the latest snapshot. Worth a try, though.

          Show
          Andrew Eisenberg added a comment - @Aled, andrew@eisenberg.as @Rick, Would be great if this fixes your problem, but it looks like others are having this problem with the latest snapshot. Worth a try, though.
          Hide
          Andrew Eisenberg added a comment -

          Closing this as a duplicate of GRECLIPSE-1519. Please comment if you are still getting this problem.

          Show
          Andrew Eisenberg added a comment - Closing this as a duplicate of GRECLIPSE-1519 . Please comment if you are still getting this problem.

            People

            • Assignee:
              Andrew Eisenberg
              Reporter:
              Bob Tiernay
            • Votes:
              5 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: