Spring Tool Suite
  1. Spring Tool Suite
  2. STS-2648

Exceptions while editing groovy files in a Grails project

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Complete
    • Affects Version/s: 2.9.1.RELEASE
    • Fix Version/s: 3.2.0.M1
    • Component/s: GRAILS
    • Labels:
      None

      Description

      I'm using "SpringSource Tool Suite Grails Support 2.9.1.201203221000-RELEASE com.springsource.sts.grails.feature.group SpringSource" to work on a grails project and after a few hours of work I get the modal "error dialogs" when I edit a groovy or gsp file. It seems to happen mostly when I have selected some text and start to type.
      The problems can disappear for a while and come back again later.

      – Error Details –

      Date: Wed May 23 10:52:32 CEST 2012
      Message: Unhandled event loop exception
      Severity: Error
      Product: SpringSource Tool Suite 2.9.1.201203221000-RELEASE (com.springsource.sts.ide)
      Plugin: org.eclipse.ui
      Session Data:
      eclipse.buildId=2.9.1.201203221000-RELEASE
      java.version=1.6.0_31
      java.vendor=Sun Microsystems Inc.
      BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=sv_SE
      Framework arguments:  -product com.springsource.sts.ide
      Command-line arguments:  -os win32 -ws win32 -arch x86 -product com.springsource.sts.ide
      
      Exception Stack Trace:
      java.lang.UnsatisfiedLinkError: Native Library C:\Users\ola.mattsson\AppData\Local\Temp\jline_.dll already loaded in another classloader
      	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1772)
      	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703)
      	at java.lang.Runtime.load0(Runtime.java:770)
      	at java.lang.System.load(System.java:1003)
      	at jline.WindowsTerminal.loadLibrary(WindowsTerminal.java:322)
      	at jline.WindowsTerminal.initializeTerminal(WindowsTerminal.java:240)
      	at jline.Terminal.setupTerminal(Terminal.java:75)
      	at jline.Terminal.getTerminal(Terminal.java:26)
      	at jline.ConsoleReader.<init>(ConsoleReader.java:174)
      	at jline.ConsoleReader.<init>(ConsoleReader.java:169)
      	at grails.build.logging.GrailsConsole.createConsoleReader(GrailsConsole.java:162)
      	at grails.build.logging.GrailsConsole.<init>(GrailsConsole.java:128)
      	at grails.build.logging.GrailsConsole.createInstance(GrailsConsole.java:250)
      	at grails.build.logging.GrailsConsole.getInstance(GrailsConsole.java:227)
      	at org.codehaus.groovy.grails.cli.logging.GrailsConsoleErrorPrintStream.println(GrailsConsoleErrorPrintStream.java:59)
      	at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyErrorCollectorForJDT.addErrorAndContinue(GroovyErrorCollectorForJDT.java:34)
      	at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:107)
      	at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:126)
      	at org.codehaus.groovy.control.ErrorCollector.addError(ErrorCollector.java:135)
      	at org.codehaus.groovy.control.SourceUnit.addError(SourceUnit.java:392)
      	at org.codehaus.groovy.antlr.ErrorRecoveredCSTParserPlugin.reportCST(ErrorRecoveredCSTParserPlugin.java:156)
      	at org.codehaus.groovy.antlr.ErrorRecoveredCSTParserPlugin.transformCSTIntoAST(ErrorRecoveredCSTParserPlugin.java:128)
      	at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:115)
      	at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:264)
      	at org.codehaus.groovy.control.CompilationUnit$8.call(CompilationUnit.java:170)
      	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:924)
      	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:596)
      	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:572)
      	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:549)
      	at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyCompilationUnitDeclaration.processToPhase(GroovyCompilationUnitDeclaration.java:171)
      	at org.codehaus.jdt.groovy.internal.compiler.ast.GroovyParser.dietParse(GroovyParser.java:455)
      	at org.codehaus.jdt.groovy.integration.internal.MultiplexingSourceElementRequestorParser.parseCompilationUnit(MultiplexingSourceElementRequestorParser.java:73)
      	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process_aroundBody0(CompilationUnitProblemFinder.java:210)
      	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process_aroundBody1$advice(CompilationUnitProblemFinder.java:244)
      	at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:1)
      	at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.buildStructure(GroovyCompilationUnit.java:338)
      	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
      	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)
      	at org.eclipse.jdt.internal.core.CompilationUnit.makeConsistent(CompilationUnit.java:1096)
      	at org.codehaus.jdt.groovy.model.GroovyReconcileWorkingCopyOperation.makeConsistent(GroovyReconcileWorkingCopyOperation.java:60)
      	at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89)
      	at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
      	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
      	at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.reconcile(GroovyCompilationUnit.java:423)
      	at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1215)
      	at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.getModuleInfo(GroovyCompilationUnit.java:125)
      	at org.codehaus.jdt.groovy.model.GroovyCompilationUnit.getModuleNode(GroovyCompilationUnit.java:102)
      	at org.codehaus.groovy.eclipse.editor.outline.OCompilationUnit.getNode(OCompilationUnit.java:81)
      	at org.codehaus.groovy.eclipse.editor.outline.GroovyScriptOCompilationUnit.refreshChildren(GroovyScriptOutlineExtender.java:80)
      	at org.codehaus.groovy.eclipse.editor.outline.OCompilationUnit.refresh(OCompilationUnit.java:89)
      	at org.codehaus.groovy.eclipse.editor.outline.GroovyOutlinePage.refresh(GroovyOutlinePage.java:50)
      	at org.codehaus.groovy.eclipse.editor.GroovyEditor.synchronizeOutlinePage(GroovyEditor.java:1408)
      	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.synchronizeOutlinePage(JavaEditor.java:2148)
      	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.selectionChanged(JavaEditor.java:2269)
      	at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor$EditorSelectionChangedListener.selectionChanged(JavaEditor.java:300)
      	at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2749)
      	at org.eclipse.jface.text.TextViewer.firePostSelectionChanged(TextViewer.java:2697)
      	at org.eclipse.jface.text.TextViewer$5.run(TextViewer.java:2676)
      	at org.eclipse.swt.widgets.Display.runTimer(Display.java:4266)
      	at org.eclipse.swt.widgets.Display.messageProc(Display.java:3353)
      	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
      	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531)
      	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
      	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: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:622)
      	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
      	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
      	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
      
      1. .bak_0.log
        1007 kB
        Vishwajeet Pandey
      2. .log
        357 kB
        Vishwajeet Pandey
      3. configuration.txt
        697 kB
        Vishwajeet Pandey

        Activity

        Hide
        Vishwajeet Pandey added a comment -

        I'm using Grails 2.1.0. Attached the configuration file as you said. Looks to me we're getting close to having this fixed.

        Show
        Vishwajeet Pandey added a comment - I'm using Grails 2.1.0. Attached the configuration file as you said. Looks to me we're getting close to having this fixed.
        Hide
        Andrew Eisenberg (c) added a comment -

        Based on line numbers, it looks like you are running Grails 2.1.0. Also, it looks like the grails.console.enable.interactive system property is not being set. There is no way that execution can hit the location that you are getting the stack trace from unless the sysprop is disabled.

        How are you setting your system properties?

        Show
        Andrew Eisenberg (c) added a comment - Based on line numbers, it looks like you are running Grails 2.1.0. Also, it looks like the grails.console.enable.interactive system property is not being set. There is no way that execution can hit the location that you are getting the stack trace from unless the sysprop is disabled. How are you setting your system properties?
        Hide
        Andrew Eisenberg (c) added a comment -

        Our messages were crossed.

        Looks like you are setting grails.console.enable.interactive as a property on your grails launch. This isn't right. You need to set it for the actual launch of GGTS. Edit the GGTS.ini file and add the system properties at the end of the file.

        Show
        Andrew Eisenberg (c) added a comment - Our messages were crossed. Looks like you are setting grails.console.enable.interactive as a property on your grails launch. This isn't right. You need to set it for the actual launch of GGTS. Edit the GGTS.ini file and add the system properties at the end of the file.
        Hide
        Vishwajeet Pandey added a comment -

        Ok done. Moved them from the grails launch to STS.ini (in GGTS as well the filename in my version is STS.ini) file. Thanks!

        Show
        Vishwajeet Pandey added a comment - Ok done. Moved them from the grails launch to STS.ini (in GGTS as well the filename in my version is STS.ini) file. Thanks!
        Hide
        Andrew Eisenberg (c) added a comment -

        Resolving now. The latest snapshot will augment your jvm arguments in your GGTS.ini upon installing.

        Use this update site to install:
        http://dist.springsource.com/snapshot/TOOLS/grails-ide/nightly/e4.2/

        Show
        Andrew Eisenberg (c) added a comment - Resolving now. The latest snapshot will augment your jvm arguments in your GGTS.ini upon installing. Use this update site to install: http://dist.springsource.com/snapshot/TOOLS/grails-ide/nightly/e4.2/

          People

          • Assignee:
            Andrew Eisenberg (c)
            Reporter:
            Ola Mattsson
          • Votes:
            6 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              First Response Date: