Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] grass78 --gui crash with wxPython-4.0.7.post2 #1261

Closed
kikislater opened this issue Jan 20, 2021 · 17 comments
Closed

[Bug] grass78 --gui crash with wxPython-4.0.7.post2 #1261

kikislater opened this issue Jan 20, 2021 · 17 comments
Labels
bug Something isn't working

Comments

@kikislater
Copy link
Contributor

Describe the bug
GUI crash

To Reproduce
Steps to reproduce the behavior:

  1. Launch grass78 from terminal
  2. open a project location
  3. Play with GUI like checking Help > About or just wait without playing with gui (delay vary)
  4. GUI crash with no message in terminal
  5. Output from terminal with crtl+d to exit session :
$ grass78 
Default locale not found, using UTF-8
Default locale settings are missing. GRASS running with C locale.
Starting GRASS GIS...
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.mapset -l location=Maurice gisdbase=/home/sylvain/SIG/GRASSDB
D1/1: grass.script.core.start_command(): g.mapset -l location=Maurice gisdbase=/home/sylvain/SIG/GRASSDB
D1/1: grass.script.core.start_command(): g.gisenv set=GISDBASE=/home/sylvain/SIG/GRASSDB
D1/1: grass.script.core.start_command(): g.gisenv set=LOCATION_NAME=Maurice
D1/1: grass.script.core.start_command(): g.gisenv set=MAPSET=ecozone
Cleaning up temporary files...
D1/1: G_set_program_name(): clean_temp

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

Welcome to GRASS GIS 7.8.5
GRASS GIS 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...
D1/1: G_set_program_name(): g.gisenv
GRASS 7.8.5 (Maurice):~ > D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.version -rge
D1/1: G_set_program_name(): g.version
D1/1: grass.script.core.start_command(): g.message -d message=toolboxes.getMenudataFile: main_menu.xml, menudata.xml, /opt/grass/gui/wxpython/xml/menudata.xml debug=1
D1/1: G_set_program_name(): g.message
D1/1: toolboxes.getMenudataFile: main_menu.xml, menudata.xml, /opt/grass/gui/wxpython/xml/menudata.xml
D1/1: grass.script.core.start_command(): g.message -d message=toolboxes.getMenudataFile: module_tree.xml, module_tree_menudata.xml, /opt/grass/gui/wxpython/xml/module_tree_menudata.xml debug=1
D1/1: G_set_program_name(): g.message
D1/1: toolboxes.getMenudataFile: module_tree.xml, module_tree_menudata.xml, /opt/grass/gui/wxpython/xml/module_tree_menudata.xml
D1/1: grass.script.core.start_command(): g.extension --q -ag
D1/1: G_set_program_name(): g.extension
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.version -rge
D1/1: G_set_program_name(): g.version
D1/1: grass.script.core.start_command(): g.message message=List of installed extensions (modules):
D1/1: G_set_program_name(): g.message
D1/1: grass.script.core.start_command(): g.list --q -m type=raster
D1/1: G_set_program_name(): g.list
D1/1: grass.script.core.start_command(): g.list --q -m type=vector
D1/1: G_set_program_name(): g.list
D1/1: grass.script.core.start_command(): g.mapsets --q -l sep=newline
D1/1: grass.script.core.start_command(): g.mapsets --q -p sep=newline
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.proj -p
D1/1: grass.script.core.start_command(): g.region -ugpc
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv set=GUI_PID=525196
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.findfile -n element=cell file=MASK mapset=ecozone
D1/1: G_set_program_name(): g.findfile
D1/1: grass.script.core.start_command(): g.region -ugpc

D1/1: G_set_program_name(): g.gisenv
GRASS 7.8.5 (Maurice):~ > 
exit
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
Unable to close GUI. [Errno 3] No such process
D1/1: grass.script.core.start_command(): db.connect -g
D1/1: grass.script.core.start_command(): g.gisenv -n
D1/1: G_set_program_name(): g.gisenv
D1/1: grass.script.core.start_command(): g.message message=Cleaning up default sqlite database ...
D1/1: G_set_program_name(): g.message
Cleaning up default sqlite database ...
D1/1: grass.script.core.start_command(): db.execute sql=VACUUM
D1/1: G_set_program_name(): db.execute
D1/1: db_d_init_error(): SQLite
Cleaning up temporary files...
D1/1: G_set_program_name(): clean_temp
Done.

Goodbye from GRASS GIS

Expected behavior
Could use gui without crash

Screenshots
If applicable, add screenshots to help explain your problem.

System description (please complete the following information):

  • Operating System: Manjaro with PKGBUILD from AUR : https://aur.archlinux.org/packages/grass/

  • GRASS GIS version: 7.8.5

  • details about further software components

    • run g.version -rge in a GRASS GIS terminal session or check in
      the GUI menu "Help > About"
~ > g.version -rge
D1/1: G_set_program_name(): g.version
version=7.8.5
date=2020
revision=4e3f393
build_date=2021-01-20
build_platform=x86_64-pc-linux-gnu
build_off_t_size=8
libgis_revision=2021-01-20T04:18:29+00:00
libgis_date=2021-01-20T12:00:00+04:00
proj=6.3.2
gdal=3.0.4
geos=3.8.1
sqlite=3.34.0
  • run python3 -c "import sys, wx; print(sys.version); print(wx.version())"
    to print the Python and wxPython version numbers
~ > python3 -c "import sys, wx; print(sys.version); print(wx.version())"
3.9.1 (default, Dec 13 2020, 11:55:53) 
[GCC 10.2.0]
4.0.7.post2 gtk3 (phoenix) wxWidgets 3.0.5

Additional context
Add any other context about the problem here.

$ journalctl -r -p 3
-- Journal begins at Sat 2020-07-25 17:08:14 +04, ends at Wed 2021-01-20 08:49:35 +04. --
janv. 20 08:43:53 T480s systemd-coredump[525277]: Process 525196 (python3) of user 1000 dumped core.
                                                  
                                                  Stack trace of thread 525196:
                                                  #0  0x00007fa3844cdb5d PyList_New (libpython3.9.so.1.0 + 0x10eb5d)
                                                  #1  0x00007fa3800863c4 _ZN10wxPseudoDC11FindObjectsEiiiRK8wxColour (_adv.cpython-39-x86_64-linux-gnu.so + 0x923c4)
                                                  #2  0x00007fa380120039 n/a (_adv.cpython-39-x86_64-linux-gnu.so + 0x12c039)
                                                  #3  0x00007fa38450b253 n/a (libpython3.9.so.1.0 + 0x14c253)
                                                  #4  0x00007fa3844f171d _PyObject_MakeTpCall (libpython3.9.so.1.0 + 0x13271d)
                                                  #5  0x00007fa3844ed462 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x12e462)
                                                  #6  0x00007fa3844e7aaf n/a (libpython3.9.so.1.0 + 0x128aaf)
                                                  #7  0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #8  0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #9  0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #10 0x00007fa384509ae4 n/a (libpython3.9.so.1.0 + 0x14aae4)
                                                  #11 0x00007fa3830ff79b _ZN12wxPyCallback12EventThunkerER7wxEvent (_core.cpython-39-x86_64-linux-gnu.so + 0x48079b)
                                                  #12 0x00007fa3824cddde _ZN12wxEvtHandler23ProcessEventIfMatchesIdERK21wxEventTableEntryBasePS_R7wxEvent (libwx_baseu-3.0.so.0 + 0x1dedde)
                                                  #13 0x00007fa3824ce15b _ZN12wxEvtHandler23SearchDynamicEventTableER7wxEvent (libwx_baseu-3.0.so.0 + 0x1df15b)
                                                  #14 0x00007fa3824ce1f1 _ZN12wxEvtHandler11TryHereOnlyER7wxEvent (libwx_baseu-3.0.so.0 + 0x1df1f1)
                                                  #15 0x00007fa3824ce2ac _ZN12wxEvtHandler19ProcessEventLocallyER7wxEvent (libwx_baseu-3.0.so.0 + 0x1df2ac)
                                                  #16 0x00007fa3824ce382 _ZN12wxEvtHandler12ProcessEventER7wxEvent (libwx_baseu-3.0.so.0 + 0x1df382)
                                                  #17 0x00007fa383566f0c _ZN11sipwxWindow12ProcessEventER7wxEvent (_core.cpython-39-x86_64-linux-gnu.so + 0x8e7f0c)
                                                  #18 0x00007fa3824ce0d7 _ZN12wxEvtHandler18SafelyProcessEventER7wxEvent (libwx_baseu-3.0.so.0 + 0x1df0d7)
                                                  #19 0x00007fa382868914 n/a (libwx_gtk3u_core-3.0.so.0 + 0x2a2914)
                                                  #20 0x00007fa3819d3f6f n/a (libgtk-3.so.0 + 0x83f6f)
                                                  #21 0x00007fa381665052 g_closure_invoke (libgobject-2.0.so.0 + 0x13052)
                                                  #22 0x00007fa38168d9c5 n/a (libgobject-2.0.so.0 + 0x3b9c5)
                                                  #23 0x00007fa381680bcb g_signal_emit_valist (libgobject-2.0.so.0 + 0x2ebcb)
                                                  #24 0x00007fa381681b00 g_signal_emit (libgobject-2.0.so.0 + 0x2fb00)
                                                  #25 0x00007fa381c9a9f5 n/a (libgtk-3.so.0 + 0x34a9f5)
                                                  #26 0x00007fa381b32e15 n/a (libgtk-3.so.0 + 0x1e2e15)
                                                  #27 0x00007fa381b3416d gtk_main_do_event (libgtk-3.so.0 + 0x1e416d)
                                                  #28 0x00007fa38188d413 n/a (libgdk-3.so.0 + 0x3c413)
                                                  #29 0x00007fa3818de114 n/a (libgdk-3.so.0 + 0x8d114)
                                                  #30 0x00007fa381570a84 g_main_context_dispatch (libglib-2.0.so.0 + 0x52a84)
                                                  #31 0x00007fa3815c49b1 n/a (libglib-2.0.so.0 + 0xa69b1)
                                                  #32 0x00007fa38156ffd3 g_main_loop_run (libglib-2.0.so.0 + 0x51fd3)
                                                  #33 0x00007fa381b3122f gtk_main (libgtk-3.so.0 + 0x1e122f)
                                                  #34 0x00007fa382846b26 _ZN14wxGUIEventLoop5DoRunEv (libwx_gtk3u_core-3.0.so.0 + 0x280b26)
                                                  #35 0x00007fa3823a637e _ZN15wxEventLoopBase3RunEv (libwx_baseu-3.0.so.0 + 0xb737e)
                                                  #36 0x00007fa38236c766 _ZN16wxAppConsoleBase8MainLoopEv (libwx_baseu-3.0.so.0 + 0x7d766)
                                                  #37 0x00007fa383388199 n/a (_core.cpython-39-x86_64-linux-gnu.so + 0x709199)
                                                  #38 0x00007fa38450b2a2 n/a (libpython3.9.so.1.0 + 0x14c2a2)
                                                  #39 0x00007fa3844f171d _PyObject_MakeTpCall (libpython3.9.so.1.0 + 0x13271d)
                                                  #40 0x00007fa3844ed462 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x12e462)
                                                  #41 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #42 0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #43 0x00007fa3844f982e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a82e)
                                                  #44 0x00007fa3844e87b7 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1297b7)
                                                  #45 0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #46 0x00007fa3844e6c51 _PyEval_EvalCodeWithName (libpython3.9.so.1.0 + 0x127c51)
                                                  #47 0x00007fa3845a8b13 PyEval_EvalCode (libpython3.9.so.1.0 + 0x1e9b13)
                                                  #48 0x00007fa3845b8b9d n/a (libpython3.9.so.1.0 + 0x1f9b9d)
                                                  #49 0x00007fa3845b496b n/a (libpython3.9.so.1.0 + 0x1f596b)
                                                  #50 0x00007fa3844567c4 PyRun_FileExFlags (libpython3.9.so.1.0 + 0x977c4)
                                                  #51 0x00007fa38445614c PyRun_SimpleFileExFlags (libpython3.9.so.1.0 + 0x9714c)
                                                  #52 0x00007fa3845cac99 Py_RunMain (libpython3.9.so.1.0 + 0x20bc99)
                                                  #53 0x00007fa38459bba9 Py_BytesMain (libpython3.9.so.1.0 + 0x1dcba9)
                                                  #54 0x00007fa38421e152 __libc_start_main (libc.so.6 + 0x28152)
                                                  #55 0x0000558daab4904e _start (python3.9 + 0x104e)
                                                  
                                                  Stack trace of thread 525230:
                                                  #0  0x00007fa3842f0d5d syscall (libc.so.6 + 0xfad5d)
                                                  #1  0x00007fa3815bda9b g_cond_wait_until (libglib-2.0.so.0 + 0x9fa9b)
                                                  #2  0x00007fa381540853 n/a (libglib-2.0.so.0 + 0x22853)
                                                  #3  0x00007fa3815409e4 g_async_queue_timeout_pop (libglib-2.0.so.0 + 0x229e4)
                                                  #4  0x00007fa3815a0e1a n/a (libglib-2.0.so.0 + 0x82e1a)
                                                  #5  0x00007fa38159dec1 n/a (libglib-2.0.so.0 + 0x7fec1)
                                                  #6  0x00007fa3841dd3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #7  0x00007fa3842f6293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 525201:
                                                  #0  0x00007fa3842eb46f __poll (libc.so.6 + 0xf546f)
                                                  #1  0x00007fa3815c493f n/a (libglib-2.0.so.0 + 0xa693f)
                                                  #2  0x00007fa38156f2b1 g_main_context_iteration (libglib-2.0.so.0 + 0x512b1)
                                                  #3  0x00007fa38156f302 n/a (libglib-2.0.so.0 + 0x51302)
                                                  #4  0x00007fa38159dec1 n/a (libglib-2.0.so.0 + 0x7fec1)
                                                  #5  0x00007fa3841dd3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #6  0x00007fa3842f6293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 525242:
                                                  #0  0x00007fa3841e6014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                                                  #1  0x00007fa3841e6118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                                                  #2  0x00007fa3844cd51c PyThread_acquire_lock_timed (libpython3.9.so.1.0 + 0x10e51c)
                                                  #3  0x00007fa3845aeb81 n/a (libpython3.9.so.1.0 + 0x1efb81)
                                                  #4  0x00007fa3845ae77b n/a (libpython3.9.so.1.0 + 0x1ef77b)
                                                  #5  0x00007fa3844fb1da n/a (libpython3.9.so.1.0 + 0x13c1da)
                                                  #6  0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #7  0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #8  0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #9  0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #10 0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #11 0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #12 0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #13 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #14 0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #15 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #16 0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #17 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #18 0x00007fa384509ae4 n/a (libpython3.9.so.1.0 + 0x14aae4)
                                                  #19 0x00007fa3845f79b6 n/a (libpython3.9.so.1.0 + 0x2389b6)
                                                  #20 0x00007fa3845d33f4 n/a (libpython3.9.so.1.0 + 0x2143f4)
                                                  #21 0x00007fa3841dd3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #22 0x00007fa3842f6293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 525248:
                                                  #0  0x00007fa3841e6014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                                                  #1  0x00007fa3841e6118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                                                  #2  0x00007fa3844cd51c PyThread_acquire_lock_timed (libpython3.9.so.1.0 + 0x10e51c)
                                                  #3  0x00007fa3845aeb81 n/a (libpython3.9.so.1.0 + 0x1efb81)
                                                  #4  0x00007fa3845ae77b n/a (libpython3.9.so.1.0 + 0x1ef77b)
                                                  #5  0x00007fa38450b253 n/a (libpython3.9.so.1.0 + 0x14c253)
                                                  #6  0x00007fa3844f171d _PyObject_MakeTpCall (libpython3.9.so.1.0 + 0x13271d)
                                                  #7  0x00007fa3844a46e3 n/a (libpython3.9.so.1.0 + 0xe56e3)
                                                  #8  0x00007fa384425946 n/a (libpython3.9.so.1.0 + 0x66946)
                                                  #9  0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #10 0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #11 0x00007fa3845a8ee4 n/a (libpython3.9.so.1.0 + 0x1e9ee4)
                                                  #12 0x00007fa384425946 n/a (libpython3.9.so.1.0 + 0x66946)
                                                  #13 0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #14 0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #15 0x00007fa3845a8ee4 n/a (libpython3.9.so.1.0 + 0x1e9ee4)
                                                  #16 0x00007fa384425946 n/a (libpython3.9.so.1.0 + 0x66946)
                                                  #17 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #18 0x00007fa3845098e4 n/a (libpython3.9.so.1.0 + 0x14a8e4)
                                                  #19 0x00007fa3845a8ee4 n/a (libpython3.9.so.1.0 + 0x1e9ee4)
                                                  #20 0x00007fa384425a3f n/a (libpython3.9.so.1.0 + 0x66a3f)
                                                  #21 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #22 0x00007fa3845098e4 n/a (libpython3.9.so.1.0 + 0x14a8e4)
                                                  #23 0x00007fa3844ecd7e _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x12dd7e)
                                                  #24 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #25 0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #26 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #27 0x00007fa384509ae4 n/a (libpython3.9.so.1.0 + 0x14aae4)
                                                  #28 0x00007fa3845f79b6 n/a (libpython3.9.so.1.0 + 0x2389b6)
                                                  #29 0x00007fa3845d33f4 n/a (libpython3.9.so.1.0 + 0x2143f4)
                                                  #30 0x00007fa3841dd3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #31 0x00007fa3842f6293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 525202:
                                                  #0  0x00007fa3842eb46f __poll (libc.so.6 + 0xf546f)
                                                  #1  0x00007fa3815c493f n/a (libglib-2.0.so.0 + 0xa693f)
                                                  #2  0x00007fa38156ffd3 g_main_loop_run (libglib-2.0.so.0 + 0x51fd3)
                                                  #3  0x00007fa3811c8fe8 n/a (libgio-2.0.so.0 + 0x101fe8)
                                                  #4  0x00007fa38159dec1 n/a (libglib-2.0.so.0 + 0x7fec1)
                                                  #5  0x00007fa3841dd3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #6  0x00007fa3842f6293 __clone (libc.so.6 + 0x100293)
                                                  
                                                  Stack trace of thread 525256:
                                                  #0  0x00007fa3841e6014 do_futex_wait.constprop.0 (libpthread.so.0 + 0x12014)
                                                  #1  0x00007fa3841e6118 __new_sem_wait_slow.constprop.0 (libpthread.so.0 + 0x12118)
                                                  #2  0x00007fa3844cd51c PyThread_acquire_lock_timed (libpython3.9.so.1.0 + 0x10e51c)
                                                  #3  0x00007fa3845aeb81 n/a (libpython3.9.so.1.0 + 0x1efb81)
                                                  #4  0x00007fa3845ae77b n/a (libpython3.9.so.1.0 + 0x1ef77b)
                                                  #5  0x00007fa38450b253 n/a (libpython3.9.so.1.0 + 0x14c253)
                                                  #6  0x00007fa3844f171d _PyObject_MakeTpCall (libpython3.9.so.1.0 + 0x13271d)
                                                  #7  0x00007fa3844a46e3 n/a (libpython3.9.so.1.0 + 0xe56e3)
                                                  #8  0x00007fa384425946 n/a (libpython3.9.so.1.0 + 0x66946)
                                                  #9  0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #10 0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #11 0x00007fa3845a8ee4 n/a (libpython3.9.so.1.0 + 0x1e9ee4)
                                                  #12 0x00007fa384425946 n/a (libpython3.9.so.1.0 + 0x66946)
                                                  #13 0x00007fa3844e728d n/a (libpython3.9.so.1.0 + 0x12828d)
                                                  #14 0x00007fa3844f940e _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a40e)
                                                  #15 0x00007fa3845a8ee4 n/a (libpython3.9.so.1.0 + 0x1e9ee4)
                                                  #16 0x00007fa384425946 n/a (libpython3.9.so.1.0 + 0x66946)
                                                  #17 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #18 0x00007fa3845098e4 n/a (libpython3.9.so.1.0 + 0x14a8e4)
                                                  #19 0x00007fa3845a8ee4 n/a (libpython3.9.so.1.0 + 0x1e9ee4)
                                                  #20 0x00007fa384425a3f n/a (libpython3.9.so.1.0 + 0x66a3f)
                                                  #21 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #22 0x00007fa3845098e4 n/a (libpython3.9.so.1.0 + 0x14a8e4)
                                                  #23 0x00007fa3844ecd7e _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x12dd7e)
                                                  #24 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #25 0x00007fa3844e89f1 _PyEval_EvalFrameDefault (libpython3.9.so.1.0 + 0x1299f1)
                                                  #26 0x00007fa3844f926a _PyFunction_Vectorcall (libpython3.9.so.1.0 + 0x13a26a)
                                                  #27 0x00007fa384509ae4 n/a (libpython3.9.so.1.0 + 0x14aae4)
                                                  #28 0x00007fa3845f79b6 n/a (libpython3.9.so.1.0 + 0x2389b6)
                                                  #29 0x00007fa3845d33f4 n/a (libpython3.9.so.1.0 + 0x2143f4)
                                                  #30 0x00007fa3841dd3e9 start_thread (libpthread.so.0 + 0x93e9)
                                                  #31 0x00007fa3842f6293 __clone (libc.so.6 + 0x100293)
@kikislater kikislater added the bug Something isn't working label Jan 20, 2021
@petrasovaa
Copy link
Contributor

It looks similar to #1123, there was a bug in wxPython with Python 3.9

@kikislater
Copy link
Contributor Author

Ok perfect thank you, I will try upgrading to 4.1.1

@kikislater
Copy link
Contributor Author

kikislater commented Jan 21, 2021

Ok no crash anymore :

python3 -c "import sys, wx; print(sys.version); print(wx.version())"
3.9.1 (default, Dec 13 2020, 11:55:53) 
[GCC 10.2.0]
4.1.1 gtk3 (phoenix) wxWidgets 3.1.5

image

Many thanks Anna @petrasovaa !
Could a warning about wxPython and python 3.9 would be added to website or in other part to alert other users ?

@kikislater kikislater changed the title [Bug] grass78 --gui crash with wxWidgets 3.0.5 [Bug] grass78 --gui crash with wxPython-4.0.7.post2 Jan 21, 2021
@petrasovaa
Copy link
Contributor

Could a warning about wxPython and python 3.9 would be added to website or in other part to alert other users ?

Hm, we don't have a dedicated place for warning users about these issues, they become obsolete quickly. But if we keep releasing broken versions (#1218) it's probably time to start thinking about some "GRASS status". I just don't want this to be the first thing people see on the website.

@Viech
Copy link
Contributor

Viech commented Jan 27, 2021

I contacted a maintainer of the Arch Linux package for wxPython (which I assume is the same as the Manjaro package) and asked why it hasn't been updated for so long. They said that they didn't get newer versions to compile and didn't have the time to resolve the issue. I'm trying to get the official PKGBUILD updated to version 4.1.1 to open a merge request at the maintainer's personal repository but it proves to be difficult. @kikislater, do you happen to have a working PKGBUILD or did you end up installing via pip?

@kikislater
Copy link
Contributor Author

kikislater commented Jan 28, 2021

I opened a bug as well on archlinux bug reports : https://bugs.archlinux.org/task/69393?project=5&string=python-wxpython
Feel free to comment, it could improve situation : more users affected more upstream updates.
Here PKGBUILD I modified (It doesn't build with --use_syswx that's the main modification from original package in 4.0.7) :

[Removed]

if you need built package let me know !

@Viech
Copy link
Contributor

Viech commented Jan 28, 2021

This looks much better than my attempt (I've tried to glue together a bunch of tarballs from GitHub instead of just sticking to pythonhosted…) but I'm running into the following issue:

Command '…/python-wxpython/src/wxPython-4.1.1/build/wxbld/gtk3/wx-config-gtk3 --cflags' failed with exit code 127.
/bin/sh: line 1: …/python-wxpython/src/wxPython-4.1.1/build/wxbld/gtk3/wx-config-gtk3: No such file or directory

I'll see if I can get this to work reliably.

@kikislater
Copy link
Contributor Author

Catch it ! Sorry I did several tests and previous one was not the correct one

# Maintainer: Filipe Laíns (FFY00) <lains@archlinux.org>
# Contributor: Eric Bélanger <eric@archlinux.org>

pkgname=python-wxpython
_pkgname=wxPython
pkgver=4.1.1
pkgrel=1
pkgdesc='Cross-platform GUI toolkit'
arch=('x86_64')
license=('custom:wxWindows')
url='https://www.wxpython.org'
depends=('wxgtk3' 'python-six')
optdepends=('python-pypubsub: Alternative to the deprecated wx.lib.pubsub API')
makedepends=('mesa' 'glu' 'webkit2gtk' 'python-requests' 'python-setuptools')
checkdepends=('xorg-server-xvfb' 'python-pytest-forked' 'python-numpy')
source=("https://files.pythonhosted.org/packages/source/w/wxPython/wxPython-$pkgver.tar.gz")
sha512sums=('00924008b97bbecb824c3fffd46fc76a5a3115d9346eb95baccc6cca99c080aa80b586af42fece8a3b4d234f2d07ffa8b66b50a164c41cbd95abc9b139c32809')

prepare() {
sed -i "s|WX_CONFIG = 'wx-config'|WX_CONFIG = 'wx-config-gtk3'|" $_pkgname-$pkgver/build.py
}

build() {
  cd $_pkgname-$pkgver

#  python build.py build --release --use_syswx
  python build.py build --release
}

check() {
  cd $_pkgname-$pkgver

  # there are segfaulting tests so --forked ensures we get sensible results
  PYTHONPATH=$PWD xvfb-run pytest --forked unittests || echo "==> WARNING: tests usually fail randomly"
}

package() {
  cd $_pkgname-$pkgver

  python build.py install --destdir="$pkgdir"
  #/usr/bin/pip install "$_pkgname"=="$pkgver" --destdir="$pkgdir"

  install -Dm 644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
  find "$pkgdir/usr/lib" -type f | xargs chmod 644
}

@Viech
Copy link
Contributor

Viech commented Jan 29, 2021

Thanks, this one appears to work. I'll propose this for upstream inclusion tomorrow. Do you want to be credited 1) as a contributor in the PKGBUILD and/or 2) as a commit author? Also I'll see if I can identify any changes in the required dependencies.

@kikislater
Copy link
Contributor Author

kikislater commented Jan 29, 2021

Good ! Glad to contribute and help some users ;-)
(I think freecad users have same kind of issues as well but I'm more involved in GIS than CAD ...)

I don't think it will be accepted as I don't use syswx in this PKGBUILD that's why I didn't push commit. In wxPython 4.1 they change some declarations about wx detection and as we have 2 packages for wxgtk (wxgtk2 and wxgtk3) depending on gtk version in archlinux based distributions' it needs some tweak. Replacing wx-config to wx-config-gtk3 in prepare of pkgbuild is indeed needed. Need to explore more if it needs to change more wx-config declarations to get --use-syswx in wxPython 4.1, that was my attempt with previous pkgbuild ... Btw feel free to credit me ;-)

Link to --use-wxsys issue : wxWidgets/Phoenix#1911

@Viech
Copy link
Contributor

Viech commented Jan 29, 2021

Alright, then let's first ask @Foxboron whether upgrading python-wxpython from 4.0.7 to 4.1.1 at the cost of dropping --use-syswx would be acceptable.

@Foxboron
Copy link

Dropping --use-syswx should be a last resort when all other options are exhausted. How much patching would be required? Whats the maintenance burden on the patch set?

@kikislater
Copy link
Contributor Author

Well, as @swt2c said in this post : wxWidgets/Phoenix#1911 (comment) wxWidgets is also outdated since July 2020 and WxPython 4.1.1 rely on this newer version. So may be it needs to focus first on wxWidgets then WxPython ....
I flagged wxgtk-common, wxgtk2 and wxgtk3 out of date few minutes ago ...

@swt2c
Copy link

swt2c commented Jan 30, 2021

Just a heads-up...I'm now maintaining the wxPython 4.0.x branch, so if you want to stick with 4.0.x, I'm planning to do a release 4.0.8 relatively soon with this fixed.

@kikislater
Copy link
Contributor Author

Ok ... Am I alone to feel wxWidgets and wxPython released confusing ?
Btw wxWidgets 3.1.4 with wxPython 4.1.1 is a way faster than previous released ...

@swt2c
Copy link

swt2c commented Jan 30, 2021

Ok ... Am I alone to feel wxWidgets and wxPython released confusing ?
Btw wxWidgets 3.1.4 with wxPython 4.1.1 is a way faster than previous released ...

Admittedly, yes, it is a bit confusing. Back in the wxPython 3.0.x days, the version number corresponded directly to the wxWidgets release version. But for Phoenix, Robin changed it and he no longer follows wxWidgets releases but really tracks the wxWidgets master branch. There is a bit more churn as this wxWidgets branch is not stable/released, so that's why I'm maintaining 4.0.x.

@neteler
Copy link
Member

neteler commented Jan 2, 2022

@kikislater Is anything left open in this report which is directly related to the GRASS GIS code base?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants