phoityne / haskell-debug-adapter

Debug Adapter for Haskell debugging system.
https://hackage.haskell.org/package/haskell-debug-adapter
BSD 3-Clause "New" or "Revised" License
54 stars 8 forks source link

CHE: Can't set breakpoints #20

Open gattytto opened 4 years ago

gattytto commented 4 years ago

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 commented 4 years ago

Hi.

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

Regards.

gattytto commented 4 years ago

@phoityne it's 0.0.33.0 from here

phoityne commented 4 years ago

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 commented 4 years ago

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

gattytto commented 3 years ago

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 commented 3 years ago

Hi.

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

Regards.

gattytto commented 3 years ago

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

piotrcirocki commented 3 years ago

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