PowerShell / PowerShell/vscode-powershell

[macOS and Linux] PSES crashes - System.IO.IOException: Too many open files

Offen
#1,017 6 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Area-Symbols & References Area-Workspaces Issue-Bug OS-Linux OS-macOS
Vorherrschende Sprache
TypeScript
Sterne
1.9k
Forks
548
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

System Details
  • Operating system name and version:
    • macOS 10.12.6
    • Ubuntu 16.0
  • VS Code version: 1.15.1
  • PowerShell extension version: 1.14.1
  • Output from $PSVersionTable (on macOS):
Name                           Value                                                                                                                                               
----                           -----                                                                                                                                               
PSVersion                      6.0.0-beta                                                                                                                                          
PSEdition                      Core                                                                                                                                                
GitCommitId                    v6.0.0-beta.6                                                                                                                                       
OS                             Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64                                      
Platform                       Unix                                                                                                                                                
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                             
PSRemotingProtocolVersion      2.3                                                                                                                                                 
SerializationVersion           1.1.0.1                                                                                                                                             
WSManStackVersion              3.0                                                                                                                                                 

From macOS:

PS> code -v
1.15.1
41abd21afdf7424c89319ee7cb0445cc6f376959
PS> $pseditor.EditorServicesVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
1      4      1      0


PS> code --list-extensions --show-versions
Shan.code-settings-sync@2.8.3
donjayamanne.python@0.7.0
fabianlauer.vs-code-xml-format@0.1.5
florianloch.text-transform@0.1.0
idleberg.applescript@0.6.1
ms-vscode.cpptools@0.12.3
ms-vscode.csharp@1.12.1
ms-vscode.PowerShell@1.4.1
slevesque.vscode-hexdump@1.4.0
PS> $PSVersionTable
Issue Description

Things start to go wrong when the PS version cannot be determined and the version is assumed to be v5:

[WARNING] - Method "GetVersionDetails" at line 153 of C:\projects\powershelleditorservices\src\PowerShellEditorServices\Session\PowerShellVersionDetails.cs

  Failed to look up PowerShell version, defaulting to version 5.

In effect, the Editor Services don't work properly on either platform, but some aspects still work on Linux, such as F8.

On macOS, the logs show additional failures:

System.AggregateException: One or more errors occurred. (Too many open files) ---> System.IO.IOException: Too many open files
...
PowerShell Editor Services is terminating due to an unhandled exception

Note that ulimit -n (number of files that can be open simultaneously) still defaults to 256 as of macOS 10.12.6.

Attached Logs

macOs.zip

ubuntu.zip

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit PowerShellEditorServices/Session/PowerShellVersionDetails.cs, insbesondere mit GetVersionDetails um Zeile 153, und prüfe anschließend die beigefügten macOS- und Ubuntu-Logs. Reproduziere den Fehler bei der Versionserkennung und den macOS-Zustand "Too many open files" mit dem gemeldeten ulimit; als erledigt gilt die Aufgabe, wenn Editor Services nicht mehr beendet wird und die betroffene Funktionalität auf beiden Plattformen funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, powershell, vscode
Bereich
devtools, operating-systems
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.