Client crash on click button in O2M

Hi,

I recently did a new build of the Tryton client series 5.0 but an unexcepted bug appeared. It worked well since my last build in 2020. I’m using MSYS2 MINGW64 for the build.
In our code, we have O2Ms in tree view with clickable buttons, but when clicking on them too quickly the client crashes - just on Windows.
image

I wonder if it’s not due to the updates of the packages and python version for the client because it worked fine so far. (before I built it with python 3.8 and now it’s 3.10)
I don’t know how to get the debug symbols when packaging the application, but I’m attaching the uncomplete Gdb backtrace that I have, and the installed packages list. (I can also post the setup_freeze.py that I’m using, and some information when running the script to build)

Is it a known bug? I haven’t seen anything is the code base on Github about a fix for this (or I missed the commit).

Would you have any ideas about this crash ? If you need more information, please let me know.

Thank you.

Gdb backtrace:

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ffe6f8fc27d in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
(gdb) bt
#0  0x00007ffe6f8fc27d in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#1  0x00007ffe6f8dc842 in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#2  0x00007ffe6957fe22 in ?? ()
   from C:\Program Files\tryton\libgdk-3-0.dll
#3  0x00007ffe6fe4d3e1 in ?? ()
   from C:\Program Files\tryton\lib\gi\_gi.cp310-mingw_x86_64.pyd
#4  0x00007ffe6fe52b68 in ?? ()
   from C:\Program Files\tryton\lib\gi\_gi.cp310-mingw_x86_64.pyd
#5  0x00007ffe6fe4ddaf in ?? ()
   from C:\Program Files\tryton\lib\gi\_gi.cp310-mingw_x86_64.pyd
#6  0x00007ffe88e24c0c in ?? ()
   from C:\Program Files\tryton\libffi-8.dll
#7  0x00007ffe88e24dbe in ?? ()
   from C:\Program Files\tryton\libffi-8.dll
#8  0x00007ffe56c93ff0 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#9  0x00007ffe56c8b1f3 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#10 0x00007ffe56c8b77d in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#11 0x00007ffe56f0170e in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#12 0x00007ffe56ef6b20 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#13 0x00007ffe6f8d8344 in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#14 0x00007ffe6f8f212c in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#15 0x00007ffe6f8f22ba in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#16 0x00007ffe56d5c86d in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#17 0x00007ffe6f8dae13 in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#18 0x00007ffe6f8d8344 in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#19 0x00007ffe6f8f212c in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#20 0x00007ffe6f8f22ba in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#21 0x00007ffe56d5918e in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#22 0x00007ffe56d5a763 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#23 0x00007ffe56d5dcad in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#24 0x00007ffe56d1ee88 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#25 0x00007ffe56f061fb in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#26 0x00007ffe56c32ebc in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#27 0x00007ffe6f8d8124 in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#28 0x00007ffe6f8eb95c in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#29 0x00007ffe6f8f1bbb in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#30 0x00007ffe6f8f22ba in ?? ()
   from C:\Program Files\tryton\libgobject-2.0-0.dll
#31 0x00007ffe56f07d32 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#32 0x00007ffe56daa179 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#33 0x00007ffe56dac077 in ?? ()
   from C:\Program Files\tryton\libgtk-3-0.dll
#34 0x00007ffe6957f679 in ?? ()
   from C:\Program Files\tryton\libgdk-3-0.dll
#35 0x00007ffe695bbc53 in ?? ()
   from C:\Program Files\tryton\libgdk-3-0.dll
#36 0x00007ffe6bd4e95c in ?? ()
   from C:\Program Files\tryton\libglib-2.0-0.dll
#37 0x00007ffe6bd519d8 in ?? ()
   from C:\Program Files\tryton\libglib-2.0-0.dll
#38 0x00007ffe6bd51cfd in ?? ()
   from C:\Program Files\tryton\libglib-2.0-0.dll
#39 0x00007ffe6a943b63 in ?? ()
   from C:\Program Files\tryton\libgio-2.0-0.dll
#40 0x00007ffe88e24c91 in ?? ()
   from C:\Program Files\tryton\libffi-8.dll
#41 0x00007ffe88e24897 in ?? ()
   from C:\Program Files\tryton\libffi-8.dll
#42 0x00007ffe88e24a72 in ?? ()
   from C:\Program Files\tryton\libffi-8.dll
#43 0x00007ffe6fe507c0 in ?? ()
   from C:\Program Files\tryton\lib\gi\_gi.cp310-mingw_x86_64.pyd
#44 0x00007ffe6fe52632 in ?? ()
   from C:\Program Files\tryton\lib\gi\_gi.cp310-mingw_x86_64.pyd
#45 0x00007ffe6bf5df73 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#46 0x00007ffe6c00b23b in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#47 0x00007ffe6c007c89 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#48 0x00007ffe6bf5d615 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#49 0x00007ffe6c009093 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#50 0x00007ffe6c007c89 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#51 0x00007ffe6bf5d615 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#52 0x00007ffe6c008d0b in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#53 0x00007ffe6c007c89 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#54 0x00007ffe6becfd96 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#55 0x00007ffe6beceb69 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#56 0x00007ffe6bf948da in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#57 0x00007ffe6c008d0b in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#58 0x00007ffe6c007c89 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#59 0x00007ffe6bf5d615 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#60 0x00007ffe6c00d2ec in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#61 0x00007ffe6c007c89 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#62 0x00007ffe6bf5d615 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#63 0x00007ffe6bf5c9b6 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#64 0x00007ffe6bf5e865 in ?? ()
   from C:\Program Files\tryton\libpython3.10.dll
#65 0x00007ff77c601daa in ?? ()
#66 0x00007ff77c6012f7 in ?? ()
#67 0x00007ff77c6013e6 in ?? ()
#68 0x00007ffe934313d2 in KERNEL32!BaseThreadInitThunk ()
   from C:\Windows\system32\kernel32.dll
#69 0x00007ffe95815504 in ntdll!RtlUserThreadStart ()
   from C:\Windows\SYSTEM32\ntdll.dll
#70 0x0000000000000000 in ?? ()

Installed packages:

base 2022.06-1
bash 5.2.015-1
bash-completion 2.11-3
brotli 1.0.9-8
bsdtar 3.6.2-3
bzip2 1.0.8-4
ca-certificates 20230311-1
coreutils 8.32-5
curl 7.88.1-1
dash 0.5.12-1
db 5.3.28-4
file 5.44-5
filesystem 2023.02.07-1
findutils 4.9.0-3
gawk 5.2.1-2
gcc-libs 11.3.0-3
gdbm 1.23-1
getent 2.18.90-4
gettext 0.21-2
gmp 6.2.1-2
gnupg 2.2.41-1
grep 1~3.0-6
gzip 1.12-2
heimdal-libs 7.8.0-3
inetutils 2.4-1
info 7.0.2-1
less 629-1
libargp 20110921-4
libasprintf 0.21-2
libassuan 2.5.5-2
libbz2 1.0.8-4
libcrypt 2.1-4
libcurl 7.88.1-1
libdb 5.3.28-4
libedit 20221030_3.1-1
libexpat 2.5.0-1
libffi 3.4.4-1
libgcrypt 1.10.1-5
libgdbm 1.23-1
libgettextpo 0.21-2
libgnutls 3.8.0-1
libgpg-error 1.46-2
libgpgme 1.18.0-4
libhogweed 3.8.1-1
libiconv 1.17-1
libidn2 2.3.4-2
libintl 0.21-2
libksba 1.6.3-1
liblz4 1.9.4-1
liblzma 5.4.1-1
libnettle 3.8.1-1
libnghttp2 1.52.0-1
libnpth 1.6-1
libopenssl 3.1.0-1
libp11-kit 0.24.1-4
libpcre 8.45-3
libpcre2_8 10.42-1
libpsl 0.21.2-1
libreadline 8.2.001-3
libsqlite 3.41.1-1
libssh2 1.10.0-3
libtasn1 4.19.0-1
libunistring 1.1-2
libutil-linux 2.35.2-3
libxml2 2.10.3-3
libxslt 1.1.37-1
libzstd 1.5.4-1
mingw-w64-x86_64-adwaita-icon-theme 44.0-1
mingw-w64-x86_64-atk 2.48.3-1
mingw-w64-x86_64-binutils 2.40-4
mingw-w64-x86_64-brotli 1.0.9-5
mingw-w64-x86_64-bzip2 1.0.8-2
mingw-w64-x86_64-cairo 1.17.8-3
mingw-w64-x86_64-crt-git 11.0.0.r18.g9df2e604d-1
mingw-w64-x86_64-egl-headers 1.5.r255.9ab6036-1
mingw-w64-x86_64-expat 2.5.0-1
mingw-w64-x86_64-fontconfig 2.14.2-1
mingw-w64-x86_64-freetype 2.13.1-1
mingw-w64-x86_64-fribidi 1.0.13-1
mingw-w64-x86_64-gcc 13.1.0-7
mingw-w64-x86_64-gcc-libs 13.1.0-7
mingw-w64-x86_64-gdb 13.2-2
mingw-w64-x86_64-gdk-pixbuf2 2.42.10-3
mingw-w64-x86_64-gettext 0.21.1-2
mingw-w64-x86_64-giflib 5.2.1-3
mingw-w64-x86_64-gles-headers 3.2.r1005.d127c30-1
mingw-w64-x86_64-glib2 2.76.4-1
mingw-w64-x86_64-gmp 6.2.1-5
mingw-w64-x86_64-gobject-introspection 1.76.1-1
mingw-w64-x86_64-gobject-introspection-runtime 1.76.1-1
mingw-w64-x86_64-goocanvas 3.0.0-4
mingw-w64-x86_64-graphite2 1.3.14-2
mingw-w64-x86_64-gtk-update-icon-cache 3.24.38.r0.g3e6fd55-1
mingw-w64-x86_64-gtk2 2.24.33-6
mingw-w64-x86_64-gtk3 3.24.38.r0.g3e6fd55-1
mingw-w64-x86_64-gtkglext 1.2.0-4
mingw-w64-x86_64-gtksourceview3 3.24.11-3
mingw-w64-x86_64-harfbuzz 8.0.1-2
mingw-w64-x86_64-headers-git 11.0.0.r18.g9df2e604d-1
mingw-w64-x86_64-hicolor-icon-theme 0.17-2
mingw-w64-x86_64-isl 0.26-1
mingw-w64-x86_64-jbigkit 2.1-4
mingw-w64-x86_64-json-glib 1.6.6-4
mingw-w64-x86_64-lerc 4.0.0-1
mingw-w64-x86_64-libcroco 0.6.13-1
mingw-w64-x86_64-libdatrie 0.2.13-3
mingw-w64-x86_64-libdeflate 1.18-1
mingw-w64-x86_64-libepoxy 1.5.10-5
mingw-w64-x86_64-libffi 3.4.4-1
mingw-w64-x86_64-libiconv 1.17-3
mingw-w64-x86_64-libjpeg-turbo 2.1.5.1-1
mingw-w64-x86_64-libpng 1.6.40-1
mingw-w64-x86_64-librsvg 2.56.2-2
mingw-w64-x86_64-libsystre 1.0.1-4
mingw-w64-x86_64-libthai 0.1.29-3
mingw-w64-x86_64-libtiff 4.5.1-2
mingw-w64-x86_64-libtre-git r128.6fb7206-2
mingw-w64-x86_64-libwebp 1.3.1-1
mingw-w64-x86_64-libwinpthread-git 11.0.0.r18.g9df2e604d-1
mingw-w64-x86_64-libxml2 2.11.4-1
mingw-w64-x86_64-lzo2 2.10-2
mingw-w64-x86_64-mpc 1.3.1-1
mingw-w64-x86_64-mpdecimal 2.5.1-1
mingw-w64-x86_64-mpfr 4.2.0.p9-1
mingw-w64-x86_64-ncurses 6.4.20230708-1
mingw-w64-x86_64-nsis 3.09-1
mingw-w64-x86_64-openssl 3.1.1-1
mingw-w64-x86_64-pango 1.50.14-3
mingw-w64-x86_64-pcre2 10.42-1
mingw-w64-x86_64-pixman 0.42.2-1
mingw-w64-x86_64-pkg-config 0.29.2-3
mingw-w64-x86_64-python 3.10.12-1
mingw-w64-x86_64-python-babel 2.12.1-1
mingw-w64-x86_64-python-beaker 1.12.1-1
mingw-w64-x86_64-python-cairo 1.24.0-1
mingw-w64-x86_64-python-cx-freeze 6.15.4-1
mingw-w64-x86_64-python-cx-logging 3.1.0-1
mingw-w64-x86_64-python-dateutil 2.8.2-3
mingw-w64-x86_64-python-gobject 3.44.1-1
mingw-w64-x86_64-python-lief 0.12.3-1
mingw-w64-x86_64-python-mako 1.2.4-1
mingw-w64-x86_64-python-markupsafe 2.1.3-1
mingw-w64-x86_64-python-pyflakes 3.0.1-1
mingw-w64-x86_64-python-pygments 2.15.1-1
mingw-w64-x86_64-python-pytz 2023.3-1
mingw-w64-x86_64-python-setuptools 67.8.0-1
mingw-w64-x86_64-python-six 1.16.0-3
mingw-w64-x86_64-readline 8.2.001-6
mingw-w64-x86_64-shared-mime-info 2.2-1
mingw-w64-x86_64-sqlite3 3.42.0-1
mingw-w64-x86_64-tcl 8.6.12-2
mingw-w64-x86_64-termcap 1.3.1-6
mingw-w64-x86_64-tk 8.6.12-2
mingw-w64-x86_64-tzdata 2023c-1
mingw-w64-x86_64-windows-default-manifest 6.4-4
mingw-w64-x86_64-wineditline 2.206-1
mingw-w64-x86_64-winpthreads-git 11.0.0.r18.g9df2e604d-1
mingw-w64-x86_64-xxhash 0.8.1-2
mingw-w64-x86_64-xz 5.4.3-1
mingw-w64-x86_64-zlib 1.2.13-3
mingw-w64-x86_64-zstd 1.5.5-1
mintty 1~3.6.4-1
mpfr 4.2.0-2
msys2-keyring 1~20230316-1
msys2-launcher 1.5-1
msys2-runtime 3.4.7-2
nano 7.2-1
ncurses 6.4-1
nettle 3.8.1-1
openssl 3.1.0-1
p11-kit 0.24.1-4
pacman 6.0.2-6
pacman-contrib 1.8.2-1
pacman-mirrors 20221016-1
perl 5.36.0-1
pinentry 1.2.1-1
rebase 4.5.0-2
sed 4.9-1
tar 1.34-3
tcl 8.6.12-1
time 1.9-3
tzcode 2022g-1
util-linux 2.35.2-3
wget 1.21.3-2
which 2.21-4
xz 5.4.1-1
zlib 1.2.13-1
zstd 1.5.4-1

Series 5.0 is at the end of its life (by the end of the year). Officially it supports only Python between 3.4 and 3.7.

Can you reproduce by just running it from source code (without freezing it)? This usually provides better traceback.
Do you have the same issue with the official build?

I’m sorry, how do you do that ? I tried ‘python -m pdb tryton/client’.py or ‘gdb source’ it. None gave me the possiblity to print a bracktrace.

My sources are based on the client 5.0.9, I downloaded it (from here https://downloads.tryton.org/5.0/) and I tried again and sadly I got the same crash.

Just run bin/tryton

You are missing 46 bug-fix releases. Try with the last bug-fix release first.

Yes I could reproduce the bug by running bin/tryton. No better traceback.

Just installed and tried the version 5.0.55. Got an error this time:

‘ViewTree’ object has no attribute ‘record’
File “C:/msys64/home/ced/tryton-5.0/tryton/tryton/gui/window/view_form/view/list_gtk/widget.py”, line 1012, in button_clicked

Also crashed after few clicks on a button of a O2M list.

It seems that the backport of 58e384fcce26 is not compatible for series 5.0.
Can you fill a bug report?

Sure, do you have link where to do it ? Thanks

For the record Crash when clicking a button on a O2M list view (#12413) · Issues · Tryton / Tryton · GitLab