Warnings when closing a display containing an embedded display
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- Java
- Estrellas
- 130
- Forks
- 132
- Merge medio
- 2 d 11 h
- PR fusionados (30 d)
- 19
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 ControlSystemStudio/phoebus
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ControlSystemStudio/phoebus#3983 ·
Los mantenedores suelen responder en 2 días
-
Create CONTRIBUTING.mdAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ControlSystemStudio/phoebus#3979 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
ControlSystemStudio/phoebus#3962 ·
Los mantenedores suelen responder en 2 días
-
PVA/SPVA: track SPVA version independently and move XDG keychain dir pva/<ver> -> spva/<n.n.n>Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
ControlSystemStudio/phoebus#3865 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
ControlSystemStudio/phoebus#3980 ·
Los mantenedores suelen responder en 2 días
Todos los issues de ControlSystemStudio/phoebus
Issues similares
-
agent:working follow-up
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Sanne/incus-spawn#1683 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
checkstyle/checkstyle#22210 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
521xueweihan/HelloGitHub#4105 ·
-
devops good first issue security
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
asciidoctor/asciidoctorj#1339 ·