Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHE: Can't set breakpoints #20

Open
gattytto opened this issue Nov 11, 2020 · 8 comments
Open

CHE: Can't set breakpoints #20

gattytto opened this issue Nov 11, 2020 · 8 comments

Comments

@gattytto
Copy link

gattytto commented Nov 11, 2020

Hello, I know this can be worked out because I had a successful attempt once but I can't remember the config values for launch.json file.

PREFACE: Eclipse CHE is a cloud-native web-based IDE that supports eclipse Theia as editor, thus allowing to introduce vsix extensions to the editor. It uses dockerized containers to hold all the binaries each extension needs.

EXPECTED:
I expect the IDE to stop at a breakpoint and let me see the values of variables in the debug session.

RESULT:
the breakpoints are not loaded by the debug adapter and the execution continues until the end (the app runs and listens on a port).

THE PROBLEM:
ghci seems to return an error when the breakpoints are being set:

ERROR][APP] user error ("read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \"App.hs\", pathSource = \"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}")

THE WORKAROUND:
renaming haskell-debug-adapter to something else results in the extension to make use of phoityn-vscode which helps OK and stops at breakpoints succesfully

this is a procps inside the sidecar container when the session is running:

user@workspaceqnhikj90eclvkihy:/projects/src/github.com/gattytto/example-servant-minimal$ ps -e
    PID TTY          TIME CMD
      1 ?        00:00:00 sh
     13 ?        00:00:08 plugin-remote-e
     37 pts/0    00:00:00 sh
     44 pts/0    00:00:00 sh
     45 pts/0    00:00:00 bash
  13413 pts/1    00:00:00 bash
  15625 ?        00:00:01 ghcide
  16441 ?        00:00:00 sh
  16444 ?        00:00:01 haskell-debug-a
  16462 ?        00:00:04 ghci-dap
  16504 pts/1    00:00:00 ps

the demo project is located at https://github.com/gattytto/example-servant-minimal/tree/8.10.2

this is the launch.json:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "ghc",
            "request": "launch",
            "name": "run",
            "internalConsoleOptions": "openOnSessionStart",
            "workspace": "${workspaceFolder}/",
            "startup": "${workspaceFolder}/exe/Main.hs",
            "startupFunc": "",
            "startupArgs": "",
            "stopOnEntry": false,
            "mainArgs": "",
            "ghciPrompt": "H>>= ",
            "ghciInitialPrompt": "Prelude>",
            "ghciCmd": "stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show",
            "ghciEnv": {},
            "logFile": "${workspaceFolder}/.vscode/phoityne.log",
            "logLevel": "DEBUG",
            "forceInspect": false
        }
    ]
}

this is the log with debug verbose level for the launch.json

2020-11-11 20:43:21.595139091000 [16384(ThreadId 11)] DEBUG APP - tasks.json file exists. /projects/src/github.com/gattytto/example-servant-minimal/.vscode/tasks.json
2020-11-11 20:43:21.595998046000 [16384(ThreadId 11)] DEBUG APP - ["stack","ghci","--with-ghc=ghci-dap","--no-load","--no-build","--main-is","example-servant-minimal:exe:example-servant-minimal","--ghci-options","-fprint-evld-with-show"]
2020-11-11 20:43:21.676930672000 [16384(ThreadId 11)] DEBUG APP - ghci initial prompt [Prelude>].
2020-11-11 20:43:21.677629193000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 2, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "Configuration read.\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:21.679239455000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":2,"type":"event","event":"output","body":{"category":"stdout","output":"Configuration read.\n","data":null}}
2020-11-11 20:43:21.680098716000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:21.680606806000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:21.681078156000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:21.681442557000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 3, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "console", outputOutputEventBody = "Starting GHCi.\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:21.980363327000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":3,"type":"event","event":"output","body":{"category":"console","output":"Starting GHCi.\n","data":null}}
2020-11-11 20:43:21.981719976000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:21.982097001000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:21.982586790000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:21.982946813000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 4, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stderr", outputOutputEventBody = "Wait for a moment.\n\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:21.984199526000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":4,"type":"event","event":"output","body":{"category":"stderr","output":"Wait for a moment.\n\n","data":null}}
2020-11-11 20:43:22.173150330000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:22.173888631000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:22.174641288000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:22.177430185000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 5, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DEBUG][APP] [\"stack\",\"ghci\",\"--with-ghc=ghci-dap\",\"--no-load\",\"--no-build\",\"--main-is\",\"example-servant-minimal:exe:example-servant-minimal\",\"--ghci-options\",\"-fprint-evld-with-show\"]\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:22.179340666000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":5,"type":"event","event":"output","body":{"category":"stdout","output":"[DEBUG][APP] [\"stack\",\"ghci\",\"--with-ghc=ghci-dap\",\"--no-load\",\"--no-build\",\"--main-is\",\"example-servant-minimal:exe:example-servant-minimal\",\"--ghci-options\",\"-fprint-evld-with-show\"]\n","data":null}}
2020-11-11 20:43:22.189786058000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:22.190216010000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:22.190694210000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:22.191152937000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 6, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "console", outputOutputEventBody = "CWD: /projects/src/github.com/gattytto/example-servant-minimal/\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:22.193157834000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":6,"type":"event","event":"output","body":{"category":"console","output":"CWD: /projects/src/github.com/gattytto/example-servant-minimal/\n","data":null}}
2020-11-11 20:43:22.194492930000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:22.384403986000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:22.384807326000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:22.385251389000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 7, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "console", outputOutputEventBody = "CMD: stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:22.386986772000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":7,"type":"event","event":"output","body":{"category":"console","output":"CMD: stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show\n","data":null}}
2020-11-11 20:43:22.474973856000 [16384(ThreadId 13)] INFO WATCH - start watching /projects/src/github.com/gattytto/example-servant-minimal/
2020-11-11 20:43:22.475557808000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:22.689652066000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:22.690051300000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:22.690397142000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 8, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "console", outputOutputEventBody = "\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:22.691576377000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":8,"type":"event","event":"output","body":{"category":"console","output":"\n","data":null}}
2020-11-11 20:43:22.692291734000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:22.692637401000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:22.774483836000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:22.786732879000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 9, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stderr", outputOutputEventBody = "Now, waiting for an initial prompt(\"Prelude>\") from ghci.\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:23.281437144000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":9,"type":"event","event":"output","body":{"category":"stderr","output":"Now, waiting for an initial prompt(\"Prelude>\") from ghci.\n","data":null}}
2020-11-11 20:43:23.485573185000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:23.485968779000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:23.677750170000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:24.085751705000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 10, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "console", outputOutputEventBody = "\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:24.373791817000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":10,"type":"event","event":"output","body":{"category":"console","output":"\n","data":null}}
2020-11-11 20:43:24.577506786000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:24.682500820000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:24.682933207000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:28.581873152000 [16384(ThreadId 11)] DEBUG APP - GHCi version is 8.10.2
2020-11-11 20:43:28.582468198000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 11, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "Configuring GHCi with the following packages: example-servant-minimal\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:28.776689628000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":11,"type":"event","event":"output","body":{"category":"stdout","output":"Configuring GHCi with the following packages: example-servant-minimal\n","data":null}}
2020-11-11 20:43:28.783696953000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:28.784232287000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:28.784786857000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:28.785470876000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 12, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DAP][INFO] start ghci-dap-0.0.15.0.\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:28.880117554000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":12,"type":"event","event":"output","body":{"category":"stdout","output":"[DAP][INFO] start ghci-dap-0.0.15.0.\n","data":null}}
2020-11-11 20:43:28.881679434000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:28.882219959000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:29.086134786000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:29.086414823000 [16384(ThreadId 11)] DEBUG APP - :dap-launch LaunchRequestArguments {noDebugLaunchRequestArguments = Just False, nameLaunchRequestArguments = "run", typeLaunchRequestArguments = "ghc", requestLaunchRequestArguments = "launch", startupLaunchRequestArguments = "/projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs", workspaceLaunchRequestArguments = "/projects/src/github.com/gattytto/example-servant-minimal/", logFileLaunchRequestArguments = "/projects/src/github.com/gattytto/example-servant-minimal/.vscode/phoityne.log", logLevelLaunchRequestArguments = "DEBUG", ghciPromptLaunchRequestArguments = "H>>= ", ghciCmdLaunchRequestArguments = "stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show", stopOnEntryLaunchRequestArguments = False, mainArgsLaunchRequestArguments = Just "", ghciEnvLaunchRequestArguments = fromList [], ghciInitialPromptLaunchRequestArguments = Just "Prelude>", startupFuncLaunchRequestArguments = Just "", startupArgsLaunchRequestArguments = Just "", forceInspectLaunchRequestArguments = Just False}
2020-11-11 20:43:29.086877997000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 13, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "GHCi, version 8.10.2: https://www.haskell.org/ghc/  :? for help\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:29.287387109000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":13,"type":"event","event":"output","body":{"category":"stdout","output":"GHCi, version 8.10.2: https://www.haskell.org/ghc/  :? for help\n","data":null}}
2020-11-11 20:43:29.374394265000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:29.375726925000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:29.376229865000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:29.376727515000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 14, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "COMMON symbol, size 96 name batch_point_buffer allocated at 0x41625000\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:29.485717643000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":14,"type":"event","event":"output","body":{"category":"stdout","output":"COMMON symbol, size 96 name batch_point_buffer allocated at 0x41625000\n","data":null}}
2020-11-11 20:43:29.487708995000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:29.488189186000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:29.488573475000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:29.488939258000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 15, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "Loaded GHCi configuration from /projects/src/github.com/gattytto/example-servant-minimal/.ghci\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:29.686218711000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":15,"type":"event","event":"output","body":{"category":"stdout","output":"Loaded GHCi configuration from /projects/src/github.com/gattytto/example-servant-minimal/.ghci\n","data":null}}
2020-11-11 20:43:29.774041257000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:29.775034783000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:29.875175055000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:29.875913481000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 16, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "Prelude>", dataOutputEventBody = Nothing}})
2020-11-11 20:43:29.877560745000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":16,"type":"event","event":"output","body":{"category":"stdout","output":"Prelude>","data":null}}
2020-11-11 20:43:29.879111210000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:29.879596563000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:29.880607674000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:29.973541791000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 17, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DEBUG][APP] GHCi version is 8.10.2\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.273631908000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":17,"type":"event","event":"output","body":{"category":"stdout","output":"[DEBUG][APP] GHCi version is 8.10.2\n","data":null}}
2020-11-11 20:43:30.284520801000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:30.285120217000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:30.285647148000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:30.286068659000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 18, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":set prompt \"<<DAP_CMD_END2>>\\nH>>= \"\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.287820451000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":18,"type":"event","event":"output","body":{"category":"stdout","output":":set prompt \"<<DAP_CMD_END2>>\\nH>>= \"\n","data":null}}
2020-11-11 20:43:30.288730120000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:30.373755459000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:30.384969937000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:30.385449566000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 19, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.387289168000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":19,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:30.473553885000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:30.474094118000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:30.474657558000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:30.475181578000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 20, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":set prompt-cont \"<<DAP_CMD_END2>>\\nH>>= \"\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.576865838000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":20,"type":"event","event":"output","body":{"category":"stdout","output":":set prompt-cont \"<<DAP_CMD_END2>>\\nH>>= \"\n","data":null}}
2020-11-11 20:43:30.578181555000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:30.579514250000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:30.580040270000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:30.580533132000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 21, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.581964428000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":21,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:30.582726074000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:30.776321721000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:30.777398405000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:30.777822960000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 22, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":dap-launch ...\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.779509357000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":22,"type":"event","event":"output","body":{"category":"stdout","output":":dap-launch ...\n","data":null}}
2020-11-11 20:43:30.780461104000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:30.780867295000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:30.781351051000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:30.876455370000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 23, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DEBUG][APP] :dap-launch LaunchRequestArguments {noDebugLaunchRequestArguments = Just False, nameLaunchRequestArguments = \"run\", typeLaunchRequestArguments = \"ghc\", requestLaunchRequestArguments = \"launch\", startupLaunchRequestArguments = \"/projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs\", workspaceLaunchRequestArguments = \"/projects/src/github.com/gattytto/example-servant-minimal/\", logFileLaunchRequestArguments = \"/projects/src/github.com/gattytto/example-servant-minimal/.vscode/phoityne.log\", logLevelLaunchRequestArguments = \"DEBUG\", ghciPromptLaunchRequestArguments = \"H>>= \", ghciCmdLaunchRequestArguments = \"stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show\", stopOnEntryLaunchRequestArguments = False, mainArgsLaunchRequestArguments = Just \"\", ghciEnvLaunchRequestArguments = fromList [], ghciInitialPromptLaunchRequestArguments = Just \"Prelude>\", startupFuncLaunchRequestArguments = Just \"\", startupArgsLaunchRequestArguments = Just \"\", forceInspectLaunchRequestArguments = Just False}\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:30.888896558000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":23,"type":"event","event":"output","body":{"category":"stdout","output":"[DEBUG][APP] :dap-launch LaunchRequestArguments {noDebugLaunchRequestArguments = Just False, nameLaunchRequestArguments = \"run\", typeLaunchRequestArguments = \"ghc\", requestLaunchRequestArguments = \"launch\", startupLaunchRequestArguments = \"/projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs\", workspaceLaunchRequestArguments = \"/projects/src/github.com/gattytto/example-servant-minimal/\", logFileLaunchRequestArguments = \"/projects/src/github.com/gattytto/example-servant-minimal/.vscode/phoityne.log\", logLevelLaunchRequestArguments = \"DEBUG\", ghciPromptLaunchRequestArguments = \"H>>= \", ghciCmdLaunchRequestArguments = \"stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show\", stopOnEntryLaunchRequestArguments = False, mainArgsLaunchRequestArguments = Just \"\", ghciEnvLaunchRequestArguments = fromList [], ghciInitialPromptLaunchRequestArguments = Just \"Prelude>\", startupFuncLaunchRequestArguments = Just \"\", startupArgsLaunchRequestArguments = Just \"\", forceInspectLaunchRequestArguments = Just False}\n","data":null}}
2020-11-11 20:43:31.274141494000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:31.274669689000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:31.374290844000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:31.374691967000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 24, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:31.375952750000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":24,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:31.377146957000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:31.377553604000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:31.378050412000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:31.378496984000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 25, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":load /projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:31.679309951000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":25,"type":"event","event":"output","body":{"category":"stdout","output":":load /projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs\n","data":null}}
2020-11-11 20:43:31.680754031000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:31.682014439000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:31.682569340000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:31.683087710000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 26, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[1 of 2] Compiling App              ( /projects/src/github.com/gattytto/example-servant-minimal/src/App.hs, interpreted )\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:31.873805287000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":26,"type":"event","event":"output","body":{"category":"stdout","output":"[1 of 2] Compiling App              ( /projects/src/github.com/gattytto/example-servant-minimal/src/App.hs, interpreted )\n","data":null}}
2020-11-11 20:43:31.875536942000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:31.876019648000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:31.876423888000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.178925118000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 27, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[2 of 2] Compiling Main             ( /projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs, interpreted )\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:40.180888554000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":27,"type":"event","event":"output","body":{"category":"stdout","output":"[2 of 2] Compiling Main             ( /projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs, interpreted )\n","data":null}}
2020-11-11 20:43:40.182471301000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.182865862000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.280884438000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.280916350000 [16384(ThreadId 11)] DEBUG APP - InitState exitAction called.
2020-11-11 20:43:40.281316182000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 28, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "Ok, two modules loaded.\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:40.281725369000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState entryAction called.
2020-11-11 20:43:40.474165199000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":28,"type":"event","event":"output","body":{"category":"stdout","output":"Ok, two modules loaded.\n","data":null}}
2020-11-11 20:43:40.475133625000 [16384(ThreadId 11)] DEBUG APP - sink start waiting.
2020-11-11 20:43:40.489086598000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.489298198000 [16384(ThreadId 11)] DEBUG APP - src start waiting.
2020-11-11 20:43:40.489761306000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.573582850000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.574206626000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 29, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:40.676172861000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":29,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:40.677405739000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.677819493000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.678288742000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.684068166000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 30, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":dap-context-modules ...\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:40.688988253000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":30,"type":"event","event":"output","body":{"category":"stdout","output":":dap-context-modules ...\n","data":null}}
2020-11-11 20:43:40.689934465000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.690299140000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.690669420000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.691023542000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 31, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DAP][INFO]context modules. [\"App\",\"Main\"]\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:40.692422557000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":31,"type":"event","event":"output","body":{"category":"stdout","output":"[DAP][INFO]context modules. [\"App\",\"Main\"]\n","data":null}}
2020-11-11 20:43:40.786089269000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.786584474000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.787118189000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.787618827000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 32, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:40.788865635000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":32,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:40.873921337000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.874438017000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.887952119000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:40.888345346000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. InitializedEvent (InitializedEvent {seqInitializedEvent = 33, typeInitializedEvent = "event", eventInitializedEvent = "initialized"})
2020-11-11 20:43:40.973178525000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":33,"type":"event","event":"initialized"}
2020-11-11 20:43:40.973743961000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:40.974187807000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:40.974612183000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:41.575386142000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req get data. {"seq":3,"type":"request","command":"setExceptionBreakpoints","arguments":{"filters":[]}}
2020-11-11 20:43:41.576933680000 [16384(ThreadId 10)] DEBUG REQUEST - sink start waiting.
2020-11-11 20:43:41.577334635000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req start waiting.
2020-11-11 20:43:41.577712958000 [16384(ThreadId 10)] DEBUG REQUEST - src start waiting.
2020-11-11 20:43:41.579911547000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState SetExceptionBreakpointsRequest called. SetExceptionBreakpointsRequest {seqSetExceptionBreakpointsRequest = 3, typeSetExceptionBreakpointsRequest = "request", commandSetExceptionBreakpointsRequest = "setExceptionBreakpoints", argumentsSetExceptionBreakpointsRequest = SetExceptionBreakpointsRequestArguments {filtersSetExceptionBreakpointsRequestArguments = []}}
2020-11-11 20:43:41.582811460000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req get data. {"seq":4,"type":"request","command":"setBreakpoints","arguments":{"source":{"name":"App.hs","path":"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs"},"sourceModified":false,"breakpoints":[{"line":27},{"line":33}]}}
2020-11-11 20:43:41.874720997000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 34, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":set -fno-break-on-exception\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:41.876111986000 [16384(ThreadId 10)] DEBUG REQUEST - sink start waiting.
2020-11-11 20:43:41.877917866000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":34,"type":"event","event":"output","body":{"category":"stdout","output":":set -fno-break-on-exception\n","data":null}}
2020-11-11 20:43:41.878334825000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req start waiting.
2020-11-11 20:43:41.879205002000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:41.879693031000 [16384(ThreadId 11)] DEBUG APP - sink start waiting.
2020-11-11 20:43:41.879784254000 [16384(ThreadId 10)] DEBUG REQUEST - src start waiting.
2020-11-11 20:43:41.980519434000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:41.980965620000 [16384(ThreadId 11)] DEBUG APP - src start waiting.
2020-11-11 20:43:42.077696373000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:42.078182428000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState SetBreakpointsRequest called. SetBreakpointsRequest {seqSetBreakpointsRequest = 4, typeSetBreakpointsRequest = "request", commandSetBreakpointsRequest = "setBreakpoints", argumentsSetBreakpointsRequest = SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just "App.hs", pathSource = "/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}}
2020-11-11 20:43:42.083544521000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 35, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:42.373381768000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":35,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:42.374191643000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:42.374819232000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:42.375208614000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:42.375661272000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 36, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":set -fno-break-on-error\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:42.587323300000 [16384(ThreadId 11)] DEBUG APP - :dap-set-breakpoints SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just "App.hs", pathSource = "/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}
2020-11-11 20:43:42.587391121000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":36,"type":"event","event":"output","body":{"category":"stdout","output":":set -fno-break-on-error\n","data":null}}
2020-11-11 20:43:42.684230566000 [16384(ThreadId 11)] ERROR APP - user error ("read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \"App.hs\", pathSource = \"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}")
2020-11-11 20:43:42.685432936000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:42.689429657000 [16384(ThreadId 11)] DEBUG APP - sink start waiting.
2020-11-11 20:43:42.689911052000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:42.690402320000 [16384(ThreadId 11)] DEBUG APP - src start waiting.
2020-11-11 20:43:42.690881736000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:42.691776128000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 37, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:42.773068880000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":37,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:42.773989079000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:42.774417484000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:42.774886667000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:42.775257085000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. SetExceptionBreakpointsResponse (SetExceptionBreakpointsResponse {seqSetExceptionBreakpointsResponse = 38, typeSetExceptionBreakpointsResponse = "response", request_seqSetExceptionBreakpointsResponse = 3, successSetExceptionBreakpointsResponse = True, commandSetExceptionBreakpointsResponse = "setExceptionBreakpoints", messageSetExceptionBreakpointsResponse = ""})
2020-11-11 20:43:42.882890465000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":38,"type":"response","request_seq":3,"success":true,"command":"setExceptionBreakpoints","message":""}
2020-11-11 20:43:42.883849468000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:42.884233239000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:42.884685941000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:42.885269889000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 39, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":dap-set-breakpoints ...\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:42.886986018000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":39,"type":"event","event":"output","body":{"category":"stdout","output":":dap-set-breakpoints ...\n","data":null}}
2020-11-11 20:43:42.983759380000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:42.984271775000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:42.984683891000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:42.985154220000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 40, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DEBUG][APP] :dap-set-breakpoints SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \"App.hs\", pathSource = \"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:43.176792612000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":40,"type":"event","event":"output","body":{"category":"stdout","output":"[DEBUG][APP] :dap-set-breakpoints SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \"App.hs\", pathSource = \"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}\n","data":null}}
2020-11-11 20:43:43.185458014000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:43.185853150000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:43.186335518000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:43.186721578000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 41, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:43.188806457000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":41,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:43.189639791000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:43.384274317000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:43.384858963000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:43.385475748000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 42, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[ERROR][APP] user error (\"read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \\\"App.hs\\\", pathSource = \\\"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\\\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}\")\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:43.577938461000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":42,"type":"event","event":"output","body":{"category":"stdout","output":"[ERROR][APP] user error (\"read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \\\"App.hs\\\", pathSource = \\\"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\\\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}\")\n","data":null}}
2020-11-11 20:43:43.584323870000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:43.584921680000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:43.585471574000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:43.585954964000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. SetBreakpointsResponse (SetBreakpointsResponse {seqSetBreakpointsResponse = 43, typeSetBreakpointsResponse = "response", request_seqSetBreakpointsResponse = 4, successSetBreakpointsResponse = False, commandSetBreakpointsResponse = "setBreakpoints", messageSetBreakpointsResponse = "user error (\"read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \\\"App.hs\\\", pathSource = \\\"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\\\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}\")", bodySetBreakpointsResponse = SetBreakpointsResponseBody {breakpointsSetBreakpointsResponseBody = []}})
2020-11-11 20:43:43.781867581000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":43,"type":"response","request_seq":4,"success":false,"command":"setBreakpoints","message":"user error (\"read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \\\"App.hs\\\", pathSource = \\\"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\\\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}\")","body":{"breakpoints":[]}}
2020-11-11 20:43:43.890619393000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:43.891017316000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:43.891390195000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:44.080286143000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req get data. {"seq":5,"type":"request","command":"setFunctionBreakpoints","arguments":{"breakpoints":[]}}
2020-11-11 20:43:44.081122457000 [16384(ThreadId 10)] DEBUG REQUEST - sink start waiting.
2020-11-11 20:43:44.081498513000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req start waiting.
2020-11-11 20:43:44.081868701000 [16384(ThreadId 10)] DEBUG REQUEST - src start waiting.
2020-11-11 20:43:44.082119779000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState SetFunctionBreakpointsRequest called. SetFunctionBreakpointsRequest {seqSetFunctionBreakpointsRequest = 5, typeSetFunctionBreakpointsRequest = "request", commandSetFunctionBreakpointsRequest = "setFunctionBreakpoints", argumentsSetFunctionBreakpointsRequest = SetFunctionBreakpointsRequestArguments {breakpointsSetFunctionBreakpointsRequestArguments = []}}
2020-11-11 20:43:44.084597828000 [16384(ThreadId 11)] DEBUG APP - :dap-set-function-breakpoints SetFunctionBreakpointsRequestArguments {breakpointsSetFunctionBreakpointsRequestArguments = []}
2020-11-11 20:43:44.085396323000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 44, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":dap-set-function-breakpoints ...\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:44.179038957000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":44,"type":"event","event":"output","body":{"category":"stdout","output":":dap-set-function-breakpoints ...\n","data":null}}
2020-11-11 20:43:44.375429880000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:44.379453748000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:44.379886980000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:44.380272268000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 45, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DEBUG][APP] :dap-set-function-breakpoints SetFunctionBreakpointsRequestArguments {breakpointsSetFunctionBreakpointsRequestArguments = []}\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:44.485669133000 [16384(ThreadId 11)] DEBUG APP - sink start waiting.
2020-11-11 20:43:44.574130874000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":45,"type":"event","event":"output","body":{"category":"stdout","output":"[DEBUG][APP] :dap-set-function-breakpoints SetFunctionBreakpointsRequestArguments {breakpointsSetFunctionBreakpointsRequestArguments = []}\n","data":null}}
2020-11-11 20:43:44.574221115000 [16384(ThreadId 11)] DEBUG APP - src start waiting.
2020-11-11 20:43:44.578868441000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:44.579434235000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:44.579828779000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:44.580223127000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 46, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DAP][DEBUG]<dapSetFunctionBreakpointsCommand> delete func bps []\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:44.977255134000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":46,"type":"event","event":"output","body":{"category":"stdout","output":"[DAP][DEBUG]<dapSetFunctionBreakpointsCommand> delete func bps []\n","data":null}}
2020-11-11 20:43:44.979437993000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:44.980004115000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:44.980560708000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:44.980962903000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 47, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:44.982233449000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":47,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:45.079858564000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.080380328000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.080870495000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:45.081365544000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. SetFunctionBreakpointsResponse (SetFunctionBreakpointsResponse {seqSetFunctionBreakpointsResponse = 48, typeSetFunctionBreakpointsResponse = "response", request_seqSetFunctionBreakpointsResponse = 5, successSetFunctionBreakpointsResponse = True, commandSetFunctionBreakpointsResponse = "setFunctionBreakpoints", messageSetFunctionBreakpointsResponse = "", bodySetFunctionBreakpointsResponse = SetFunctionBreakpointsResponseBody {breakpointsSetFunctionBreakpointsResponseBody = []}})
2020-11-11 20:43:45.273811234000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":48,"type":"response","request_seq":5,"success":true,"command":"setFunctionBreakpoints","message":"","body":{"breakpoints":[]}}
2020-11-11 20:43:45.275249606000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.275689102000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.276231777000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:45.374292163000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req get data. {"seq":6,"type":"request","command":"setExceptionBreakpoints","arguments":{"filters":[]}}
2020-11-11 20:43:45.375127497000 [16384(ThreadId 10)] DEBUG REQUEST - sink start waiting.
2020-11-11 20:43:45.375446165000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState SetExceptionBreakpointsRequest called. SetExceptionBreakpointsRequest {seqSetExceptionBreakpointsRequest = 6, typeSetExceptionBreakpointsRequest = "request", commandSetExceptionBreakpointsRequest = "setExceptionBreakpoints", argumentsSetExceptionBreakpointsRequest = SetExceptionBreakpointsRequestArguments {filtersSetExceptionBreakpointsRequestArguments = []}}
2020-11-11 20:43:45.375591826000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req start waiting.
2020-11-11 20:43:45.378000791000 [16384(ThreadId 10)] DEBUG REQUEST - src start waiting.
2020-11-11 20:43:45.378519464000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 49, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":set -fno-break-on-exception\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:45.379340985000 [16384(ThreadId 11)] DEBUG APP - sink start waiting.
2020-11-11 20:43:45.381080960000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":49,"type":"event","event":"output","body":{"category":"stdout","output":":set -fno-break-on-exception\n","data":null}}
2020-11-11 20:43:45.584088352000 [16384(ThreadId 11)] DEBUG APP - src start waiting.
2020-11-11 20:43:45.585321351000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.673944948000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.674565377000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:45.684833862000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 50, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:45.775324075000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":50,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:45.777491928000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.777980979000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.778514316000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:45.779304923000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 51, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":set -fno-break-on-error\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:45.783059638000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":51,"type":"event","event":"output","body":{"category":"stdout","output":":set -fno-break-on-error\n","data":null}}
2020-11-11 20:43:45.784036698000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.784479526000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.788676774000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:45.789191556000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 52, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "H>>= ", dataOutputEventBody = Nothing}})
2020-11-11 20:43:45.790810747000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":52,"type":"event","event":"output","body":{"category":"stdout","output":"H>>= ","data":null}}
2020-11-11 20:43:45.791724756000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.792084600000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.792443914000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:45.792785567000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. SetExceptionBreakpointsResponse (SetExceptionBreakpointsResponse {seqSetExceptionBreakpointsResponse = 53, typeSetExceptionBreakpointsResponse = "response", request_seqSetExceptionBreakpointsResponse = 6, successSetExceptionBreakpointsResponse = True, commandSetExceptionBreakpointsResponse = "setExceptionBreakpoints", messageSetExceptionBreakpointsResponse = ""})
2020-11-11 20:43:45.988837099000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":53,"type":"response","request_seq":6,"success":true,"command":"setExceptionBreakpoints","message":""}
2020-11-11 20:43:45.989709300000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:45.990068755000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:45.990451179000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:46.097723830000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req get data. {"seq":7,"type":"request","command":"configurationDone","arguments":{}}
2020-11-11 20:43:46.104933667000 [16384(ThreadId 10)] DEBUG REQUEST - sink start waiting.
2020-11-11 20:43:46.105495722000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req start waiting.
2020-11-11 20:43:46.179569801000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState ConfigurationDoneRequest called. ConfigurationDoneRequest {seqConfigurationDoneRequest = 7, typeConfigurationDoneRequest = "request", commandConfigurationDoneRequest = "configurationDone"}
2020-11-11 20:43:46.179631479000 [16384(ThreadId 10)] DEBUG REQUEST - src start waiting.
2020-11-11 20:43:46.181001619000 [16384(ThreadId 11)] DEBUG APP - GHCiRunState exitAction called.
2020-11-11 20:43:46.181694076000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. ConfigurationDoneResponse (ConfigurationDoneResponse {seqConfigurationDoneResponse = 54, typeConfigurationDoneResponse = "response", request_seqConfigurationDoneResponse = 7, successConfigurationDoneResponse = True, commandConfigurationDoneResponse = "configurationDone", messageConfigurationDoneResponse = ""})
2020-11-11 20:43:46.181991958000 [16384(ThreadId 11)] DEBUG APP - DebugRunState entryAction called.
2020-11-11 20:43:46.183953931000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":54,"type":"response","request_seq":7,"success":true,"command":"configurationDone","message":""}
2020-11-11 20:43:46.592705381000 [16384(ThreadId 11)] DEBUG APP - :dap-continue ContinueRequestArguments {threadIdContinueRequestArguments = 0, exprContinueRequestArguments = Just "main"}
2020-11-11 20:43:46.673851465000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:46.688029045000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:46.688439517000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:46.689029773000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. LaunchResponse (LaunchResponse {seqLaunchResponse = 55, typeLaunchResponse = "response", request_seqLaunchResponse = 2, successLaunchResponse = True, commandLaunchResponse = "launch", messageLaunchResponse = ""})
2020-11-11 20:43:46.690179462000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":55,"type":"response","request_seq":2,"success":true,"command":"launch","message":""}
2020-11-11 20:43:46.690952940000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:46.691333440000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:47.076516426000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:47.076929016000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 56, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = ":dap-continue ...\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:47.080409859000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":56,"type":"event","event":"output","body":{"category":"stdout","output":":dap-continue ...\n","data":null}}
2020-11-11 20:43:47.081746432000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:47.082265191000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:47.082682898000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req get data. {"seq":8,"type":"request","command":"threads","arguments":{}}
2020-11-11 20:43:47.082798529000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:47.083582561000 [16384(ThreadId 10)] DEBUG REQUEST - sink start waiting.
2020-11-11 20:43:47.084472788000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 57, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "[DEBUG][APP] :dap-continue ContinueRequestArguments {threadIdContinueRequestArguments = 0, exprContinueRequestArguments = Just \"main\"}\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:47.087852044000 [16384(ThreadId 10)] DEBUG REQUEST - lbs2req start waiting.
2020-11-11 20:43:47.175172493000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":57,"type":"event","event":"output","body":{"category":"stdout","output":"[DEBUG][APP] :dap-continue ContinueRequestArguments {threadIdContinueRequestArguments = 0, exprContinueRequestArguments = Just \"main\"}\n","data":null}}
2020-11-11 20:43:47.278923469000 [16384(ThreadId 10)] DEBUG REQUEST - src start waiting.
2020-11-11 20:43:47.281094331000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:47.281618484000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:47.282011708000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.
2020-11-11 20:43:48.180475204000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs get data. OutputEvent (OutputEvent {seqOutputEvent = 58, typeOutputEvent = "event", eventOutputEvent = "output", bodyOutputEvent = OutputEventBody {categoryOutputEventBody = "stdout", outputOutputEventBody = "listening on port 3000\n", dataOutputEventBody = Nothing}})
2020-11-11 20:43:48.182341187000 [16384(ThreadId 12)] DEBUG RESPONSE - sink get data. {"seq":58,"type":"event","event":"output","body":{"category":"stdout","output":"listening on port 3000\n","data":null}}
2020-11-11 20:43:48.183768687000 [16384(ThreadId 12)] DEBUG RESPONSE - sink start start.
2020-11-11 20:43:48.184191711000 [16384(ThreadId 12)] DEBUG RESPONSE - res2lbs start waiting.
2020-11-11 20:43:48.184777498000 [16384(ThreadId 12)] DEBUG RESPONSE - src start waiting.

this is the debug console contents:

Configuration read.
Starting GHCi.
Wait for a moment.
[DEBUG][APP] ["stack","ghci","--with-ghc=ghci-dap","--no-load","--no-build","--main-is","example-servant-minimal:exe:example-servant-minimal","--ghci-options","-fprint-evld-with-show"]
CWD: /projects/src/github.com/gattytto/example-servant-minimal/
CMD: stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show
Now, waiting for an initial prompt("Prelude>") from ghci.
Configuring GHCi with the following packages: example-servant-minimal
[DAP][INFO] start ghci-dap-0.0.15.0.
GHCi, version 8.10.2: https://www.haskell.org/ghc/  :? for help
COMMON symbol, size 96 name batch_point_buffer allocated at 0x41585000
Loaded GHCi configuration from /projects/src/github.com/gattytto/example-servant-minimal/.ghci
Prelude>
[DEBUG][APP] GHCi version is 8.10.2
:set prompt "<>\nH>>= "
H>>= 
:set prompt-cont "<>\nH>>= "
H>>= 
:dap-launch ...
[DEBUG][APP] :dap-launch LaunchRequestArguments {noDebugLaunchRequestArguments = Just False, nameLaunchRequestArguments = "run", typeLaunchRequestArguments = "ghc", requestLaunchRequestArguments = "launch", startupLaunchRequestArguments = "/projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs", workspaceLaunchRequestArguments = "/projects/src/github.com/gattytto/example-servant-minimal/", logFileLaunchRequestArguments = "/projects/src/github.com/gattytto/example-servant-minimal/.vscode/phoityne.log", logLevelLaunchRequestArguments = "DEBUG", ghciPromptLaunchRequestArguments = "H>>= ", ghciCmdLaunchRequestArguments = "stack ghci --with-ghc=ghci-dap --no-load --no-build --main-is example-servant-minimal:exe:example-servant-minimal --ghci-options -fprint-evld-with-show", stopOnEntryLaunchRequestArguments = False, mainArgsLaunchRequestArguments = Just "", ghciEnvLaunchRequestArguments = fromList [], ghciInitialPromptLaunchRequestArguments = Just "Prelude>", startupFuncLaunchRequestArguments = Just "", startupArgsLaunchRequestArguments = Just "", forceInspectLaunchRequestArguments = Just False}
H>>= 
:load /projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs
[1 of 2] Compiling App              ( /projects/src/github.com/gattytto/example-servant-minimal/src/App.hs, interpreted )
[2 of 2] Compiling Main             ( /projects/src/github.com/gattytto/example-servant-minimal/exe/Main.hs, interpreted )
Ok, two modules loaded.
H>>= 
:dap-context-modules ...
[DAP][INFO]context modules. ["App","Main"]
H>>= 
:set -fno-break-on-exception
H>>= 
:set -fno-break-on-error
H>>= 
:dap-set-breakpoints ...
[DEBUG][APP] :dap-set-breakpoints SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just "App.hs", pathSource = "/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}
H>>= 
[ERROR][APP] user error ("read failed. Prelude.read: no parse : SetBreakpointsRequestArguments {sourceSetBreakpointsRequestArguments = Source {nameSource = Just \"App.hs\", pathSource = \"/projects/src/github.com/gattytto/example-servant-minimal/src/App.hs\", sourceReferenceSource = Nothing, origineSource = Nothing}, breakpointsSetBreakpointsRequestArguments = [SourceBreakpoint {lineSourceBreakpoint = 27, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing},SourceBreakpoint {lineSourceBreakpoint = 33, columnSourceBreakpoint = Nothing, conditionSourceBreakpoint = Nothing, hitConditionSourceBreakpoint = Nothing, logMessageSourceBreakpoint = Nothing}]}")
:dap-set-function-breakpoints ...
[DEBUG][APP] :dap-set-function-breakpoints SetFunctionBreakpointsRequestArguments {breakpointsSetFunctionBreakpointsRequestArguments = []}
[DAP][DEBUG] delete func bps []
H>>= 
:set -fno-break-on-exception
H>>= 
:set -fno-break-on-error
H>>= 
:dap-continue ...
[DEBUG][APP] :dap-continue ContinueRequestArguments {threadIdContinueRequestArguments = 0, exprContinueRequestArguments = Just "main"}
listening on port 3000
@phoityne
Copy link
Owner

Hi.

Could you let me know the haskell-debug-adapter version ?
Is it a 0.0.34.0 ?

Regards.

@gattytto
Copy link
Author

gattytto commented Nov 12, 2020

@phoityne it's 0.0.33.0 from here

@phoityne
Copy link
Owner

I think you are using new version of ghci-dap(0.0.15.0) for the ghc-8.10.
And haskell-debug-adapter also needs some modification for using with ghci-dap-0.0.15.0.
(not been released yet.)

After the LTS-17 is released, I will release haskell-debuggers for ghc-8.10.3.
Please wait for a while.

Regards.

@gattytto
Copy link
Author

ok I'll leave the workaround in current 8.10.2 until 8.10.3 support is done. Thank you

@gattytto gattytto reopened this Feb 6, 2021
@gattytto
Copy link
Author

gattytto commented Feb 6, 2021

hello @phoityne I'm re-opening this issue since I see LTS-17.1 is out. So are debug-adapter and hdx4vsc going to work if ghci-dap and the rest are built against 8.10.3?

@phoityne
Copy link
Owner

phoityne commented Feb 7, 2021

Hi.

Yes, it would work with LTS-17.1(ghc-8.10.3).
I have released these versions.

  • haskell-dap-0.0.15.0
  • ghci-dap-0.0.15.0
  • haskell-debug-adapter-0.0.34.0
  • hdx4vsc-0.0.26

Regards.

@gattytto
Copy link
Author

excelent, thank you for the answer, I'll close this issue after I finish the tests.

@piotrcirocki
Copy link

I had similar issue. I can confirm it works on mac os 11.6 with configuration above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants