Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Warnings when closing a display containing an embedded display

Offen
#3,788 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 2 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
java
Bereich
desktop

Rechercherichtung

Start with JFXRepresentation.java at the shutdown() method linked in the issue, then trace how parent and embedded-display disposal are scheduled on the UI thread. Reproduce closing a screen containing an embedded display and inspect the shutdown warning. Done means the disposal order no longer logs the warning while still disposing the embedded display’s widgets.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

We have noticed that we get the following warning in the console when we close a screen that contained an embedded display widget:

WARNING [org.csstudio.display.builder.representation] Display representation still contains items on shutdown: [Pane@3eba30d5]

After looking at the code this is what I think it happening:

  • When you close the (parent) screen it starts to dispose of the widgets on the screen, which includes an embedded display widget.
  • It calls dispose() on the embedded screen, which schedules a task to be run on the UI thread to dispose of the widgets in that embedded screen.
  • But the the shutting down of the parent screen continues and occupies the UI thread meaning the above task cannot run yet.
  • Before this task to dispose of the embedded display widgets has chance to run, we hit the final shutdown() method, which checks to see whether there are any children that haven't been disposed of yet. In this case there is, the embedded display, and so it logs the warning that we see in the console.
  • Shortly after we see the embedded display run through disposing of its widgets as it can now run on the UI thread.

This doesn't seem to have any impact on functionality but maybe there is a better way to handle this?

Vorherrschende Sprache
Java
Sterne
130
Forks
132
Ø Merge
2 T. 11 Std.
Gemergte PRs (30 T.)
19

Entwicklungsumgebung

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

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 ControlSystemStudio/phoebus

Alle Issues in ControlSystemStudio/phoebus

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

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