Intermittent exceptions during concurrent custom-rule execution
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- csharp, powershell
- Área
- cli, developer-experience, tooling
Línea de trabajo
Start from how Invoke-ScriptAnalyzer runs external/custom rules concurrently (AstVisitor2 and $ScriptBlockAst.Visit) on Windows PowerShell 5.1, using the reported Visit NRE and collection-modified exceptions as the failure mode. Trace the custom-rule execution path and any shared visitor or AST state; done means those intermittent errors no longer appear on the same sources while default and custom rules still run.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Before submitting a bug report:
- Make sure you are able to repro it on the latest released version
- Perform a quick search for existing issues to check if this bug has already been reported
Steps to reproduce
...\PSScriptAnalyzer-Run.ps1" -Path C:\_work\1\s -Recurse -Settings C:\_work\1\.gdn\rs\psscriptanalyzer\63df5559-3449-4d0b-a8b9-8c97aa98fe3b.ruleset -IgnorePattern .gdn -IncludeDefaultRules -RecurseCustomRulePath -BuildInCustomRules SDLRules -OutputFilePath C:\_work\1\.gdn\.r\psscriptanalyzer\001\psscriptanalyzer.sarif
Expected behavior
Executing PSScriptAnalyzer without any errors
Actual behavior
A customer is intermittently seeing errors from "Invoke-ScriptAnalyzer" while PSScriptAnalyzer runs external SDL rules:
Exception calling "Visit" with "1" argument(s):
"Object reference not set to an instance of an object."
They have also seen:
Exception calling "Visit" with "1" argument(s):
"Collection was modified; enumeration operation may not execute."
The affected rules use a PowerShell class derived from "AstVisitor2" and call "$ScriptBlockAst.Visit($customVisitor)". The problem is intermittent: the same source can fail in one run and pass when rerun. PSScriptAnalyzer reports the exception as a non-terminating error and the process still exits with code 0.
Environment data
Environment: Windows PowerShell 5.1 and PSScriptAnalyzer 1.19.1.
Is this a known concurrency issue in PSScriptAnalyzer’s external-rule execution path or in "Ast.Visit()" under Windows PowerShell 5.1?
- Lenguaje dominante
- C#
- Estrellas
- 2.2k
- Forks
- 423
- Merge medio
- 17 h 27 min
- PR fusionados (30 d)
- 14
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PowerShell/PSScriptAnalyzer
-
Up-for-Grabs
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
PowerShell/PSScriptAnalyzer#2213 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Issue - Bug
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
PowerShell/PSScriptAnalyzer#2229 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
PowerShell/PSScriptAnalyzer#2220 ·
Los mantenedores suelen responder en 1 día
-
Resolution - Answered
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
PowerShell/PSScriptAnalyzer#2219 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
IgnoreOneLineBlock=$false Correction Issue in PSPlaceOpenBrace and PSPlaceCloseBracePosiblemente ocupada @bergmeister la tomó hace 3 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
PowerShell/PSScriptAnalyzer#2218 · 1 reacción · 2 asignados ·
Los mantenedores suelen responder en 1 día
Todos los issues de PowerShell/PSScriptAnalyzer
Issues similares
-
possible bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
Include host.wslc.internal in the HTTPS development certificatePosiblemente ocupada @afscrome la tomó hoy. Abiertoarea-commandlinetools
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
dotnet/aspnetcore#70122 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
:1st_place_medal: good first issue :cowboy_hat_face: refactor :roller_coaster: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ApplETS/Backend-Hello#78 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días
-
Custom component in Summary2 no longer receives raw formData (regression from app-frontend v4)Abiertostatus/triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Altinn/altinn-studio#21642 ·
Los mantenedores suelen responder en 1 día