Static methods in PSClasses are sometimes marshaled to disposed runspaces
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
調査の方向性
ReproSteps.zip と logs.zip から開始し、First.ps1 と Second.ps1 にまたがって static-method の runspace 所有権を追跡しながら、記載されている Test-Class と Get-BoundRunspace の手順に従います。コマンドが両方の実行で成功し、Get-BoundRunspace が破棄された runspace ではなく現在の default runspace を報告すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Steps to reproduce
-
Download an extract in the included example.
-
Move the folder "Example" into your PSModulePath
-
Open the folder "Example2" in VSCode
-
Open the file "First.ps1" and run the command
Test-Class(this is a function from "Example") -
(Optional) Run the command included in "First.ps1", this will show the runspace the static method is currently bound to.
-
Open the file "Second.ps1" and run the command
Test-Classagain. -
(Optional) Run
Get-BoundRunspaceagain.
Expected results
The command Test-Class to output Test was successful both times, and Get-BoundRunspace to return the current default runspace both times.
Actual results
The command Test-Class works the first time, but after the second file is opened it throws a null reference exception and Get-BoundRunspace shows a runspace that is no longer open.
Notes
The steps are exact, if Test-Class isn't ran before switching files, or if "Second.ps1" is loaded first, it won't happen.
Although the steps may seem strange, this happens to me frequently if my module is in the module path, and makes static methods in classes not viable. My assumption is that PSES creates a runspace for PSSA which then loads the module causing that execution context to be the new owner. The runspace is then disposed, but the owner doesn't revert.
- 主要言語
- C#
- スター
- 767
- フォーク
- 266
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PowerShell/PowerShellEditorServices のほかの issue
-
[Bug] None of the string overloads of `EditorExtensionServiceProvider.GetService()` work on .NET. オープン
PowerShell/PowerShellEditorServices#2331 · リアクション 1 件 · 担当者 2 名 ·
-
Area-Language Server Issue-Enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
PowerShell/PowerShellEditorServices#2315 · コメント 1 件 ·
-
Area-Debugging Issue-Enhancement
PowerShell/PowerShellEditorServices#2294 · リアクション 1 件 · 担当者 2 名 ·
-
Issue-Bug Needs: Triage
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
PowerShell/PowerShellEditorServices#2293 · コメント 1 件 ·
-
PowerShell/PowerShellEditorServices#2282 · コメント 1 件 · リアクション 1 件 · 担当者 2 名 ·
PowerShell/PowerShellEditorServices の issue をすべて見る
似ている issue
-
Documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
cake-build/cake#5024 ·
-
Frontend status/draft TechnicalDebt
難易度 2/5 1〜2日 初心者へのやさしさ 75/100
Altinn/altinn-auth#4143 ·
-
.NET Flaky Test Testing Tests
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
getsentry/sentry-dotnet#5617 · コメント 1 件 ·
-
:watch: Not Triaged dotnet-fsharp/svc
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Azure/azure-sdk-for-net#63292 · コメント 3 件 · リアクション 1 件 ·