problems with scion command

Help
2010-06-21
2012-12-06
  • Han Joosten
    Han Joosten
    2010-06-21

    In one of the files in my project I had non-standard ascii characters in some of the comments.
    So after modifying that file, scion tries to typecheck it.
    In the console I found the following:
    ==> {"id":7,"method":"background-typecheck-arbitrary","params":{"contents":
    This was directly followed by the contents of the modified file. However, at the place where the non-standard ascii character would have been, the rest of the contents was missing. Instead, the following message occured:
    caught :<stderr>: hPutChar: invalid argument (character is not in the code page)

    waiting for next client

    However, the client (the eclipse workbench) was still waiting for a response from the scion server, I suppose.
    This explains why no more commands seem to do anything any more. I have to restart eclipse to get it to do anything again.
    It took me a while to figure out that this was going on. I stripped my source file from these non standard characters. So I hope this is a workaround. However, it would be nice if this kind of event would be handled in a better way.

    So the contents of the file is used in the method '
    caught :<stderr>: hPutChar: invalid argument (character is not in the code page)

     
  • JP Moresmau
    JP Moresmau
    2010-06-22

    Mmhhh, I had the issue with french characters and that was solved in 1.111 by using UTF-8 on the socket. What character were you trying to use, to I can check here?

     
  • Han Joosten
    Han Joosten
    2010-06-22

    The piece of source code that caused the problem was:

    latexEsc :: [Char] -> [Char]
    latexEsc x
     = f x
       where f "" = ""
             f ('_':str) = "\\_"++f str
             f ('\192':str) = "\\`A" ++f str   -- À
             f ('\193':str) = "\\'A" ++f str   -- Á
             f ('\196':str) = "\\\"A"++f str   -- Ä
             f ('\200':str) = "\\`E" ++f str   -- È
             f ('\201':str) = "\\'E" ++f str   -- É
             f ('\203':str) = "\\\"E"++f str   -- Ë
             f ('\204':str) = "\\`I" ++f str   -- Ì
             f ('\205':str) = "\\'I" ++f str   -- Í
             f ('\207':str) = "\\\"I"++f str   -- Ï
             f ('\210':str) = "\\`O" ++f str   -- Ò
             f ('\211':str) = "\\'O" ++f str   -- Ó
             f ('\214':str) = "\\\"O"++f str   -- Ö
             f ('\217':str) = "\\`U" ++f str   -- Ù
             f ('\218':str) = "\\'U" ++f str   -- Ú
             f ('\220':str) = "\\\"U"++f str   -- Ü
             f ('\224':str) = "\\`a" ++f str   -- à
             f ('\225':str) = "\\'a" ++f str   -- á
             f ('\228':str) = "\\\"a"++f str   -- ä
             f ('\232':str) = "\\`e" ++f str   -- è
             f ('\233':str) = "\\'e" ++f str   -- é
             f ('\235':str) = "\\\"e"++f str   -- ë
             f ('\236':str) = "\\`i" ++f str   -- ì
             f ('\237':str) = "\\'i" ++f str   -- í
             f ('\239':str) = "\\\"i"++f str   -- ï
             f ('\242':str) = "\\`o" ++f str   -- ò
             f ('\243':str) = "\\'o" ++f str   -- ó
             f ('\246':str) = "\\\"o"++f str   -- ö
             f ('\249':str) = "\\`u" ++f str   -- ù
             f ('\250':str) = "\\'u" ++f str   -- ú
             f ('\252':str) = "\\\"u"++f str   -- ü
             f (c:str)   = c: f str
    

    So, as you can see, the characters are in the comment part. The codepage for the file is the default, cp1252

     
  • JP Moresmau
    JP Moresmau
    2010-06-24

    This works well for me in 1.111… There was a bug before because we weren't passing the data to scion in UTF-8, but I had changed it.

     
  • Han Joosten
    Han Joosten
    2010-06-25

    I have been messing around in the past with wrong sources, but this time I was pretty sure that I had the ' official'  software. However, I also have this bug.
    So I installed a brand new virtual machine. windows xp on it. I got myself eclipse classic, haskell-platform and java runtime. Then I downloaded eclipsfp 1.111. I got the version of my own project with the code as posted earlier in this thread.
    At first, this will build allright. However, when I open the module that contains the french characters, I am in trouble again. It doesnt work. the scion server crashes, and is restarted. I get the messages telling the ID-s are out of sync again.
    There is also an error about some JsonArray:

    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-26 00:36:32.481
    !MESSAGE org.json.JSONArray cannot be cast to org.json.JSONObject
    

    For what it is worth, here is the log:

    !SESSION 2010-06-25 23:17:33.058 -----------------------------------------------
    eclipse.buildId=I20100608-0911
    java.version=1.6.0_20
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=nl_NL
    Command-line arguments:  -os win32 -ws win32 -arch x86
    !ENTRY net.sf.eclipsefp.haskell.core 2 0 2010-06-25 23:21:03.170
    !MESSAGE No valid Haskell implementation found. Possibly none was configured in the Haskell preferences.
    !SESSION 2010-06-25 23:22:25.788 -----------------------------------------------
    eclipse.buildId=I20100608-0911
    java.version=1.6.0_20
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=nl_NL
    Command-line arguments:  -os win32 -ws win32 -arch x86
    !ENTRY net.sf.eclipsefp.haskell.ui 4 0 2010-06-25 23:27:07.654
    !MESSAGE Configure failed for scion server source. Output was: 
    Config file path source is default config file.
    Config file C:\Documents and Settings\Owner\Application Data\cabal\config not
    found.
    Writing default configuration to C:\Documents and Settings\Owner\Application
    Data\cabal\config
    Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal
    update' to download it.
    Resolving dependencies...
    Configuring scion-0.1.0.3...
    cabal.exe: At least the following dependencies are missing:
    binary ==0.5.*,
    ghc-paths ==0.1.*,
    ghc-syb -any,
    ghc-syb-utils -any,
    hslogger ==1.0.*,
    json ==0.4.*,
    list-tries -any,
    multiset >=0.1 && <0.3,
    uniplate -any
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:27:23.747
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:28:43.031
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.core 4 0 2010-06-25 23:28:43.862
    !MESSAGE Could not process resource changes in the Haskell language model.
    Project: ampersand
    !STACK 1
    org.eclipse.core.runtime.CoreException: Scanning error on InfLibAGFuncs.hs
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.raiseCoreException(JavaParserBridge.java:92)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:63)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:49)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:37)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor$ResourceDeltaVisitor.visit(ProjectChangeMonitor.java:111)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.process(ProjectChangeMonitor.java:65)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.resourceChanged(ProjectChangeMonitor.java:49)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor$DeltaVisitor.visit(WorkspaceChangeMonitor.java:44)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor.resourceChanged(WorkspaceChangeMonitor.java:79)
        at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: antlr.TokenStreamException: line 27,124: Invalid qualified token '
    '
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.getQualifiedType(QualifiedIdentifierFilter.java:65)
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.insertTokensAsNeeded(QualifiedIdentifierFilter.java:53)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenStreamBasicFilter.nextToken(TokenStreamBasicFilter.java:40)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.PreprocessedTokenStream.insertTokensAsNeeded(PreprocessedTokenStream.java:27)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellFormatter.insertTokensAsNeeded(HaskellFormatter.java:24)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenBuffer.fill(TokenBuffer.java:69)
        at antlr.TokenBuffer.LA(TokenBuffer.java:80)
        at antlr.LLkParser.LA(LLkParser.java:52)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.funlhs(HaskellParser.java:2776)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.decl(HaskellParser.java:1978)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.stdtopdecl(HaskellParser.java:1522)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecl(HaskellParser.java:1449)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecls(HaskellParser.java:954)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.body(HaskellParser.java:318)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.module(HaskellParser.java:195)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.parseModule(HaskellParser.java:75)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:58)
        ... 22 more
    !SUBENTRY 1 net.sf.eclipsefp.haskell.core.jparser 4 -1 2010-06-25 23:28:43.862
    !MESSAGE Scanning error on InfLibAGFuncs.hs
    !STACK 0
    antlr.TokenStreamException: line 27,124: Invalid qualified token '
    '
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.getQualifiedType(QualifiedIdentifierFilter.java:65)
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.insertTokensAsNeeded(QualifiedIdentifierFilter.java:53)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenStreamBasicFilter.nextToken(TokenStreamBasicFilter.java:40)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.PreprocessedTokenStream.insertTokensAsNeeded(PreprocessedTokenStream.java:27)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellFormatter.insertTokensAsNeeded(HaskellFormatter.java:24)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenBuffer.fill(TokenBuffer.java:69)
        at antlr.TokenBuffer.LA(TokenBuffer.java:80)
        at antlr.LLkParser.LA(LLkParser.java:52)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.funlhs(HaskellParser.java:2776)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.decl(HaskellParser.java:1978)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.stdtopdecl(HaskellParser.java:1522)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecl(HaskellParser.java:1449)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecls(HaskellParser.java:954)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.body(HaskellParser.java:318)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.module(HaskellParser.java:195)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.parseModule(HaskellParser.java:75)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:58)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:49)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:37)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor$ResourceDeltaVisitor.visit(ProjectChangeMonitor.java:111)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.process(ProjectChangeMonitor.java:65)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.resourceChanged(ProjectChangeMonitor.java:49)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor$DeltaVisitor.visit(WorkspaceChangeMonitor.java:44)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor.resourceChanged(WorkspaceChangeMonitor.java:79)
        at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:45)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    !ENTRY net.sf.eclipsefp.haskell.core 4 0 2010-06-25 23:28:44.643
    !MESSAGE Could not process resource changes in the Haskell language model.
    Project: ampersand
    !STACK 1
    org.eclipse.core.runtime.CoreException: Scanning error on InfLibAGFuncs.hs
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.raiseCoreException(JavaParserBridge.java:92)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:63)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:49)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:37)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor$ResourceDeltaVisitor.visit(ProjectChangeMonitor.java:111)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.process(ProjectChangeMonitor.java:65)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.resourceChanged(ProjectChangeMonitor.java:49)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor$DeltaVisitor.visit(WorkspaceChangeMonitor.java:44)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor.resourceChanged(WorkspaceChangeMonitor.java:79)
        at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181)
        at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:157)
        at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: antlr.TokenStreamException: line 27,124: Invalid qualified token '
    '
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.getQualifiedType(QualifiedIdentifierFilter.java:65)
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.insertTokensAsNeeded(QualifiedIdentifierFilter.java:53)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenStreamBasicFilter.nextToken(TokenStreamBasicFilter.java:40)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.PreprocessedTokenStream.insertTokensAsNeeded(PreprocessedTokenStream.java:27)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellFormatter.insertTokensAsNeeded(HaskellFormatter.java:24)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenBuffer.fill(TokenBuffer.java:69)
        at antlr.TokenBuffer.LA(TokenBuffer.java:80)
        at antlr.LLkParser.LA(LLkParser.java:52)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.funlhs(HaskellParser.java:2776)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.decl(HaskellParser.java:1978)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.stdtopdecl(HaskellParser.java:1522)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecl(HaskellParser.java:1449)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecls(HaskellParser.java:954)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.body(HaskellParser.java:318)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.module(HaskellParser.java:195)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.parseModule(HaskellParser.java:75)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:58)
        ... 23 more
    !SUBENTRY 1 net.sf.eclipsefp.haskell.core.jparser 4 -1 2010-06-25 23:28:44.643
    !MESSAGE Scanning error on InfLibAGFuncs.hs
    !STACK 0
    antlr.TokenStreamException: line 27,124: Invalid qualified token '
    '
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.getQualifiedType(QualifiedIdentifierFilter.java:65)
        at net.sf.eclipsefp.haskell.core.jparser.QualifiedIdentifierFilter.insertTokensAsNeeded(QualifiedIdentifierFilter.java:53)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenStreamBasicFilter.nextToken(TokenStreamBasicFilter.java:40)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.PreprocessedTokenStream.insertTokensAsNeeded(PreprocessedTokenStream.java:27)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.lookAhead(LookaheadTokenStream.java:43)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:35)
        at net.sf.eclipsefp.haskell.core.jparser.LookaheadTokenStream.peekToken(LookaheadTokenStream.java:28)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.peekToken(TokenStreamProcessor.java:37)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellFormatter.insertTokensAsNeeded(HaskellFormatter.java:24)
        at net.sf.eclipsefp.haskell.core.jparser.TokenStreamProcessor.nextToken(TokenStreamProcessor.java:20)
        at antlr.TokenBuffer.fill(TokenBuffer.java:69)
        at antlr.TokenBuffer.LA(TokenBuffer.java:80)
        at antlr.LLkParser.LA(LLkParser.java:52)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.funlhs(HaskellParser.java:2776)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.decl(HaskellParser.java:1978)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.stdtopdecl(HaskellParser.java:1522)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecl(HaskellParser.java:1449)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.topdecls(HaskellParser.java:954)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.body(HaskellParser.java:318)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.module(HaskellParser.java:195)
        at net.sf.eclipsefp.haskell.core.jparser.HaskellParser.parseModule(HaskellParser.java:75)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:58)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:49)
        at net.sf.eclipsefp.haskell.core.jparser.JavaParserBridge.parse(JavaParserBridge.java:37)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor$ResourceDeltaVisitor.visit(ProjectChangeMonitor.java:111)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.process(ProjectChangeMonitor.java:65)
        at net.sf.eclipsefp.haskell.core.halamo.ProjectChangeMonitor.resourceChanged(ProjectChangeMonitor.java:49)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor$DeltaVisitor.visit(WorkspaceChangeMonitor.java:44)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:68)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:79)
        at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:48)
        at net.sf.eclipsefp.haskell.core.halamo.WorkspaceChangeMonitor.resourceChanged(WorkspaceChangeMonitor.java:79)
        at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:291)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
        at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
        at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:327)
        at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1181)
        at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:157)
        at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:28:44.984
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:28:45.975
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:17.955
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:18.956
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:20.459
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:24.164
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:25.165
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:26.167
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:36:27.969
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:16.049
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:17.451
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:18.752
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:20.154
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:23.359
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:25.662
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:26.664
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:29.868
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:37:32.572
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:38:14.643
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:38:15.644
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-25 23:38:28.363
    !MESSAGE The Scion server could not be started.
    !STACK 0
    The Scion server could not be started.
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:163)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServer(ScionServer.java:85)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.start(ScionInstance.java:94)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:207)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(Unknown Source)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.startServerProcess(ScionServer.java:161)
        ... 5 more
    !SESSION 2010-06-26 00:08:06.218 -----------------------------------------------
    eclipse.buildId=I20100608-0911
    java.version=1.6.0_20
    java.vendor=Sun Microsystems Inc.
    BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=nl_NL
    Command-line arguments:  -os win32 -ws win32 -arch x86
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:20:09.328
    !MESSAGE The Scion server died unexpectedly and was restarted.
    !STACK 0
    The response of the Scion server to the command could not be parsed.
    The last output of the Scion server was:
    ==> {"id":18,"method":"load","params":{"component":{"executable":"ADL","cabal-file":"C:\\Documents and Settings\\Owner\\workspace\\ampersand\\ampersand.cabal"},"output":true}}
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.receiveResponse(ScionCommand.java:205)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:412)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:401)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:203)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance$1.run(ScionInstance.java:171)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:149)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: org.json.JSONException: Read timed out
        at org.json.JSONTokener.next(JSONTokener.java:137)
        at org.json.JSONTokener.nextClean(JSONTokener.java:216)
        at org.json.JSONObject.<init>(JSONObject.java:180)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.receiveResponse(ScionCommand.java:201)
        ... 12 more
    Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
        at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
        at sun.nio.cs.StreamDecoder.read(Unknown Source)
        at java.io.InputStreamReader.read(Unknown Source)
        at java.io.BufferedReader.fill(Unknown Source)
        at java.io.BufferedReader.read(Unknown Source)
        at org.json.JSONTokener.next(JSONTokener.java:135)
        ... 15 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-26 00:20:11.471
    !MESSAGE The response of the Scion server to the command could not be parsed.
    !STACK 0
    The response of the Scion server to the command could not be parsed.
    The last output of the Scion server was:
    ==> {"id":18,"method":"load","params":{"component":{"executable":"ADL","cabal-file":"C:\\Documents and Settings\\Owner\\workspace\\ampersand\\ampersand.cabal"},"output":true}}
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.receiveResponse(ScionCommand.java:205)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:412)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:418)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:401)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:203)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance$1.run(ScionInstance.java:171)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:149)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: org.json.JSONException: Read timed out
        at org.json.JSONTokener.next(JSONTokener.java:137)
        at org.json.JSONTokener.nextClean(JSONTokener.java:216)
        at org.json.JSONObject.<init>(JSONObject.java:180)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.receiveResponse(ScionCommand.java:201)
        ... 12 more
    Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
        at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
        at sun.nio.cs.StreamDecoder.read(Unknown Source)
        at java.io.InputStreamReader.read(Unknown Source)
        at java.io.BufferedReader.fill(Unknown Source)
        at java.io.BufferedReader.read(Unknown Source)
        at org.json.JSONTokener.next(JSONTokener.java:135)
        ... 15 more
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:29:05.438
    !MESSAGE The Scion server's response has ID 41, but we expected ID 42.
    The command was:
    {
      "id": 42,
      "method": "background-typecheck-file",
      "params": {"file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs"}
    }
    The response was:
    {
      "id": 41,
      "result": {
        "duration": 15.732622,
        "notes": [],
        "succeeded": true
      },
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:29:50.503
    !MESSAGE The Scion server's response has ID 41, but we expected ID 43.
    The command was:
    {
      "id": 43,
      "method": "thing-at-point",
      "params": {
        "column": 17,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 3
      }
    }
    The response was:
    {
      "id": 41,
      "result": {
        "duration": 2.4234848,
        "notes": [],
        "succeeded": true
      },
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:29:51.625
    !MESSAGE The Scion server's response has ID 42, but we expected ID 44.
    The command was:
    {
      "id": 44,
      "method": "thing-at-point",
      "params": {
        "column": 12,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 10
      }
    }
    The response was:
    {
      "id": 42,
      "result": {"Right": {
        "duration": 24.935856,
        "notes": [],
        "succeeded": true
      }},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:29:58.345
    !MESSAGE The Scion server's response has ID 43, but we expected ID 45.
    The command was:
    {
      "id": 45,
      "method": "thing-at-point",
      "params": {
        "column": 18,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 10
      }
    }
    The response was:
    {
      "id": 43,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:30:04.864
    !MESSAGE The Scion server's response has ID 44, but we expected ID 46.
    The command was:
    {
      "id": 46,
      "method": "thing-at-point",
      "params": {
        "column": 36,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 2
      }
    }
    The response was:
    {
      "id": 44,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:30:07.277
    !MESSAGE The Scion server's response has ID 45, but we expected ID 47.
    The command was:
    {
      "id": 47,
      "method": "thing-at-point",
      "params": {
        "column": 24,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 14
      }
    }
    The response was:
    {
      "id": 45,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:30:52.803
    !MESSAGE The Scion server's response has ID 46, but we expected ID 48.
    The command was:
    {
      "id": 48,
      "method": "thing-at-point",
      "params": {
        "column": 26,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 15
      }
    }
    The response was:
    {
      "id": 46,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:31:52.729
    !MESSAGE The Scion server's response has ID 47, but we expected ID 49.
    The command was:
    {
      "id": 49,
      "method": "thing-at-point",
      "params": {
        "column": 3,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 14
      }
    }
    The response was:
    {
      "id": 47,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:32:11.566
    !MESSAGE The Scion server's response has ID 48, but we expected ID 50.
    The command was:
    {
      "id": 50,
      "method": "thing-at-point",
      "params": {
        "column": 19,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Rendering\\PandocAux.hs",
        "line": 10
      }
    }
    The response was:
    {
      "id": 48,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:32:18.526
    !MESSAGE The Scion server's response has ID 49, but we expected ID 51.
    The command was:
    {
      "id": 51,
      "method": "list-cabal-components",
      "params": {"cabal-file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\ampersand.cabal"}
    }
    The response was:
    {
      "id": 49,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:36:32.081
    !MESSAGE The Scion server's response has ID 50, but we expected ID 52.
    The command was:
    {
      "id": 52,
      "method": "thing-at-point",
      "params": {
        "column": 6,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Main.hs",
        "line": 2
      }
    }
    The response was:
    {
      "id": 50,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:36:32.421
    !MESSAGE The Scion server's response has ID 51, but we expected ID 53.
    The command was:
    {
      "id": 53,
      "method": "thing-at-point",
      "params": {
        "column": 7,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Main.hs",
        "line": 4
      }
    }
    The response was:
    {
      "id": 51,
      "result": [{
        "cabal-file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\ampersand.cabal",
        "executable": "ADL"
      }],
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 4 4 2010-06-26 00:36:32.481
    !MESSAGE org.json.JSONArray cannot be cast to org.json.JSONObject
    !STACK 0
    java.lang.ClassCastException: org.json.JSONArray cannot be cast to org.json.JSONObject
        at net.sf.eclipsefp.haskell.scion.internal.commands.ThingAtPointCommand.doProcessResult(ThingAtPointCommand.java:47)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.processResponseResult(ScionCommand.java:285)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.processResponse(ScionCommand.java:275)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.receiveResponse(ScionCommand.java:209)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:412)
        at net.sf.eclipsefp.haskell.scion.internal.client.ScionServer.runCommandSync(ScionServer.java:401)
        at net.sf.eclipsefp.haskell.scion.client.ScionInstance.runCommandSync(ScionInstance.java:203)
        at net.sf.eclipsefp.haskell.scion.internal.commands.ScionCommand.run(ScionCommand.java:138)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:36:40.092
    !MESSAGE The Scion server's response has ID 52, but we expected ID 54.
    The command was:
    {
      "id": 54,
      "method": "thing-at-point",
      "params": {
        "column": 12,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Main.hs",
        "line": 2
      }
    }
    The response was:
    {
      "id": 52,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    !ENTRY net.sf.eclipsefp.haskell.scion.client 2 2 2010-06-26 00:36:42.245
    !MESSAGE The Scion server's response has ID 53, but we expected ID 55.
    The command was:
    {
      "id": 55,
      "method": "thing-at-point",
      "params": {
        "column": 12,
        "file": "C:\\Documents and Settings\\Owner\\workspace\\ampersand\\src\\Main.hs",
        "line": 7
      }
    }
    The response was:
    {
      "id": 53,
      "result": {"Just": "no info"},
      "version": "0.1"
    }
    
     
  • Scott Michel
    Scott Michel
    2010-07-15

    It looks like you have a number of 'cabal install' installations to satisfy scion-server's dependencies:
    binary ==0.5.*, ghc-paths ==0.1.*, ghc-syb -any, ghc-syb-utils -any, hslogger ==1.0.*, json ==0.4.*, list-tries -any, multiset >=0.1 && <0.3, uniplate -any

    You'll need to do something like the following from a cmd window, assuming %PATH% is set to include the Haskell platform's binary directory:

    cabal install binary
    cabal install uniplate
    cabal install json
    (etc)

     
  • JP Moresmau
    JP Moresmau
    2010-08-02

    Pingbak, this is true. In the current version in development we use cabal install and the dependencies are downloaded and installed for you by cabal, so you don't need to do it manually.