Model Editor in Infinite Loading State with no error message

Offen
#3,642 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
typescript, vscode

Rechercherichtung

Beginne damit, die beiden Szenarien mit der verlinkten Java-Beispielanwendung zu reproduzieren, und untersuche dann den Model Editor-Flow sowie die Logs der Extension und des CodeQL Query Server rund um ApplicationModeEndpoints.ql und FrameworkModeEndpoints.ql. Abgeschlossen ist die Aufgabe, wenn beide Fehlerfälle einen hilfreichen Fehler anzeigen, anstatt das Java-Modellierungsfenster unendlich lange laden zu lassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug VSCode

Describe the bug
Under some specific circumstance(s) the model editor gets into an infinite loading state, with no error message about what has gone wrong.

Version
The CodeQL and VS Code version in which the bug occurs.

VSCode CodeQL Extension version - v1.13.1
CodeQL CLI versions tested with: 2.16.3, 2.17.1, 2.17.4, 2.17.5

To reproduce
There are 2 scenarios where I have observed this. In scenario 1 , I admit that I am aware of the fact that the database has a missing file, and then perhaps this behaviour makes sense? (though I still think it would be hard to debug without an error message). In scenario 2, I do not know what the underlying issue is.

Both scenarios use the sample Java app in this repo

Scenario 1)

  1. perform:
javac SampleInner.java
codeql database create -l java databasenoinnerpresent --command='javac Sample.java'

successfully creates a database with no SampleInner.java file (probably this causes the silent error?)

  1. load the database into the editor
  2. open the model editor

end of CodeQL Query Server log shows:

[2024-06-17 16:31:43] (1s) Unpausing evaluation
[2024-06-17 16:31:43] Evaluation of /Users/knewbury/.codeql/packages/codeql/java-queries/1.0.1/utils/modeleditor/ApplicationModeEndpoints.ql produced BQRS results.

CodeQL Extension log tail:

CLI command succeeded.
Reading bqrs data using CodeQL CLI: bqrs decode -v --log-to-stderr --format json --entities=url,string --result-set #select /var/folders/2k/tdmj1d890_30b043s71nvt300000gn/T/queries_-16970-NvOnULt5vTtW/model-editor-results/ApplicationModeEndpoints.ql-48t4dwCRwNoDw-qj70hyb/results.bqrs...

CLI command succeeded.

Scenario 2)

  1. perform:
javac SampleInner.java
codeql database create -l java databaseinnerpresent --command='javac -cp . Sample.java'

successfully creates a database with both, as expected, Sample.java and SampleInner.java file

  1. load the database into the editor
  2. open the model editor
  3. select "Model as Dependency"

end of CodeQL Query Server log shows:

[2024-06-17 16:16:50] (0s) Unpausing evaluation
[2024-06-17 16:16:50] Evaluation of /Users/knewbury/.codeql/packages/codeql/java-queries/1.0.1/utils/modeleditor/FrameworkModeEndpoints.ql produced BQRS results.

CodeQL Extension log tail:

CLI command succeeded.
Reading bqrs data using CodeQL CLI: bqrs decode -v --log-to-stderr --format json --entities=url,string --result-set #select /var/folders/2k/tdmj1d890_30b043s71nvt300000gn/T/queries_-16970-NvOnULt5vTtW/model-editor-results/FrameworkModeEndpoints.ql-IAvaxSoFVfUsZFMsOlDMj/results.bqrs...

CLI command succeeded.

both yield a infinite Modelling Java panel like:

Image

Expected behavior
I expect a failure message to display so that the reasons for the hang can be fixed (ie if there is something wrong with a database then how would a user know that unless there is some error message). I am not currently sure why I cannot model the database in the example as a dependency...

Additional context
Add any other context about the problem here.

Vorherrschende Sprache
TypeScript
Sterne
539
Forks
240
Ø Merge
2 T. 6 Std.
Gemergte PRs (30 T.)
29

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/vscode-codeql

Alle Issues in github/vscode-codeql

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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