cwtools / cwtools-vscode

A VS Code extension providing language server support for paradox script files using cwtools
Other
91 stars 12 forks source link

Random Crash on Hover #3

Open Unordinal opened 6 years ago

Unordinal commented 6 years ago

I'll update with more details as I figure out a pattern :P

I had a workspace open with my mod folder and the default Stellaris folder, if that matters at all.

This specific one was caused by hovering over 'id' in a fleet_event in horizonsignal_events.txt akx.9000, though I don't think it matters since hovering over anything right now causes an instantaneous exception.

Hover

Unhandled Exception: System.Exception: Request message with id 527131920 missing params
   at LSP.Parser.parseMessage(String jsonText)
   at LSP.LanguageServer.parse@114-1.Invoke(String jsonText)
   at Microsoft.FSharp.Collections.Internal.IEnumerator.map@74.DoMoveNext(b& curr)
   at Microsoft.FSharp.Collections.Internal.IEnumerator.MapEnumerator`1.System-Collections-IEnumerator-MoveNext()
   at Microsoft.FSharp.Collections.SeqModule.TakeWhile@1309.GenerateNext(IEnumerable`1& next)
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
   at LSP.LanguageServer.connect@227.Invoke()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
[Info  - 2:07:03 AM] Connection to server got closed. Server will restart.
[Error - 2:07:03 AM] Request textDocument/hover failed.
Error: Connection got disposed.
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\main.js:825:25)
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-languageclient\lib\client.js:57:35)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-languageclient\lib\client.js:1967:42)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-languageclient\lib\main.js:126:15)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-languageclient\lib\client.js:1954:18)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\main.js:221:26)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at StreamMessageReader.AbstractMessageReader.fireClose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\messageReader.js:135:27)
    at Socket.<anonymous> (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.32\node_modules\vscode-jsonrpc\lib\messageReader.js:188:62)
    at emitOne (events.js:121:20)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)
Listening on stdin
New configuration {settings =
  {
  "cwtools": {
    "trace": {
      "server": "off"
    },
    "localisation": {
      "languages": [
        "English"
      ]
    },
    "errors": {
      "vanilla": "false",
      "ignore": [],
      "ignorefiles": [
        "README.txt",
        "credits.txt",
        "credits_l_simp_chinese.txt",
        "reference.txt",
        "startup_info.txt"
      ]
    },
    "experimental": "false",
    "experimental_completion": "false"
  }
};}`
Unordinal commented 6 years ago

Appears to be fixed in v0.5.33.

Unordinal commented 6 years ago

Using v0.5.34. New issue, same beginning error. Now with more Request textDocument/definition failing! ;P

First Error:

Unhandled Exception: System.Exception: Request message with id 1828707008 missing params
   at LSP.Parser.parseMessage(String jsonText) in C:\Users\Thomas\git\cwtools-vscode\src\LSP\Parser.fs:line 109
   at Microsoft.FSharp.Collections.Internal.IEnumerator.map@74.DoMoveNext(b& curr)
   at Microsoft.FSharp.Collections.Internal.IEnumerator.MapEnumerator`1.System-Collections-IEnumerator-MoveNext()
   at Microsoft.FSharp.Collections.SeqModule.TakeWhile@1309.GenerateNext(IEnumerable`1& next)
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
   at LSP.LanguageServer.connect@227.Invoke() in C:\Users\Thomas\git\cwtools-vscode\src\LSP\LanguageServer.fs:line 229
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
[Info  - 1:19:09 PM] Connection to server got closed. Server will restart.
[Error - 1:19:09 PM] Request textDocument/hover failed.
Error: Connection got disposed.
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\main.js:825:25)
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:57:35)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:1967:42)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\main.js:126:15)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:1954:18)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\main.js:221:26)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at StreamMessageReader.AbstractMessageReader.fireClose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\messageReader.js:135:27)
    at Socket.<anonymous> (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\messageReader.js:188:62)
    at emitOne (events.js:121:20)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)

Error that happened before the extension would no longer restart:

Unhandled Exception: System.Exception: Request message with id 426602598 missing params
   at LSP.Parser.parseMessage(String jsonText) in C:\Users\Thomas\git\cwtools-vscode\src\LSP\Parser.fs:line 109
   at Microsoft.FSharp.Collections.Internal.IEnumerator.map@74.DoMoveNext(b& curr)
   at Microsoft.FSharp.Collections.Internal.IEnumerator.MapEnumerator`1.System-Collections-IEnumerator-MoveNext()
   at Microsoft.FSharp.Collections.SeqModule.TakeWhile@1309.GenerateNext(IEnumerable`1& next)
   at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
   at LSP.LanguageServer.connect@227.Invoke() in C:\Users\Thomas\git\cwtools-vscode\src\LSP\LanguageServer.fs:line 229
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
[Error - 1:19:54 PM] Connection to server got closed. Server will not be restarted.
[Error - 1:19:54 PM] Request textDocument/hover failed.
Error: Connection got disposed.
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\main.js:825:25)
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:57:35)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:1967:42)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\main.js:126:15)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:1954:18)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\main.js:221:26)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at StreamMessageWriter.AbstractMessageWriter.fireClose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\messageWriter.js:57:27)
    at Socket.<anonymous> (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\messageWriter.js:79:63)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)
[Error - 1:19:54 PM] Request textDocument/definition failed.
Error: Connection got disposed.
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\main.js:825:25)
    at Object.dispose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:57:35)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:1967:42)
    at LanguageClient.handleConnectionClosed (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\main.js:126:15)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-languageclient\lib\client.js:1954:18)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at closeHandler (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\main.js:221:26)
    at CallbackList.invoke (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:71:39)
    at Emitter.fire (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\events.js:135:36)
    at StreamMessageWriter.AbstractMessageWriter.fireClose (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\messageWriter.js:57:27)
    at Socket.<anonymous> (C:\Users\vipsp\.vscode\extensions\tboby.cwtools-vscode-0.5.34\node_modules\vscode-jsonrpc\lib\messageWriter.js:79:63)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)
Unordinal commented 6 years ago

Requested logs.

Unordinal commented 6 years ago

Different error but the same problem:

Hover
[Trace - 12:14:06 AM] Received request 'getWordRangeAtPosition - (1696176001)'.
Params: {
    "position": {
        "line": 291,
        "character": 35
    }
}

[Trace - 12:14:06 AM] Sending response 'getWordRangeAtPosition - (1696176001)'. Processing request took 0ms

Unhandled Exception: [Trace - 12:14:06 AM] Sending notification '$/cancelRequest'.
Params: {
    "id": 2
}

Everything below is the same 'Request message with id ### missing params'.

Unordinal commented 6 years ago

Adding a folder to your workspace with a path that's too long and having it be the first folder listed in your workspace causes a crash on hovering any text in a vanilla Stellaris file (possibly the mod files as well, though I didn't repro that).

Repro Steps:

  1. Add the base Stellaris folder to a workspace
  2. Add a folder (that is in the base mod folder) with a name longer than 12 characters to the workspace
  3. Works fine, until...
  4. Move the folder with the long name above the main Stellaris folder in your workspace
  5. Open a vanilla Stellaris file and hover over something
  6. Crash, yey

Adding the folder by itself seems to work okay until adding the vanilla Stellaris folder to the workspace, which then borks it. Moving the Stellaris folder above the mod folder seems to fix it.

Putting the folder in 'Paradox Interactive\Stellaris' lets the name be longer than if it's in 'Paradox Interactive\Stellaris\mod', which leads me to believe it's an issue with the path being too long and not just the folder name length.