Skip to content

[Bug] The wxGUI animation, timeline, tplot window don't terminated correctly after exiting GRASS GIS #6400

@tmszi

Description

@tmszi

Describe the bug

The wxGUI animation, timeline, tplot window don't terminated correctly after exiting GRASS GIS.

To reproduce

  1. Launch wxGUI
  2. From the main window menu launch Temporal -> GUI Tools -> Animation or Timeline or Temporal tool
  3. Switch back focus on the main widow
  4. Trigger GRASS GIS quit dialog via keyboard shortcut Ctrl + Q or via main menu File -> Quit GRASS
  5. Hit Quit GRASS button
  6. GRASS GIS quit successfuly with shell (see emulator terminal GRASS GIS output messages)
tomas@gentoo-gnu-linux:~$ grass
Starting GRASS...

                   __________  ___   __________
                  / ____/ __ \/   | / ___/ ___/
                 / / __/ /_/ / /| | \__ \\_  \
                / /_/ / _, _/ ___ |___/ /__/ /
                \____/_/ |_/_/  |_/____/____/

Welcome to GRASS 8.5.0dev (92dc5b87fe)
GRASS homepage:                          https://grass.osgeo.org
This version running through:            Bash Shell (/bin/bash)
Help is available with the command:      g.manual -i
See the licence terms with:              g.version -c
See citation options with:               g.version -x
If required, restart the GUI with:       g.gui wxpython
When ready to quit enter:                exit

Launching <wxpython> GUI in the background, please wait...
GRASS tmpproject/PERMANENT:~ > 
exit
Done.

Goodbye from GRASS
  1. But wxGUI Animation or Timeline or Temporal tool window is in the "freeze" state
  2. Check the wxGUI processes with ps command
tomas@gentoo-gnu-linux:~$ ps aux | grep wxgui
tomas    12990  0.0  0.5 1951328 89580 pts/18  S    06:08   0:00 /usr/bin/python3.13 /usr/lib64/grass85/gui/wxpython/wxgui.py
tomas    12991  0.0  0.5 1951332 90168 pts/18  S    06:08   0:00 /usr/bin/python3.13 /usr/lib64/grass85/gui/wxpython/wxgui.py

You need manually kill these processes

tomas@gentoo-gnu-linux:~$ kill 12990 12991

tomas@gentoo-gnu-linux:~$ ps aux | grep wxgui
tomas     8530  0.0  0.0   9676  2140 pts/18   S+   06:42   0:00 grep --color=auto wxgui

Expected behavior

The wxGUI animation, timeline, tplot window should be terminated correctly after exiting GRASS GIS.

System description

  • Operating System: all
  • GRASS version: all

Additional context

The common feature of those wxGUI Animation, Timeline and Temporal tool is the initialization of the temporal framework tgis.init() (start messenger and C-interface subprocesses). We need stop the tgis messenger and C-interface subprocesses before sending SIGTERM signal (Quit GRASS).

tomas@gentoo-gnu-linux:~$ find src/grass/gui/wxpython/ -type f -name frame.py -exec grep -H "tgis.init(" {} +
src/grass/gui/wxpython/tplot/frame.py:        tgis.init(True)
src/grass/gui/wxpython/animation/frame.py:            tgis.init()
src/grass/gui/wxpython/timeline/frame.py:        tgis.init(True)

Metadata

Metadata

Assignees

Labels

GUIwxGUI relatedbackport to 8.4PR needs to be backported to release branch 8.4bugSomething isn't workingtemporalRelated to temporal data processing

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions