-
Notifications
You must be signed in to change notification settings - Fork 511
Errors in Integrated Console when invoking some native applications (PSHostRawUserInterface) #972
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
Comments
I'm seeing these errors even if transcription isn't running. Edit: Nevermind, transcription is running, enforced by policy. |
@gerane has reported this as well. The core problem here is that the native app you're calling is doing something that causes one of the PSHostRawUserInterface methods I don't implement to be called so it fails. The solution is to provide a more complete implementation there (though I'd rather find a way to reuse the real PowerShell ConsoleHost so that we can get past all of the current limitations). |
In my case, it happens on every external command I run. Here's the innermost exception:
|
Interestingly, GetBufferContents is only called by NativeCommandProcessor.Complete() in a block where it's supposedly transcribing. But if I run |
Heh, nevermind. Company's saving powershell transcripts via policy. :) |
@ChrisWarwick @daviwil @dlwyatt oh! great find. I just tested and disabled the transcription policies and the errors stopped happening. I can at least make sure this is disabled when doing presentations or demos now, but would be great to see this fixed. |
@daviwil @ChrisWarwick @dlwyatt The issue I encounter, is that depending on how the commands were invoked, these can become terminating errors. For example, I have a function that runs a plaster template to create a new project, and also initializes the git repo and a bunch of other related tasks. If I run the command in the console, I get errors, but they are non-terminating. If I run this from an Editor Command, it breaks and causes these errors to be terminating errors. |
@dlwyatt Thanks Dave! I don't know why I didn't look at the call stack and actually figure out why this was happening. Looks like if I implement the method enough to satisfy this code the problem should go away: I'll try to throw that in with the next Editor Services update. |
@daviwil Here is my issue from PSES PowerShell/PowerShellEditorServices#396 |
I looking forward to this fix. We have transcription on via Policy also. |
System Details
$PSVersionTable
:Name Value
PSVersion 5.1.16232.1000
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.16232.1000
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Issue Description
In VSCode Integrated Terminal when using "Start-Transcript", external commands (e.g. git.exe/ipconfig/nbtstat/etc/etc/etc) run as expected, but on completion a spurious error message is displayed.
This occurs if Start-Transcript is entered manually into the integrated console or if Start-Transcript is included in Profile.ps1. The error does not occur if transcripts are not being collected (or if Stop-Transcript is used).
The issue only occurs with external (.exe/.com etc) commands. Cmdlets do not cause a problem.
(I have tested with no profile scripts to eliminate anything in my profile)
More info available on request....
Attached Logs
#Example
PS C:\Data\Git> Start-Transcript -OutputDirectory 'C:\Data'
PS C:\Data\Git>
PS C:\Data\Git> arp /?
Displays and modifies the IP-to-Physical address translation tables used by
<...snip...>
At line:1 char:1
PS C:\Data\Git>
The text was updated successfully, but these errors were encountered: