smeerten / ssnake

A program for the analysis of NMR data.
Other
19 stars 15 forks source link

Segmentation Fault in with Linux Anaconda3-2022.05 #120

Closed groenoord closed 1 year ago

groenoord commented 1 year ago

Latest development version works fine in Linux Anaconda3-2021.11. However, I get a segmentation fault in Linux Anaconda3-2022.05.

smeerten commented 1 year ago

I tried a fresh install of ssNake on Debian 10 using Anaconda3-2022.05 and this does not show this issue. It might be related to the specific package versions that are installed. Could you provide some additional information about your install, such as the versions of the following packages: python, numpy, scipy, matplotlib, and pyqt

groenoord commented 1 year ago

I am using AlmaLinux 8.6 and I also did a fresh Anaconda3-2022.05 install, so the version of the packages would be identical to your installation. I guess it's a Anaconda/AlmaLinux combo problem. I ran coredumctl , there is probably some info there which libraries exactly cause the problem.

       PID: 61688 (python3)
       GID: 100 (users)
    Signal: 11 (SEGV)
 Timestamp: Wed 2022-09-21 15:31:02 EDT (1min 23s ago)

Command Line: /opt/anaconda-2022.05/bin/python3 /usr/local/ssnake-develop/src/ssNake.py Executable: /opt/anaconda-2022.05/bin/python3.9 Control Group: /user.slice/user-1026.slice/user@1026.service/gnome-terminal-server.service Unit: user@1026.service User Unit: gnome-terminal-server.service Slice: user-1026.slice Boot ID: e622871c5a2247efae13752e78824c38 Machine ID: ee6c6a71138e443eb5a659b4602b7656 Storage: /var/lib/systemd/coredump/core.python3.1026.e622871c5a2247efae13752e78824c38.61688.1663788662000000.lz4 Message: Process 61688 (python3) of user 1026 dumped core.

            Stack trace of thread 61688:
            #0  0x00007f9d840bf984 _ZNK4llvm4Pass11getAnalysisINS_24DominatorTreeWrapperPassEEERT_v (libLLVM-13.so)
            #1  0x00007f9d615d3079 _ZN12RefPrunePass15runDiamondPruneERN4llvm8FunctionE (libllvmlite.so)
            #2  0x00007f9d615d3e63 _ZN12RefPrunePass13runOnFunctionERN4llvm8FunctionE (libllvmlite.so)
            #3  0x00007f9d5c7b75df _ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE (libLLVM-11.so)
            #4  0x00007f9d5c7b7775 _ZN4llvm6legacy23FunctionPassManagerImpl3runERNS_8FunctionE (libLLVM-11.so)
            #5  0x00007f9d5c7b79d7 _ZN4llvm6legacy19FunctionPassManager3runERNS_8FunctionE (libLLVM-11.so)
            #6  0x00007f9d5c702cba LLVMRunFunctionPassManager (libLLVM-11.so)
            #7  0x00007f9da6c0d9dd ffi_call_unix64 (libffi.so.7)
            #8  0x00007f9da6c0d067 ffi_call_int (libffi.so.7)
            #9  0x00007f9da6c270f6 _call_function_pointer (_ctypes.cpython-39-x86_64-linux-gnu.so)
            #10 0x00007f9da6c2741f PyCFuncPtr_call (_ctypes.cpython-39-x86_64-linux-gnu.so)
            #11 0x0000559f8f6abac9 _PyObject_Call (python3.9)
            #12 0x0000559f8f73d9f0 PyObject_Call (python3.9)
            #13 0x0000559f8f6fc663 _PyEval_EvalFrame (python3.9)
            #14 0x0000559f8f6fd354 _PyFunction_Vectorcall (python3.9)
            #15 0x0000559f8f6e7eca _PyObject_FastCallDictTstate (python3.9)
            #16 0x0000559f8f6f1a15 _PyObject_Call_Prepend (python3.9)
            #17 0x0000559f8f6a1caf _PyObject_MakeTpCall (python3.9)
            #18 0x0000559f8f73fd89 _PyObject_VectorcallTstate (python3.9)
            #19 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #20 0x0000559f8f66572f _PyObject_VectorcallTstate (python3.9)
            #21 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #22 0x0000559f8f66572f _PyObject_VectorcallTstate (python3.9)
            #23 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #24 0x0000559f8f66572f _PyObject_VectorcallTstate (python3.9)
            #25 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #26 0x0000559f8f66572f _PyObject_VectorcallTstate (python3.9)
            #27 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #28 0x0000559f8f665755 _PyObject_VectorcallTstate (python3.9)
            #29 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #30 0x0000559f8f6aba7a PyVectorcall_Call (python3.9)
            #31 0x0000559f8f73d9f0 PyObject_Call (python3.9)
            #32 0x0000559f8f6fc663 _PyEval_EvalFrame (python3.9)
            #33 0x0000559f8f6fd354 _PyFunction_Vectorcall (python3.9)
            #34 0x0000559f8f66572f _PyObject_VectorcallTstate (python3.9)
            #35 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #36 0x0000559f8f6aba7a PyVectorcall_Call (python3.9)
            #37 0x0000559f8f73d9f0 PyObject_Call (python3.9)
            #38 0x0000559f8f6fc663 _PyEval_EvalFrame (python3.9)
            #39 0x0000559f8f6fd354 _PyFunction_Vectorcall (python3.9)
            #40 0x0000559f8f66572f _PyObject_VectorcallTstate (python3.9)
            #41 0x0000559f8f6fdbf9 _PyEval_EvalFrame (python3.9)
            #42 0x0000559f8f665755 _PyObject_VectorcallTstate (python3.9)
            #43 0x0000559f8f6fc663 _PyEval_EvalFrame (python3.9)
            #44 0x0000559f8f6fd354 _PyFunction_Vectorcall (python3.9)
            #45 0x0000559f8f6e7eca _PyObject_FastCallDictTstate (python3.9)
            #46 0x0000559f8f6f1b79 _PyObject_Call_Prepend (python3.9)
            #47 0x0000559f8f6a1d5f type_call (python3.9)
            #48 0x0000559f8f73fd89 _PyObject_VectorcallTstate (python3.9)
            #49 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #50 0x0000559f8f665755 _PyObject_VectorcallTstate (python3.9)
            #51 0x0000559f8f6fc663 _PyEval_EvalFrame (python3.9)
            #52 0x0000559f8f6fd354 _PyFunction_Vectorcall (python3.9)
            #53 0x0000559f8f63d1b9 _PyObject_VectorcallTstate (python3.9)
            #54 0x0000559f8f7be988 PyObject_CallFunctionObjArgs (python3.9)
            #55 0x0000559f8f6f6983 _PyObject_GenericGetAttrWithDict (python3.9)
            #56 0x0000559f8f73bd40 _PyEval_EvalFrameDefault (python3.9)
            #57 0x0000559f8f6fd284 _PyEval_EvalFrame (python3.9)
            #58 0x0000559f8f6d2044 _PyObject_VectorcallTstate (python3.9)
            #59 0x0000559f8f6f68c6 _PyObject_GenericGetAttrWithDict (python3.9)
            #60 0x0000559f8f73bd40 _PyEval_EvalFrameDefault (python3.9)
            #61 0x0000559f8f6fc663 _PyEval_EvalFrame (python3.9)
            #62 0x0000559f8f6fd3c4 _PyFunction_Vectorcall (python3.9)
            #63 0x0000559f8f6e7f4e _PyObject_FastCallDictTstate (python3.9)

            Stack trace of thread 61698:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61696:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61689:
            #0  0x00007f9db8ff5ac1 __poll (libc.so.6)
            #1  0x00007f9dab99d6a0 _xcb_conn_wait (libxcb.so.1)
            #2  0x00007f9dab99f1ab xcb_wait_for_event (libxcb.so.1)
            #3  0x00007f9d97e3db38 n/a (libQt5XcbQpa.so.5)
            #4  0x00007f9daa99b89d n/a (libQt5Core.so.5)
            #5  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #6  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61697:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61695:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61692:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61694:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61693:
            #0  0x00007f9db92a444c pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
            #1  0x00007f9d8e4930db util_queue_thread_func (iris_dri.so)
            #2  0x00007f9d8e492e5b impl_thrd_routine (iris_dri.so)
            #3  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #4  0x00007f9db8f0add3 __clone (libc.so.6)

            Stack trace of thread 61690:
            #0  0x00007f9db8ff5ac1 __poll (libc.so.6)
            #1  0x00007f9dab2eaff3 g_main_context_iterate.isra.23 (libglib-2.0.so.0)
            #2  0x00007f9dab2eb10e g_main_context_iteration (libglib-2.0.so.0)
            #3  0x00007f9daaad28df _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
            #4  0x00007f9daaaa2eb7 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
            #5  0x00007f9daa998978 _ZN7QThread4execEv (libQt5Core.so.5)
            #6  0x00007f9d97dba707 n/a (libQt5DBus.so.5)
            #7  0x00007f9daa99b89d n/a (libQt5Core.so.5)
            #8  0x00007f9db929e1cf start_thread (libpthread.so.0)
            #9  0x00007f9db8f0add3 __clone (libc.so.6)
smeerten commented 1 year ago

The last part of the stack trace seems to indicate that the issue originates from Qt5. Could you check the Qt5 version you are running? You can determine this by running the following code in your python interpreter:

from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR
print("Qt: v", QT_VERSION_STR, "\tPyQt: v", PYQT_VERSION_STR)
groenoord commented 1 year ago

I tried Anaconda3-2022.10 which has the same problem. The output of the above commands result in: Qt: v 5.15.2 PyQt: v 5.15.7

In the working Anaconda3-2021.11 I get: Qt: v 5.9.7 PyQt: v 5.9.2

wfranssen commented 1 year ago

I tested this again with AlmaLinux 8.8 and the latest anaconda (2023-07) with the develop version of ssNake. I don't encounter any problem, so I assume this is now fixed.

I believe these kind of segmentation faults are always on the side of the implementation/compile of the python libraries. So I guess this error is also something we cannot really solve as ssNake developers.

I am closing this Issue for now. Please reopen if there is any need.