Infinite loop when closing PowerShell process while being attached by the Visual Studio Code debugger
manison opened this issue · comments
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues, especially the pinned issues.
Exception report
Oops, something went wrong.
Please report this bug with ALL the details below, including both the 'Environment' and 'Exception' sections.
Please report on GitHub: https://github.com/PowerShell/PSReadLine/issues/new?template=Bug_Report.yaml
Thank you!
An error occurred while running the REPL loop:
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics, CancellationToken cancellationToken, Nullable`1 lastRunStatus)
at Microsoft.PowerShell.EditorServices.Services.PowerShell.Console.PsrlReadLine.InvokePSReadLine(CancellationToken cancellationToken) in D:\a\_work\1\s\src\PowerShellEditorServices\Services\PowerShell\Console\PsrlReadLine.cs:line 48
at Microsoft.PowerShell.EditorServices.Services.PowerShell.Execution.SynchronousTask`1.ExecuteSynchronously(CancellationToken executorCancellationToken) in D:\a\_work\1\s\src\PowerShellEditorServices\Services\PowerShell\Execution\SynchronousTask.cs:line 92
--- End of stack trace from previous location ---
at Microsoft.PowerShell.EditorServices.Services.PowerShell.Host.PsesInternalHost.InvokeReadLine(CancellationToken cancellationToken) in D:\a\_work\1\s\src\PowerShellEditorServices\Services\PowerShell\Host\PsesInternalHost.cs:line 1248
at Microsoft.PowerShell.EditorServices.Services.PowerShell.Host.PsesInternalHost.DoOneRepl(CancellationToken cancellationToken) in D:\a\_work\1\s\src\PowerShellEditorServices\Services\PowerShell\Host\PsesInternalHost.cs:line 1149
Screenshot
N/A
Environment data
PS Version: 7.4.0
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.3.4
PSReadLine EditMode: Windows
OS: 10.0.22621.1 (WinBuild.160101.0800)
BufferWidth: 120
BufferHeight: 30
Steps to reproduce
- Install PowerShell extension in Visual Studio Code (version v2024.0.0)
- Prepare the launch.json with the following content:
{
"version": "0.2.0",
"configurations": [
{
"name": "PowerShell Attach to Host Process",
"type": "PowerShell",
"request": "attach"
}
]
}
- Start a new instance of the PowerShell
- Attach to it using the Visual Studio Code
- Wait till the debugger attaches to the process
- Close the PowerShell
Expected behavior
No exception
Actual behavior
When the PowerShell process being currently attached by the Visual Studio debugger is closed, the infinite exception loop occurs.
The stack indicates the issue happens within the PowerShell Editor Service, so transfer the issue here.
Thanks we are able to repro this, it may be related to/fixed by upcoming breakpoint sync fixes
This issue has been labeled as needing fix verification and has not had any activity a week. It has been closed for housekeeping purposes.
This issue is reproducible in the most recent v2024.3.0-preview.
Should I open another issue or can this be reopened and revisited?
@andyleejordan @SeeminglyScience @JustinGrote mentioning you as involved in another recent debugging issue discussion.
It was accidentally closed. We're thinking it will be fixed by an in progress PR.