OSGeo / grass

GRASS GIS - free and open-source geospatial processing engine
https://grass.osgeo.org
Other
853 stars 311 forks source link

[Bug] Unable to Run v.clean from GUI, wxAssertionError #3055

Closed esnyder-rve closed 1 year ago

esnyder-rve commented 1 year ago

Describe the bug Attempting to run v.clean from the GRASS GUI, and I get this in the console:

Traceback (most recent call last):
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\gui_core\treeview.py", line 73, in <lambda>

lambda evt: self._emitSignal(evt.GetItem(), self.itemActivated),
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\gui_core\treeview.py", line 200, in _emitSignal

signal.emit(node=node, **kwargs)
  File "C:\OSGeo4W\apps\grass\grass82\etc\python\grass\pydispatch\signal.py", line 233, in emit

dispatcher.send(signal=self, *args, **kwargs)
  File "C:\OSGeo4W\apps\grass\grass82\etc\python\grass\pydispatch\dispatcher.py", line 344, in send

response = robustapply.robustApply(
  File "C:\OSGeo4W\apps\grass\grass82\etc\python\grass\pydispatch\robustapply.py", line 60, in robustApply

return receiver(*arguments, **named)
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\gui_core\menu.py", line 189, in <lambda>

self._tree.itemActivated.connect(lambda node: self.Run(node))
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\gui_core\menu.py", line 261, in Run

eval(handler)(event=None, cmd=data["command"].split())
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\lmgr\frame.py", line 1742, in OnVectorCleaning

win = VectorCleaningFrame(parent=self)
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\modules\vclean.py", line 194, in __init__

self._layout()
  File "C:\OSGeo4W\apps\grass\grass82\gui\wxpython\modules\vclean.py", line 327, in _layout

self.panel.SetSizer(sizer)
wx._core.wxAssertionError:
C++ assertion "CheckExpectedParentIs(w, m_containingWindow)"
failed at D:\src\osgeo4w\src\wxwidgets\wxwidgets-3.2.1\src\common\sizer.cpp(887) in wxSizer::SetContainingWindow():
Windows managed by the sizer associated with the given window must have this window as parent, otherwise they will not be repositioned correctly.
Please use the window wxPanel@00000225B0F51BB0 ("panel", HWND=0000000000050B6C) with which this sizer is associated, as the parent when creating the window
wxStaticLine@00000225B10A6490 ("staticLine", HWND=0000000000030EC8) managed by it.

To Reproduce Steps to reproduce the behavior:

  1. Open GRASS
  2. Import dataset
  3. Attempt to run v.clean
  4. Fails

Expected behavior v.clean tool GUI shows up

Screenshots N/A

System description (please complete the following information):

System Info
GRASS version: 8.2.1
Code revision: exported
Build date: 2023-05-12
Build platform: x86_64-w64-mingw32
GDAL: 3.7.0
PROJ: 9.2.0
GEOS: 3.11.2
SQLite: 3.41.1
Python: 3.9.5
wxPython: 4.2.0
Platform: Windows-10-10.0.19045-SP0 (OSGeo4W)

Additional context None

tmszi commented 1 year ago

I confirm this behavior for 8.2.1 release (all OS platforms). Bug happens if you try launch v.clean module from GRASS GIS main menu or from Tools tab modules tree.

Quick fix:

  1. Try to launch v.clean module from GUI console

launc_v_clean_from_console

  1. Try to launch v.clean module from command-line CMD (OS MS Windows)
tmszi commented 1 year ago

Closed by PR #3056.