[2.3.0] application crash on start using Python 3.12
When starting the app it will crash with:
2024-05-07T06:35:59+0200 systemd-coredump[132301]: [🡕] Process 132299 (nitrokeyapp) of user 1000 dumped core.
Module _datetime.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module array.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module select.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _socket.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _sha2.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _random.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _bisect.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _opcode.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _struct.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module liblzma.so.5 from rpm xz-5.4.4-1.fc39.x86_64
Module _lzma.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module libbz2.so.1 from rpm bzip2-1.0.8-16.fc39.x86_64
Module _bz2.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module zlib.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module libz.so.1 from rpm zlib-1.2.13-4.fc39.x86_64
Module binascii.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module math.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module _csv.cpython-312-x86_64-linux-gnu.so from rpm python3.12-3.12.3-2.fc39.x86_64
Module libpython3.12.so.1.0 from rpm python3.12-3.12.3-2.fc39.x86_64
Module python3.12 from rpm python3.12-3.12.3-2.fc39.x86_64
Stack trace of thread 132299:
#0 0x00007fc6c52731c4 PyType_Ready (libpython3.12.so.1.0 + 0x2731c4)
#1 0x00007fc6b7066db7 n/a (/home/<user>/Nitrokey/nitrokey-app/lib/python3.12/site-packages/shiboken6/libshiboken6.abi3.so.6.7 + 0x30db7)
ELF object binary architecture: AMD x86-64
Environment: OS: Fedora-39
rm ~/Nitrokey/nitrokey-app -rf
python3 -m venv ~/Nitrokey/nitrokey-app
~/Nitrokey/nitrokey-app/bin/pip install -U pip
~/Nitrokey/nitrokey-app/bin/pip install nitrokeyapp
~/Nitrokey/nitrokey-app/bin/nitrokeyapp
Also crashers on Manjaro (Gnome) with Python 3.12:
Traceback (most recent call last): File "/usr/bin/nitrokeyapp", line 5, in <module> from nitrokeyapp.__main__ import main ModuleNotFoundError: No module named 'nitrokeyapp'
Same for 2.3.1
I can partly confirm this problem on Python 3.12 (Fedora 40 - Python 3.12.5). Assuming you are in the freshly checked out repository this should work:
python -m venv venv
source venv/bin/activate
pip install .
python -m nitrokeyapp
There is currently a problem if you try to do the installation with Poetry, which we use as our build system. The installation fails because of a dependency that doesn't have a fitting package for Python 3.12. Fortunately, we currently replace some of the code, which lets us get rid of this dependency.
Fixed with #264.