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

Virtual env bin/python buffer remains open after :VimspectorReset #795

Open
2 tasks done
dr-costas opened this issue Sep 8, 2023 · 8 comments · May be fixed by #796
Open
2 tasks done

Virtual env bin/python buffer remains open after :VimspectorReset #795

dr-costas opened this issue Sep 8, 2023 · 8 comments · May be fixed by #796
Labels
bug Something isn't working Severity 3+ The issue is rare or cosmetic, or unfixable

Comments

@dr-costas
Copy link

Description

When using Vimspector with Python virtual environment, the buffer created for displaying the Python output remains open after :VimspectorReset is called. This results in having multiple buffers open, one for each run of the debugger.

Is it reproducible in vim?

Reproducible in Vim

Works with clean config?

Yes

Sample project works?

Reproducible with sample project

Minimal Reproduction

List of steps to reproduce:

  1. Enter a Python virtual environment, e.g. pipenv shell
  2. Run vim ---clean -Nu /path/to/vimspector/support/minimal_vimrc ....
  3. Create a test file, e.g. :e test.py
  4. Enter some commands and put a breakpoint.
  5. Start the debugger.
  6. When the breakpoint hits, give to Vim :ls and see the open buffers
  7. Restart the debugger with <F4>.
  8. Again when the breakpoint hits, give to Vim :ls and observe the buffers. You will something like:
Screenshot 2023-09-08 at 15 40 05

Expected Behaviour

The buffers should be closed/deleted as happens when Vimspector isn't using Python inside virtual env.

Actual Behaviour

The Python output buffers are not deleted with Vimspector uses Python from a virtual environment.

Additional information

No response

Installation Type

Plugin Manager (git clone)

Vimspector version

4e49a17

Debug Info

Debug Info
--------------------------------------------------------------------------------
ConnectionType: job
Adapter: 
--------------------------------------------------------------------------------
{
  "command": [
    "/opt/homebrew/opt/python@3.11/bin/python3.11",
    "/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter"
  ],
  "configuration": {
    "python": "/opt/homebrew/opt/python@3.11/bin/python3.11"
  },
  "custom_handler": "vimspector.custom.python.Debugpy",
  "name": "debugpy",
  "env": {},
  "cwd": "/Users/<name>/Projects/test-project"
}
--------------------------------------------------------------------------------
Configuration: 
--------------------------------------------------------------------------------
{
  "adapter": "debugpy",
  "configuration": {
    "request": "launch",
    "type": "python",
    "python": ".venv/bin/python",
    "cwd": "/Users/<name>/Projects/test-project",
    "program": "/Users/<name>/Projects/test-project/test.py",
    "stopOnEntry": false,
    "console": "integratedTerminal",
    "justMyCode": true
  },
  "breakpoints": {
    "exception": {
      "raised": "N",
      "uncaught": "",
      "userUnhandled": ""
    }
  }
}
--------------------------------------------------------------------------------
API Prefix: 
Launch/Init: True / True
Workspace Root: /Users/<name>/Projects/test-project
Launch Config: 
--------------------------------------------------------------------------------
{
  "python": ".venv/bin/python",
  "request": "launch",
  "type": "python",
  "cwd": "/Users/<name>/Projects/test-project",
  "program": "/Users/<name>/Projects/test-project/test.py",
  "stopOnEntry": false,
  "console": "integratedTerminal",
  "justMyCode": true,
  "name": "test"
}
--------------------------------------------------------------------------------
Server Capabilities: 
--------------------------------------------------------------------------------
{
  "supportsCompletionsRequest": true,
  "supportsConditionalBreakpoints": true,
  "supportsConfigurationDoneRequest": true,
  "supportsDebuggerProperties": true,
  "supportsDelayedStackTraceLoading": true,
  "supportsEvaluateForHovers": true,
  "supportsExceptionInfoRequest": true,
  "supportsExceptionOptions": true,
  "supportsFunctionBreakpoints": true,
  "supportsHitConditionalBreakpoints": true,
  "supportsLogPoints": true,
  "supportsModulesRequest": true,
  "supportsSetExpression": true,
  "supportsSetVariable": true,
  "supportsValueFormattingOptions": true,
  "supportsTerminateRequest": true,
  "supportsGotoTargetsRequest": true,
  "supportsClipboardContext": true,
  "exceptionBreakpointFilters": [
    {
      "filter": "raised",
      "label": "Raised Exceptions",
      "default": false,
      "description": "Break whenever any exception is raised."
    },
    {
      "filter": "uncaught",
      "label": "Uncaught Exceptions",
      "default": true,
      "description": "Break when the process is exiting due to unhandled exception."
    },
    {
      "filter": "userUnhandled",
      "label": "User Uncaught Exceptions",
      "default": false,
      "description": "Break when exception escapes into library code."
    }
  ],
  "supportsStepInTargetsRequest": true
}
--------------------------------------------------------------------------------
Line Breakpoints: 
--------------------------------------------------------------------------------
{
  "/Users/<name>/Projects/test-project/test.py": [
    {
      "state": "ENABLED",
      "line": 17,
      "options": {},
      "is_instruction_breakpoint": null,
      "sign_id": 1,
      "server_bp": {
        "0": {
          "verified": true,
          "id": 0,
          "source": {
            "name": "test.py",
            "path": "/Users/<name>/Projects/test-project/test.py"
          },
          "line": 17
        }
      }
    }
  ]
}
--------------------------------------------------------------------------------
Func Breakpoints: 
--------------------------------------------------------------------------------
[]
--------------------------------------------------------------------------------
Ex Breakpoints: 
--------------------------------------------------------------------------------
{
  "filters": [
    "uncaught"
  ],
  "exceptionOptions": []
}
--------------------------------------------------------------------------------

Log file

-09-08 15:35:09,974 - INFO - debug_session.py:128 - 0 - **** INITIALISING NEW VIMSPECTOR SESSION FOR ID 0 ****
2023-09-08 15:35:09,974 - INFO - debug_session.py:130 - 0 - API is: 
2023-09-08 15:35:09,974 - INFO - debug_session.py:131 - 0 - VIMSPECTOR_HOME = /Users/<name>/.vim/plugged/vimspector/python3/vimspector/../..
2023-09-08 15:35:09,974 - INFO - debug_session.py:132 - 0 - gadgetDir = /Users/<name>/.vim/plugged/vimspector/gadgets/macos
2023-09-08 15:35:09,974 - INFO - debug_session.py:226 - 0 - User requested start debug session with {}
2023-09-08 15:35:09,974 - DEBUG - debug_session.py:187 - 0 - Reading configurations from: None
2023-09-08 15:35:09,975 - DEBUG - debug_session.py:187 - 0 - Reading configurations from: /Users/<name>/Projects/test-project/.vimspector.json
2023-09-08 15:35:10,188 - DEBUG - debug_session.py:250 - 0 - Reading gadget config: /Users/<name>/.vim/plugged/vimspector/gadgets/macos/.gadgets.json
2023-09-08 15:35:10,188 - DEBUG - debug_session.py:250 - 0 - Reading gadget config: None
2023-09-08 15:35:17,092 - DEBUG - utils.py:714 - None - Value for VIRTUAL_ENV not set in ${VIRTUAL_ENV}/bin/python (from ${VIRTUAL_ENV}/bin/python): set to .venv
2023-09-08 15:35:17,094 - DEBUG - utils.py:633 - None - Returning VIRTUAL_ENV from the map for VIRTUAL_ENV with args ()
2023-09-08 15:35:17,094 - DEBUG - utils.py:633 - None - Returning workspaceRoot from the map for workspaceRoot with args ()
2023-09-08 15:35:17,094 - DEBUG - utils.py:633 - None - Returning workspaceRoot from the map for workspaceRoot with args ()
2023-09-08 15:35:17,094 - DEBUG - utils.py:633 - None - Returning gadgetDir from the map for gadgetDir with args ()
2023-09-08 15:35:17,094 - INFO - debug_session.py:483 - 0 - Configuration: {"adapter": "debugpy", "configuration": {"request": "launch", "type": "python", "python": ".venv/bin/python", "cwd": "/Users/<name>/Projects/test-project", "program": "/Users/<name>/Projects/test-project/test.py", "stopOnEntry": false, "console": "integratedTerminal", "justMyCode": true}, "breakpoints": {"exception": {"raised": "N", "uncaught": "", "userUnhandled": ""}}}
2023-09-08 15:35:17,095 - INFO - debug_session.py:485 - 0 - Adapter: {"command": ["/opt/homebrew/opt/python@3.11/bin/python3.11", "/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter"], "configuration": {"python": "/opt/homebrew/opt/python@3.11/bin/python3.11"}, "custom_handler": "vimspector.custom.python.Debugpy", "name": "debugpy"}
2023-09-08 15:35:17,098 - DEBUG - debug_session.py:1188 - 0 - min_width/height: 149/50, actual: 245/61 - result: horizontal
2023-09-08 15:35:17,134 - DEBUG - debug_session.py:1773 - 0 - LAUNCH!
2023-09-08 15:35:17,135 - INFO - debug_session.py:1387 - 0 - Starting debug adapter with: {"command": ["/opt/homebrew/opt/python@3.11/bin/python3.11", "/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter"], "configuration": {"python": "/opt/homebrew/opt/python@3.11/bin/python3.11"}, "custom_handler": "vimspector.custom.python.Debugpy", "name": "debugpy"}
2023-09-08 15:35:17,135 - DEBUG - debug_session.py:1406 - 0 - Connection Type: job
2023-09-08 15:35:17,141 - INFO - debug_session.py:1490 - 0 - Debug Adapter Started
2023-09-08 15:35:17,141 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "initialize", "arguments": {"adapterID": "debugpy", "clientID": "vimspector", "clientName": "vimspector", "linesStartAt1": true, "columnsStartAt1": true, "locale": "en_GB", "pathFormat": "path", "supportsVariableType": true, "supportsVariablePaging": false, "supportsRunInTerminalRequest": true, "supportsMemoryReferences": true, "supportsStartDebuggingRequest": true}, "seq": 0, "type": "request"}
2023-09-08 15:35:17,191 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 1, 'type': 'event', 'event': 'output', 'body': {'category': 'telemetry', 'output': 'ptvsd', 'data': {'packageVersion': '1.6.7'}}}
2023-09-08 15:35:17,191 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 2, 'type': 'event', 'event': 'output', 'body': {'category': 'telemetry', 'output': 'debugpy', 'data': {'packageVersion': '1.6.7'}}}
2023-09-08 15:35:17,191 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 3, 'type': 'response', 'request_seq': 0, 'success': True, 'command': 'initialize', 'body': {'supportsCompletionsRequest': True, 'supportsConditionalBreakpoints': True, 'supportsConfigurationDoneRequest': True, 'supportsDebuggerProperties': True, 'supportsDelayedStackTraceLoading': True, 'supportsEvaluateForHovers': True, 'supportsExceptionInfoRequest': True, 'supportsExceptionOptions': True, 'supportsFunctionBreakpoints': True, 'supportsHitConditionalBreakpoints': True, 'supportsLogPoints': True, 'supportsModulesRequest': True, 'supportsSetExpression': True, 'supportsSetVariable': True, 'supportsValueFormattingOptions': True, 'supportsTerminateRequest': True, 'supportsGotoTargetsRequest': True, 'supportsClipboardContext': True, 'exceptionBreakpointFilters': [{'filter': 'raised', 'label': 'Raised Exceptions', 'default': False, 'description': 'Break whenever any exception is raised.'}, {'filter': 'uncaught', 'label': 'Uncaught Exceptions', 'default': True, 'description': 'Break when the process is exiting due to unhandled exception.'}, {'filter': 'userUnhandled', 'label': 'User Uncaught Exceptions', 'default': False, 'description': 'Break when exception escapes into library code.'}], 'supportsStepInTargetsRequest': True}}
2023-09-08 15:35:17,191 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "launch", "arguments": {"python": ".venv/bin/python", "request": "launch", "type": "python", "cwd": "/Users/<name>/Projects/test-project", "program": "/Users/<name>/Projects/test-project/test.py", "stopOnEntry": false, "console": "integratedTerminal", "justMyCode": true, "name": "test"}, "seq": 1, "type": "request"}
2023-09-08 15:35:17,192 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 4, 'type': 'request', 'command': 'runInTerminal', 'arguments': {'kind': 'integrated', 'title': 'Python Debug Console', 'args': ['.venv/bin/python', '/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter/../../debugpy/launcher', '62036', '--', '/Users/<name>/Projects/test-project/test.py'], 'env': {}, 'cwd': '/Users/<name>/Projects/test-project'}}
2023-09-08 15:35:17,197 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"seq": 2, "type": "response", "request_seq": 4, "command": "runInTerminal", "body": {"processId": 38634}, "success": true}
2023-09-08 15:35:17,677 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 5, 'type': 'event', 'event': 'initialized'}
2023-09-08 15:35:17,678 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setFunctionBreakpoints", "arguments": {"breakpoints": []}, "seq": 3, "type": "request"}
2023-09-08 15:35:17,678 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setExceptionBreakpoints", "arguments": {"filters": ["uncaught"], "exceptionOptions": []}, "seq": 4, "type": "request"}
2023-09-08 15:35:17,678 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 6, 'type': 'response', 'request_seq': 3, 'success': True, 'command': 'setFunctionBreakpoints', 'body': {'breakpoints': []}}
2023-09-08 15:35:17,678 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 7, 'type': 'response', 'request_seq': 4, 'success': True, 'command': 'setExceptionBreakpoints'}
2023-09-08 15:35:17,678 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "configurationDone", "seq": 5, "type": "request"}
2023-09-08 15:35:17,679 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 8, 'type': 'response', 'request_seq': 5, 'success': True, 'command': 'configurationDone'}
2023-09-08 15:35:17,679 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 9, 'type': 'response', 'request_seq': 1, 'success': True, 'command': 'launch'}
2023-09-08 15:35:17,679 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "threads", "seq": 6, "type": "request"}
2023-09-08 15:35:17,684 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 10, 'type': 'event', 'event': 'process', 'body': {'startMethod': 'launch', 'isLocalProcess': True, 'systemProcessId': 38637, 'name': '/Users/<name>/Projects/test-project/test.py', 'pointerSize': 64}}
2023-09-08 15:35:17,684 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 11, 'type': 'response', 'request_seq': 6, 'success': True, 'command': 'threads', 'body': {'threads': [{'id': 1, 'name': 'MainThread'}]}}
2023-09-08 15:35:17,684 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 12, 'type': 'event', 'event': 'thread', 'body': {'reason': 'started', 'threadId': 1}}
2023-09-08 15:35:17,684 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "threads", "seq": 7, "type": "request"}
2023-09-08 15:35:17,700 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 13, 'type': 'response', 'request_seq': 7, 'success': True, 'command': 'threads', 'body': {'threads': [{'id': 1, 'name': 'MainThread'}]}}
2023-09-08 15:35:17,799 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 14, 'type': 'event', 'event': 'thread', 'body': {'reason': 'exited', 'threadId': 1}}
2023-09-08 15:35:18,626 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 15, 'type': 'event', 'event': 'exited', 'body': {'exitCode': 0}}
2023-09-08 15:35:18,631 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 16, 'type': 'event', 'event': 'terminated'}
2023-09-08 15:35:23,694 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setBreakpoints", "arguments": {"source": {"name": "test.py", "path": "/Users/<name>/Projects/test-project/test.py"}, "breakpoints": [{"line": 17}], "sourceModified": false}, "seq": 8, "type": "request"}
2023-09-08 15:35:23,695 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setFunctionBreakpoints", "arguments": {"breakpoints": []}, "seq": 9, "type": "request"}
2023-09-08 15:35:23,695 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setExceptionBreakpoints", "arguments": {"filters": ["uncaught"], "exceptionOptions": []}, "seq": 10, "type": "request"}
2023-09-08 15:35:23,698 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 17, 'type': 'response', 'request_seq': 8, 'success': False, 'command': 'setBreakpoints', 'message': 'Server[pid=38637] disconnected unexpectedly'}
2023-09-08 15:35:23,698 - INFO - debug_adapter_connection.py:305 - 0 - Request failed (handled): Server[pid=38637] disconnected unexpectedly
2023-09-08 15:35:23,700 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 18, 'type': 'response', 'request_seq': 9, 'success': False, 'command': 'setFunctionBreakpoints', 'message': 'Server[pid=38637] disconnected unexpectedly'}
2023-09-08 15:35:23,700 - INFO - debug_adapter_connection.py:305 - 0 - Request failed (handled): Server[pid=38637] disconnected unexpectedly
2023-09-08 15:35:23,713 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 19, 'type': 'response', 'request_seq': 10, 'success': False, 'command': 'setExceptionBreakpoints', 'message': 'Server[pid=38637] disconnected unexpectedly'}
2023-09-08 15:35:23,713 - INFO - debug_adapter_connection.py:305 - 0 - Request failed (handled): Server[pid=38637] disconnected unexpectedly
2023-09-08 15:35:25,615 - DEBUG - debug_session.py:516 - 0 - Stop debug adapter with callback: start
2023-09-08 15:35:25,617 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "disconnect", "arguments": {}, "seq": 11, "type": "request"}
2023-09-08 15:35:25,620 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 20, 'type': 'response', 'request_seq': 11, 'success': True, 'command': 'disconnect'}
2023-09-08 15:35:25,620 - DEBUG - debug_session.py:1507 - 0 - Setting server exit handler before disconnect
2023-09-08 15:35:25,629 - INFO - debug_session.py:2035 - 0 - The server has terminated with status -1
2023-09-08 15:35:25,630 - DEBUG - debug_session.py:2053 - 0 - Running server exit handler
2023-09-08 15:35:25,630 - INFO - debug_session.py:483 - 0 - Configuration: {"adapter": "debugpy", "configuration": {"request": "launch", "type": "python", "python": ".venv/bin/python", "cwd": "/Users/<name>/Projects/test-project", "program": "/Users/<name>/Projects/test-project/test.py", "stopOnEntry": false, "console": "integratedTerminal", "justMyCode": true}, "breakpoints": {"exception": {"raised": "N", "uncaught": "", "userUnhandled": ""}}}
2023-09-08 15:35:25,630 - INFO - debug_session.py:485 - 0 - Adapter: {"command": ["/opt/homebrew/opt/python@3.11/bin/python3.11", "/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter"], "configuration": {"python": "/opt/homebrew/opt/python@3.11/bin/python3.11"}, "custom_handler": "vimspector.custom.python.Debugpy", "name": "debugpy", "env": {}, "cwd": "/Users/<name>/Projects/test-project"}
2023-09-08 15:35:25,630 - DEBUG - debug_session.py:1773 - 0 - LAUNCH!
2023-09-08 15:35:25,630 - INFO - debug_session.py:1387 - 0 - Starting debug adapter with: {"command": ["/opt/homebrew/opt/python@3.11/bin/python3.11", "/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter"], "configuration": {"python": "/opt/homebrew/opt/python@3.11/bin/python3.11"}, "custom_handler": "vimspector.custom.python.Debugpy", "name": "debugpy", "env": {}, "cwd": "/Users/<name>/Projects/test-project"}
2023-09-08 15:35:25,630 - DEBUG - debug_session.py:1406 - 0 - Connection Type: job
2023-09-08 15:35:25,635 - INFO - debug_session.py:1490 - 0 - Debug Adapter Started
2023-09-08 15:35:25,635 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "initialize", "arguments": {"adapterID": "debugpy", "clientID": "vimspector", "clientName": "vimspector", "linesStartAt1": true, "columnsStartAt1": true, "locale": "en_GB", "pathFormat": "path", "supportsVariableType": true, "supportsVariablePaging": false, "supportsRunInTerminalRequest": true, "supportsMemoryReferences": true, "supportsStartDebuggingRequest": true}, "seq": 0, "type": "request"}
2023-09-08 15:35:25,688 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 1, 'type': 'event', 'event': 'output', 'body': {'category': 'telemetry', 'output': 'ptvsd', 'data': {'packageVersion': '1.6.7'}}}
2023-09-08 15:35:25,697 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 2, 'type': 'response', 'request_seq': 0, 'success': True, 'command': 'initialize', 'body': {'supportsCompletionsRequest': True, 'supportsConditionalBreakpoints': True, 'supportsConfigurationDoneRequest': True, 'supportsDebuggerProperties': True, 'supportsDelayedStackTraceLoading': True, 'supportsEvaluateForHovers': True, 'supportsExceptionInfoRequest': True, 'supportsExceptionOptions': True, 'supportsFunctionBreakpoints': True, 'supportsHitConditionalBreakpoints': True, 'supportsLogPoints': True, 'supportsModulesRequest': True, 'supportsSetExpression': True, 'supportsSetVariable': True, 'supportsValueFormattingOptions': True, 'supportsTerminateRequest': True, 'supportsGotoTargetsRequest': True, 'supportsClipboardContext': True, 'exceptionBreakpointFilters': [{'filter': 'raised', 'label': 'Raised Exceptions', 'default': False, 'description': 'Break whenever any exception is raised.'}, {'filter': 'uncaught', 'label': 'Uncaught Exceptions', 'default': True, 'description': 'Break when the process is exiting due to unhandled exception.'}, {'filter': 'userUnhandled', 'label': 'User Uncaught Exceptions', 'default': False, 'description': 'Break when exception escapes into library code.'}], 'supportsStepInTargetsRequest': True}}
2023-09-08 15:35:25,697 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "launch", "arguments": {"python": ".venv/bin/python", "request": "launch", "type": "python", "cwd": "/Users/<name>/Projects/test-project", "program": "/Users/<name>/Projects/test-project/test.py", "stopOnEntry": false, "console": "integratedTerminal", "justMyCode": true, "name": "test"}, "seq": 1, "type": "request"}
2023-09-08 15:35:25,697 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 3, 'type': 'event', 'event': 'output', 'body': {'category': 'telemetry', 'output': 'debugpy', 'data': {'packageVersion': '1.6.7'}}}
2023-09-08 15:35:25,704 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 4, 'type': 'request', 'command': 'runInTerminal', 'arguments': {'kind': 'integrated', 'title': 'Python Debug Console', 'args': ['.venv/bin/python', '/Users/<name>/.vim/plugged/vimspector/gadgets/macos/debugpy/build/lib/debugpy/adapter/../../debugpy/launcher', '62050', '--', '/Users/<name>/Projects/test-project/test.py'], 'env': {}, 'cwd': '/Users/<name>/Projects/test-project'}}
2023-09-08 15:35:25,709 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"seq": 2, "type": "response", "request_seq": 4, "command": "runInTerminal", "body": {"processId": 38658}, "success": true}
2023-09-08 15:35:26,215 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 5, 'type': 'event', 'event': 'initialized'}
2023-09-08 15:35:26,215 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setBreakpoints", "arguments": {"source": {"name": "test.py", "path": "/Users/<name>/Projects/test-project/test.py"}, "breakpoints": [{"line": 17}], "sourceModified": false}, "seq": 3, "type": "request"}
2023-09-08 15:35:26,215 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setFunctionBreakpoints", "arguments": {"breakpoints": []}, "seq": 4, "type": "request"}
2023-09-08 15:35:26,215 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "setExceptionBreakpoints", "arguments": {"filters": ["uncaught"], "exceptionOptions": []}, "seq": 5, "type": "request"}
2023-09-08 15:35:26,218 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 6, 'type': 'response', 'request_seq': 3, 'success': True, 'command': 'setBreakpoints', 'body': {'breakpoints': [{'verified': True, 'id': 0, 'source': {'name': 'test.py', 'path': '/Users/<name>/Projects/test-project/test.py'}, 'line': 17}]}}
2023-09-08 15:35:26,218 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 7, 'type': 'response', 'request_seq': 4, 'success': True, 'command': 'setFunctionBreakpoints', 'body': {'breakpoints': []}}
2023-09-08 15:35:26,218 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 8, 'type': 'response', 'request_seq': 5, 'success': True, 'command': 'setExceptionBreakpoints'}
2023-09-08 15:35:26,218 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "configurationDone", "seq": 6, "type": "request"}
2023-09-08 15:35:26,235 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 9, 'type': 'response', 'request_seq': 6, 'success': True, 'command': 'configurationDone'}
2023-09-08 15:35:26,235 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 10, 'type': 'response', 'request_seq': 1, 'success': True, 'command': 'launch'}
2023-09-08 15:35:26,235 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "threads", "seq": 7, "type": "request"}
2023-09-08 15:35:26,235 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 11, 'type': 'event', 'event': 'process', 'body': {'startMethod': 'launch', 'isLocalProcess': True, 'systemProcessId': 38661, 'name': '/Users/<name>/Projects/test-project/test.py', 'pointerSize': 64}}
2023-09-08 15:35:26,238 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 12, 'type': 'response', 'request_seq': 7, 'success': True, 'command': 'threads', 'body': {'threads': [{'id': 1, 'name': 'MainThread'}]}}
2023-09-08 15:35:26,239 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 13, 'type': 'event', 'event': 'thread', 'body': {'reason': 'started', 'threadId': 1}}
2023-09-08 15:35:26,239 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "threads", "seq": 8, "type": "request"}
2023-09-08 15:35:26,242 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 14, 'type': 'response', 'request_seq': 8, 'success': True, 'command': 'threads', 'body': {'threads': [{'id': 1, 'name': 'MainThread'}]}}
2023-09-08 15:35:26,347 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 15, 'type': 'event', 'event': 'stopped', 'body': {'reason': 'breakpoint', 'threadId': 1, 'preserveFocusHint': False, 'allThreadsStopped': True}}
2023-09-08 15:35:26,350 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "threads", "seq": 9, "type": "request"}
2023-09-08 15:35:26,358 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 16, 'type': 'response', 'request_seq': 9, 'success': True, 'command': 'threads', 'body': {'threads': [{'id': 1, 'name': 'MainThread'}]}}
2023-09-08 15:35:26,358 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "stackTrace", "arguments": {"threadId": 1}, "seq": 10, "type": "request"}
2023-09-08 15:35:26,364 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 17, 'type': 'response', 'request_seq': 10, 'success': True, 'command': 'stackTrace', 'body': {'stackFrames': [{'id': 2, 'name': 'main', 'line': 17, 'column': 1, 'source': {'path': '/Users/<name>/Projects/test-project/test.py', 'sourceReference': 0}}, {'id': 3, 'name': '<module>', 'line': 22, 'column': 1, 'source': {'path': '/Users/<name>/Projects/test-project/test.py', 'sourceReference': 0}}], 'totalFrames': 2}}
2023-09-08 15:35:26,373 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "scopes", "arguments": {"frameId": 2}, "seq": 11, "type": "request"}
2023-09-08 15:35:26,373 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 18, 'type': 'event', 'event': 'module', 'body': {'reason': 'new', 'module': {'id': 0, 'name': '__main__', 'path': '/Users/<name>/Projects/test-project/test.py'}}}
2023-09-08 15:35:26,373 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 19, 'type': 'event', 'event': 'module', 'body': {'reason': 'new', 'module': {'id': 1, 'name': 'runpy', 'path': '/Users/<name>/.pyenv/versions/3.9.13/lib/python3.9/runpy.py'}}}
2023-09-08 15:35:26,379 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 20, 'type': 'response', 'request_seq': 11, 'success': True, 'command': 'scopes', 'body': {'scopes': [{'name': 'Locals', 'variablesReference': 4, 'expensive': False, 'presentationHint': 'locals', 'source': {}}, {'name': 'Globals', 'variablesReference': 5, 'expensive': False, 'source': {}}]}}
2023-09-08 15:35:26,379 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "variables", "arguments": {"variablesReference": 4}, "seq": 12, "type": "request"}
2023-09-08 15:35:26,383 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 21, 'type': 'response', 'request_seq': 12, 'success': True, 'command': 'variables', 'body': {'variables': []}}
2023-09-08 15:43:06,450 - DEBUG - debug_session.py:605 - 0 - Stop debug adapter with callback: _Reset
2023-09-08 15:43:06,451 - DEBUG - debug_adapter_connection.py:205 - 0 - Sending Message: {"command": "disconnect", "arguments": {}, "seq": 13, "type": "request"}
2023-09-08 15:43:06,460 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 22, 'type': 'event', 'event': 'exited', 'body': {'exitCode': 247}}
2023-09-08 15:43:06,466 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 23, 'type': 'event', 'event': 'terminated'}
2023-09-08 15:43:06,466 - DEBUG - debug_adapter_connection.py:266 - 0 - Message received: {'seq': 24, 'type': 'response', 'request_seq': 13, 'success': True, 'command': 'disconnect'}
2023-09-08 15:43:06,466 - DEBUG - debug_session.py:1507 - 0 - Setting server exit handler before disconnect
2023-09-08 15:43:06,477 - INFO - debug_session.py:2035 - 0 - The server has terminated with status -1
2023-09-08 15:43:06,478 - DEBUG - debug_session.py:2053 - 0 - Running server exit handler
2023-09-08 15:43:06,478 - INFO - debug_session.py:647 - 0 - Debugging complete.
2023-09-08 15:43:06,478 - DEBUG - debug_session.py:650 - 0 - Clearing down UI

Vim version

- Vi IMproved 9.0 (2022 Jun 28, compiled Jun 03 2023 16:11:47)
macOS version - arm64
Included patches: 1-1600
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl               +file_in_path      +mouse_urxvt       -tag_any_white
+arabic            +find_in_path      +mouse_xterm       -tcl
+autocmd           +float             +multi_byte        +termguicolors
+autochdir         +folding           +multi_lang        +terminal
-autoservername    -footer            -mzscheme          +terminfo
-balloon_eval      +fork()            +netbeans_intg     +termresponse
+balloon_eval_term +gettext           +num64             +textobjects
-browse            -hangul_input      +packages          +textprop
++builtin_terms    +iconv             +path_extra        +timers
+byte_offset       +insert_expand     +perl              +title
+channel           +ipv6              +persistent_undo   -toolbar
+cindent           +job               +popupwin          +user_commands
-clientserver      +jumplist          +postscript        +vartabs
+clipboard         +keymap            +printer           +vertsplit
+cmdline_compl     +lambda            +profile           +vim9script
+cmdline_hist      +langmap           -python            +viminfo
+cmdline_info      +libcall           +python3           +virtualedit
+comments          +linebreak         +quickfix          +visual
+conceal           +lispindent        +reltime           +visualextra
+cryptv            +listcmds          +rightleft         +vreplace
+cscope            +localmap          +ruby              +wildignore
+cursorbind        +lua               +scrollbind        +wildmenu
+cursorshape       +menu              +signs             +windows
+dialog_con        +mksession         +smartindent       +writebackup
+diff              +modify_fname      +sodium            -X11
+digraphs          +mouse             +sound             -xfontset
-dnd               -mouseshape        +spell             -xim
-ebcdic            +mouse_dec         +startuptime       -xpm
+emacs_tags        -mouse_gpm         +statusline        -xsmp
+eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+ex_extra          +mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary        
-farsi             -mouse_sysmouse    -tag_old_static    
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/opt/homebrew/share/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X -DMACOS_X_DARWIN -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 
Linking: clang -o vim -lm -lncurses -lsodium -liconv -lintl -framework AppKit -L/opt/homebrew/opt/lua/lib -llua5.4 -mmacosx-version-min=13.3 -fstack-protector-strong -L/opt/homebrew/opt/perl/lib/perl5/5.36/darwin-thread-multi-2level/CORE -lperl -L/opt/homebrew/opt/python@3.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/config-3.11-darwin -lpython3.11 -framework CoreFoundation -lruby.3.2 -L/opt/homebrew/Cellar/ruby/3.2.2/lib

Python version

3.11.4 (main, Jun 7 2023, 00:34:59) [Clang 14.0.3 (clang-1403.0.22.14.1)]

Neovim diagnostics

No response

Operating System

MacOS

Declaration

@puremourning
Copy link
Owner

Thanks for the report. Weird one. Doesn't reproduce in my normal configuration, but I can repro with the minimal vimrc.

It seems pretty low priority to me though, as I can't immediately see what actual problem this causes.

@puremourning puremourning added bug Something isn't working Severity 3+ The issue is rare or cosmetic, or unfixable labels Sep 9, 2023
@dr-costas
Copy link
Author

The problem is that when debugging, Vim gets filled with buffers. Manually closing them kinda diminishes much of the experience.

The weird thing is that once I have opened Vim and did debugging but it worked as it should. I don’t know what made it work normally, but this was once. Now it is back to not working as it should.

@dr-costas
Copy link
Author

Can you please share your normal configuration at least?

@puremourning
Copy link
Owner

Can you try #796 ?

@dr-costas
Copy link
Author

I will later today. Thank you for this super fast response. I will update you.

@dr-costas
Copy link
Author

dr-costas commented Sep 11, 2023

Yes, it works. Now I'm getting this:

Screenshot 2023-09-11 at 10 35 01 Screenshot 2023-09-11 at 10 35 26

You can see that the number of the buffers is different, but the previous buffers are not open now. They are closed.

Thank you once more. Please give an update when you do the merge.

@dr-costas
Copy link
Author

An update on this. It seems that the last buffer is handled but if I use gt to switch tabs, the fix breaks and not working for the open buffers. That is, if I end a debugger run and there is an open buffer, e.g. buffer 1, and then I do gt to switch tab and again gt to go back to Vimspector, then the next time I will run the Vimspector, buffer 1 will not be cleared and buffer 2 will be created.

@dr-costas
Copy link
Author

Also, the same effect is happening when the debugging session is interrupted. Meaning, if I press <F4>/<F3> before the debugging session is ended normally, then the buffer remains open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Severity 3+ The issue is rare or cosmetic, or unfixable
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants