Crash on recalculating background
I can reproduce a crash at certain conditions:
- use OMERO as image source
- set a gel and attach one image to it
- for that image, set background subtraction with rolling ball
- close application
- wipe away cache
- start application and observe crash after image is loaded, but bg not subtracted
STDOUT:
2022-07-19 08:49:36,147 [INFO] omero.util.Resources: Starting
2022-07-19 08:49:36,147 [INFO] omero.util.Resources: Starting
2022-07-19 08:49:40,691 [DEBUG] iocbio.gel.application.thread.thread_pool: Starting job RollingBall[1/ball/30/None/False]
2022-07-19 08:49:40,691 [DEBUG] iocbio.gel.application.thread.thread_pool: Starting job FetchImageFromOmero[2/2768]
2022-07-19 08:49:47,713 [DEBUG] iocbio.gel.application.thread.thread_pool: Finished job RollingBall[1/ball/30/None/False]
2022-07-19 08:50:02,663 [DEBUG] iocbio.gel.application.thread.thread_pool: Finished job FetchImageFromOmero[2/2768]
2022-07-19 08:50:02,664 [DEBUG] iocbio.gel.application.thread.thread_pool: Starting job FetchImageFromOmero[3/2792]
TIFFReadDirectory: Warning, Unknown field with tag 50838 (0xc696) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50839 (0xc697) encountered.
TIFFReadDirectory: Warning, Incorrect count for "ColorMap"; tag ignored.
TIFFReadDirectory: Warning, Unknown field with tag 50838 (0xc696) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50839 (0xc697) encountered.
TIFFReadDirectory: Warning, Incorrect count for "ColorMap"; tag ignored.
[1] 784718 segmentation fault (core dumped) .venv/bin/iocbio-gel
Backtrace
0x00007fffdfa3bb68 in QMetaObject::disconnect(QObject const*, int, QObject const*, int) () from /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
(gdb) bt
#0 0x00007fffdfa3bb68 in QMetaObject::disconnect(QObject const*, int, QObject const*, int) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#1 0x00007fffdff3d0ec in () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.3
#2 0x00007fffdff498ea in PySide::qobjectConnectCallback(QObject*, char const*, _object*, Qt::ConnectionType) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.3
#3 0x00007fffe0138151 in () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/QtCore.abi3.so
#4 0x00007ffff7d35743 in () at /usr/lib64/libpython3.10.so.1.0
#5 0x00007ffff7cf7b35 in _PyObject_Call () at /usr/lib64/libpython3.10.so.1.0
#6 0x00007fffdff421b6 in () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.3
#7 0x00007ffff7d021be in () at /usr/lib64/libpython3.10.so.1.0
#8 0x00007ffff7caa9f8 in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#9 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#10 0x00007ffff7cfaa30 in () at /usr/lib64/libpython3.10.so.1.0
#11 0x00007ffff7cab094 in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#12 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#13 0x00007ffff7cfaa30 in () at /usr/lib64/libpython3.10.so.1.0
#14 0x00007ffff7cab094 in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#15 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#16 0x00007ffff7cfaa30 in () at /usr/lib64/libpython3.10.so.1.0
#17 0x00007ffff7cab094 in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#18 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#19 0x00007ffff7cfa99a in () at /usr/lib64/libpython3.10.so.1.0
#20 0x00007fffdff39ae4 in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.3
#21 0x00007fffdff3a24d in PySide::SignalManager::SignalManagerPrivate::qtMethodMetacall(QObject*, int, void**) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.3
#22 0x00007fffdfa34b8c in QObject::event(QEvent*) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#23 0x00007fffdc55b2d2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Widgets.so.6
#24 0x00007fffdf9e46ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#25 0x00007fffdf9e75e4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#26 0x00007fffdfc893b3 in () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#27 0x00007fffdd58924d in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#28 0x00007fffdd589748 in () at /usr/lib64/libglib-2.0.so.0
#29 0x00007fffdd589800 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#30 0x00007fffdfc88d3a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#31 0x00007fffdf9f096b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#32 0x00007fffdf9ec52e in QCoreApplication::exec() () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6
#33 0x00007fffdcc852a0 in () at /home/markov/code/gel/.venv/lib/python3.10/site-packages/PySide6/QtWidgets.abi3.so
#34 0x00007ffff7d35fe6 in () at /usr/lib64/libpython3.10.so.1.0
#35 0x00007ffff7cab094 in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#36 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#37 0x00007ffff7cf7a53 in PyVectorcall_Call () at /usr/lib64/libpython3.10.so.1.0
#38 0x00007ffff5091a7e in __Pyx_PyObject_CallPython Exception <class 'gdb.error'>: There is no member named dk_nentries.
(kw=, arg=(), func=<function at remote 0x7fffb9560f70>) at src/dependency_injector/_cwiring.c:13212
#39 __pyx_pf_19dependency_injector_8_cwiring_17_get_sync_patched__patchedPython Exception <class 'gdb.error'>: There is no member named dk_nentries.
(__pyx_v_kwargs=, __pyx_v_args=(), __pyx_self=<optimized out>) at src/dependency_injector/_cwiring.c:3587
#40 __pyx_pw_19dependency_injector_8_cwiring_17_get_sync_patched_1_patched (__pyx_self=<optimized out>, __pyx_args=(), __pyx_kwds=<optimized out>) at src/dependency_injector/_cwiring.c:3330
#41 0x00007ffff7cf7d91 in _PyObject_MakeTpCall () at /usr/lib64/libpython3.10.so.1.0
#42 0x00007ffff7cacf7e in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#43 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#44 0x00007ffff7caa1d7 in _PyEval_EvalFrameDefault () at /usr/lib64/libpython3.10.so.1.0
#45 0x00007ffff7dc0b58 in () at /usr/lib64/libpython3.10.so.1.0
#46 0x00007ffff7dc0d1e in PyEval_EvalCode () at /usr/lib64/libpython3.10.so.1.0
#47 0x00007ffff7e00104 in () at /usr/lib64/libpython3.10.so.1.0
#48 0x00007ffff7e0032c in () at /usr/lib64/libpython3.10.so.1.0
#49 0x00007ffff7e00410 in () at /usr/lib64/libpython3.10.so.1.0
#50 0x00007ffff7e023d0 in _PyRun_SimpleFileObject () at /usr/lib64/libpython3.10.so.1.0
#51 0x00007ffff7e02894 in _PyRun_AnyFileObject () at /usr/lib64/libpython3.10.so.1.0
#52 0x00007ffff7e1f84c in Py_RunMain () at /usr/lib64/libpython3.10.so.1.0
#53 0x00007ffff7e200a2 in Py_BytesMain () at /usr/lib64/libpython3.10.so.1.0
#54 0x00007ffff7a6f366 in () at /lib64/libc.so.6
#55 0x00007ffff7a6f422 in __libc_start_main () at /lib64/libc.so.6
#56 0x0000555555555081 in _start ()