[C#] Deeply nested parens causes editor hang.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- csharp, typescript
- Ambito
- developer-experience, tooling
Direzione di ricerca
Riproduci il blocco in un nuovo file evil_line.cs unendo l’espressione annidata fornita in un’unica riga, quindi esamina la grammatica della sintassi C# del repository e la sua gestione di parentesi e cast annidati. Non sono indicati file sorgente né test; il lavoro è completo quando la riga C# riprodotta non blocca più l’editor, mentre l’input multilinea e i casi di confronto segnalati rimangono utilizzabili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
From @staticvoidmain on August 2, 2018 16:52
Issue Type: Bug
Problem
Too many nested parens on a single line cause C# file to hang.
Additional Info
- I recently reversed some VB to C# and pasted it into code, resulting in a complete hang of the vscode process.
- It's fine if these are separated into multiple lines as in the example, however if it's all on a single line you'll get a hang.
- It's definitely the syntax highlighter, and seems to be specific to C#.
- Tested against insiders, and with no extensions on the current build.
- Tested the same line with other c-like language file extensions (js, ts, cpp, java) and they handle it without a crash.
- Oh, also, if you drop the (object) casts off it's fine as well.
Steps To Reproduce
- New file > evil_line.cs
- Paste these contents
// don't try to join these lines...
var message = Conversions.ToString(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
Operators.ConcatenateObject(
(object) strMsg,
Interaction.IIf(
Strings.Len(strMsg) > 0,
(object) "\r\n",
(object) null)),
(object) "\r\n"),
(object) "name '"),
(object) name),
(object) "'"),
(object) "\r\n"),
(object) "age '"),
(object) age),
(object) "'"),
(object) "\r\n"),
(object) "dob '"),
(object) dob),
(object) "'"),
(object) "\r\n"),
(object) "favoriteColor '"),
(object) favoriteColor),
(object) "'"),
(object) "\r\n"),
(object) "favoriteFilm '"),
(object) favoriteFilm),
(object) "'")
);
- Join Lines
VS Code version: Code 1.25.1 (1dfc5e557209371715f655691b1235b6b26a06be, 2018-07-11T15:43:53.668Z)
OS version: Windows_NT x64 10.0.14393
System Info
| Item | Value |
|---|---|
| CPUs | Intel(R) Xeon(R) CPU E5-2695 v2 @ 2.40GHz (4 x 2400) |
| GPU Status | 2d_canvas: enabled flash_3d: enabled flash_stage3d: enabled flash_stage3d_baseline: enabled gpu_compositing: enabled multiple_raster_threads: enabled_on native_gpu_memory_buffers: disabled_software rasterization: unavailable_software video_decode: enabled video_encode: enabled vpx_decode: enabled webgl: enabled webgl2: enabled |
| Memory (System) | 12.00GB (7.34GB free) |
| Process Argv | C:\Program Files\Microsoft VS Code\Code.exe |
| Screen Reader | no |
| VM | 100% |
Extensions (12)
| Extension | Author (truncated) | Version |
|---|---|---|
| xml | Dot | 2.3.1 |
| EditorConfig | Edi | 0.12.4 |
| tslint | eg2 | 1.0.34 |
| vscode-great-icons | emm | 2.1.39 |
| code-beautifier | mic | 2.1.0 |
| mssql | ms- | 1.4.0 |
| python | ms- | 2018.7.1 |
| cpptools | ms- | 0.17.7 |
| PowerShell | ms- | 1.8.2 |
| team | ms- | 1.136.0 |
| debugger-for-chrome | msj | 4.8.2 |
| vscode-javascript-booster | sbu | 0.10.1 |
Copied from original issue: Microsoft/vscode#55687
- Lingua principale
- TypeScript
- Stelle
- 78
- Fork
- 43
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di dotnet/csharp-tmLanguage
-
C# syntax highlighting broken with collection expressions and string interpolation in method callsAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
dotnet/csharp-tmLanguage#332 · 7 commenti · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
dotnet/csharp-tmLanguage#336 · 3 commenti ·
-
[Textmate] `scoped ref` modifierForse già presa @JoeRobich l’ha presa 1016 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
dotnet/csharp-tmLanguage#306 ·
-
[Textmate] Local function with attributeForse già presa @JoeRobich l’ha presa 1016 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
dotnet/csharp-tmLanguage#304 ·
-
[Textmate] Lambda with attributeForse già presa @JoeRobich l’ha presa 1016 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
dotnet/csharp-tmLanguage#303 ·
Tutte le issue di dotnet/csharp-tmLanguage
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
NousResearch/hermes-agent#136483 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Tool errors containing cycles or BigInt crash getErrorMessage and replace the original failureApertafactory-active factory-automatic task-bug-reproduction-success task-identify-harness-labels-done task-identify-issue-type-done
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
vercel/ai#22796 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Web chat input doesn't regain focus after a reply finishesForse già presa @GaijinSystems l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
zeroclaw-labs/zeroclaw#11658 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
babylonlabs-io/babylon-toolkit#2711 ·
I maintainer di solito rispondono entro 1 giorno