brainvisa / axon

Brainvisa main GUI
Other
0 stars 1 forks source link

BrainVISA segmentation fault during start #84

Open nsouedet opened 1 month ago

nsouedet commented 1 month ago

Describe the bug BrainVISA segfaults at start. The bug seems to be related to new offline rendering feature on master branch. The bug does not exists on 5.1 branch which works correctly on the same machine with the same casa-dev-5.3-26.sif image.

To Reproduce Steps to reproduce the behavior:

  1. Starts brainvisa on branch master
  2. See error
    
    failed to create drawable
    failed to create drawable
    [5064:5377:0724/162000.277629:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed.
    [5064:5377:0724/162000.277658:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed
    [5064:5377:0724/162000.277670:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection.
    failed to create drawable
    [5064:5377:0724/162000.282071:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed.
    failed to create drawable
    [5064:5377:0724/162000.285304:ERROR:gl_surface_glx_qt.cpp(188)] glXCreatePbuffer failed.
    [5064:5377:0724/162000.285325:ERROR:gpu_info_collector.cc(69)] gl::GLContext::CreateOffscreenGLSurface failed
    [5064:5377:0724/162000.285334:ERROR:gpu_info_collector.cc(277)] Could not create surface for info collection.
    Fatal Python error: Segmentation fault

Thread 0x00007f785f7fe640 (most recent call first): File "/usr/lib/python3.10/threading.py", line 324 in wait File "/usr/lib/python3.10/threading.py", line 607 in wait File "/casa/host/build/python/soma_workflow/engine.py", line 558 in start_loop File "/casa/host/build/python/soma_workflow/engine.py", line 102 in run File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007f785ffff640 (most recent call first): File "/usr/lib/python3.10/threading.py", line 324 in wait File "/usr/lib/python3.10/threading.py", line 607 in wait File "/casa/host/build/python/soma_workflow/schedulers/local_scheduler.py", line 291 in _iterate File "/casa/host/build/python/soma_workflow/schedulers/local_scheduler.py", line 137 in loop File "/usr/lib/python3.10/threading.py", line 953 in run File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007f7864ff9640 (most recent call first): File "/casa/host/build/python/soma_workflow/schedulers/local_scheduler.py", line 205 in poll_processes File "/usr/lib/python3.10/threading.py", line 953 in run File "/usr/lib/python3.10/threading.py", line 1016 in _bootstrap_inner File "/usr/lib/python3.10/threading.py", line 973 in _bootstrap

Thread 0x00007f7aed619480 (most recent call first): File "/casa/host/build/python/soma/qt4gui/text.py", line 205 in init File "/casa/host/build/python/soma/qt4gui/text.py", line 256 in init File "/casa/host/build/python/brainvisa/processing/qt4gui/neuroProcessesGUI.py", line 974 in init File "/casa/host/build/python/brainvisa/processing/qt4gui/neuroProcessesGUI.py", line 1127 in init File "/casa/host/build/python/brainvisa/processing/qt4gui/neuroProcessesGUI.py", line 4098 in init File "/casa/host/build/python/brainvisa/processing/qt4gui/neuroProcessesGUI.py", line 4850 in showMainWindow File "/casa/host/build/python/brainvisa/neuro.py", line 130 in main File "/casa/host/build/python/brainvisa/neuro.py", line 174 in File "/usr/lib/python3.10/runpy.py", line 86 in _run_code File "/usr/lib/python3.10/runpy.py", line 196 in _run_module_as_main

Extension modules: sip, traits.ctraits, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, six.moves.builtins, soma.aims.aimssip, aimssip, scipy._lib._ccallback_c, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg.cython_lapack, scipy.linalg._cythonized_array_utils, scipy.linalg._solve_toeplitz, scipy.linalg._decomp_lu_cython, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.linalg._propack._spropack, scipy.sparse.linalg._propack._dpropack, scipy.sparse.linalg._propack._cpropack, scipy.sparse.linalg._propack._zpropack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.io.matlab._mio_utils, scipy.io.matlab._streams, scipy.io.matlab._mio5_utils, DracoPy, PIL._imaging, _cffi_backend, PyQt5.QtSql, soma.aims.aimsguisip, PyQt5.sip, PyQt5.QtWidgets, PyQt5.QtDBus, PyQt5.QtNetwork, PyQt5.QtMultimedia, PyQt5.QtQml, PyQt5.QtXml, PyQt5.QtXmlPatterns, PyQt5.QtDesigner, PyQt5.QtHelp, PyQt5.QtMultimediaWidgets, PyQt5.QtOpenGL, PyQt5.QtPrintSupport, PyQt5.QtQuick, PyQt5.QtSvg, PyQt5.QtTest, PyQt5.QtPositioning, PyQt5.QtX11Extras, PyQt5.QtQuickWidgets, PyQt5.QtWebChannel, PyQt5.QtWebKit, PyQt5.QtWebKitWidgets, PyQt5.QtWebEngineCore, PyQt5.QtWebEngineWidgets, matplotlib._c_internal_utils, matplotlib._path, kiwisolver, matplotlib._image, zmq.backend.cython.constants, zmq.backend.cython.error, zmq.backend.cython.message, zmq.backend.cython.context, zmq.backend.cython.socket, zmq.backend.cython.utils, zmq.backend.cython._poll, zmq.backend.cython._version, zmq.backend.cython._device, zmq.backend.cython._proxy_steerable, tornado.speedups, soma.somaqt, psutil._psutil_linux, psutil._psutil_posix, anatomist.cpp.anatomistsip, anatomistsip, soma.aimsalgo.aimsalgosip, aimsalgosip, sklearn.__check_build._check_build, lz4._version, lz4.frame._frame, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.spatial.transform._rotation, scipy.optimize._group_columns, scipy.optimize._trlib._trlib, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._cobyla, scipy.optimize._slsqp, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy.optimize._highs.cython.src._highs_wrapper, scipy.optimize._highs._highs_wrapper, scipy.optimize._highs.cython.src._highs_constants, scipy.optimize._highs._highs_constants, scipy.linalg._interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.optimize._direct, scipy.integrate._odepack, scipy.integrate._quadpack, scipy.integrate._vode, scipy.integrate._dop, scipy.integrate._lsoda, scipy.interpolate._fitpack, scipy.interpolate._dfitpack, scipy.interpolate._bspl, scipy.interpolate._ppoly, scipy.interpolate.interpnd, scipy.interpolate._rbfinterp_pythran, scipy.interpolate._rgi_cython, scipy.special.cython_special, scipy.stats._stats, scipy.stats._biasedurn, scipy.stats._levy_stable.levyst, scipy.stats._stats_pythran, scipy._lib._uarray._uarray, scipy.stats._ansari_swilk_statistics, scipy.stats._sobol, scipy.stats._qmc_cy, scipy.stats._mvn, scipy.stats._rcont.rcont, scipy.stats._unuran.unuran_wrapper, scipy.ndimage._nd_image, _ni_label, scipy.ndimage._ni_label, sklearn.utils._isfinite, sklearn.utils.sparsefuncs_fast, sklearn.utils.murmurhash, sklearn.utils._openmp_helpers, sklearn.utils._random, sklearn.utils._seq_dataset, sklearn.metrics.cluster._expected_mutual_info_fast, sklearn.preprocessing._csr_polynomial_expansion, sklearn.preprocessing._target_encoder_fast, sklearn.metrics._dist_metrics, sklearn.metrics._pairwise_distances_reduction._datasets_pair, sklearn.utils._cython_blas, sklearn.metrics._pairwise_distances_reduction._base, sklearn.metrics._pairwise_distances_reduction._middle_term_computer, sklearn.utils._heap, sklearn.utils._sorting, sklearn.metrics._pairwise_distances_reduction._argkmin, sklearn.metrics._pairwise_distances_reduction._argkmin_classmode, sklearn.utils._vector_sentinel, sklearn.metrics._pairwise_distances_reduction._radius_neighbors, sklearn.metrics._pairwise_distances_reduction._radius_neighbors_classmode, sklearn.metrics._pairwise_fast, sklearn.linear_model._cd_fast, _loss, sklearn._loss._loss, sklearn.utils.arrayfuncs, sklearn.svm._liblinear, sklearn.svm._libsvm, sklearn.svm._libsvm_sparse, sklearn.utils._weight_vector, sklearn.linear_model._sgd_fast, sklearn.linear_model._sag_fast, sklearn.decomposition._online_lda_fast, sklearn.decomposition._cdnmf_fast, sklearn.neighbors._partition_nodes, sklearn.neighbors._ball_tree, sklearn.neighbors._kd_tree, sklearn.tree._utils, sklearn.neighbors._quad_tree, sklearn.tree._tree, sklearn.tree._splitter, sklearn.tree._criterion, sklearn.ensemble._gradient_boosting, sklearn.ensemble._hist_gradient_boosting.common, sklearn.ensemble._hist_gradient_boosting._gradient_boosting, sklearn.ensemble._hist_gradient_boosting._binning, sklearn.ensemble._hist_gradient_boosting._bitset, sklearn.ensemble._hist_gradient_boosting.histogram, sklearn.ensemble._hist_gradient_boosting._predictor, sklearn.ensemble._hist_gradient_boosting.splitting, constel.constelsip, constelsip, scipy.cluster._vq, scipy.cluster._hierarchy, scipy.cluster._optimal_leaf_ordering, yaml._yaml, simplejson._speedups, torch._C, torch._C._fft, torch._C._linalg, torch._C._nested, torch._C._nn, torch._C._sparse, torch._C._special, pandas._libs.tslibs.ccalendar, pandas._libs.tslibs.np_datetime, pandas._libs.tslibs.dtypes, pandas._libs.tslibs.base, pandas._libs.tslibs.nattype, pandas._libs.tslibs.timezones, pandas._libs.tslibs.fields, pandas._libs.tslibs.timedeltas, pandas._libs.tslibs.tzconversion, pandas._libs.tslibs.timestamps, pandas._libs.properties, pandas._libs.tslibs.offsets, pandas._libs.tslibs.strptime, pandas._libs.tslibs.parsing, pandas._libs.tslibs.conversion, pandas._libs.tslibs.period, pandas._libs.tslibs.vectorized, pandas._libs.ops_dispatch, pandas._libs.missing, pandas._libs.hashtable, pandas._libs.algos, pandas._libs.interval, pandas._libs.lib, pandas._libs.ops, pandas._libs.hashing, pandas._libs.arrays, pandas._libs.tslib, pandas._libs.sparse, pandas._libs.internals, pandas._libs.indexing, pandas._libs.index, pandas._libs.writers, pandas._libs.join, pandas._libs.window.aggregations, pandas._libs.window.indexers, pandas._libs.reshape, pandas._libs.groupby, pandas._libs.json, pandas._libs.parsers, pandas._libs.testing, aimsguisip, lxml._elementpath, lxml.etree, PyQt5.QtCore, PyQt5.QtGui (total: 268) Segmentation fault (core dumped)



**Expected behavior**
Should start normally

**Environment:**
 - Engine: Singularity
 - Version of BrainVISA: master branch
 - For local builds, version of the casa-dev image : [casa-dev-5.3-26.sif](https://brainvisa.info/download/casa-dev-5.3-26.sif)
 - Host computer infos
   GPU: NVIDIA RTX 5000
   System: Ubuntu-22.04
   Packages version:
       - nvidia-driver version: 555.42.6
       - nvidia-container-toolkit version: 1.16.0-1 
nsouedet commented 1 month ago

Another information is that BrainVISA starts correctly (using the same BrainVISA build on the same computer) through ssh -X So it seems to be related to opengl capabilities on the computer. I'll post the result of glxinfo and xdpyinfo in a later post.

denisri commented 1 month ago

Have you tried the option opgngl=nv with bv ? Have you installed nvidia-container-tools ?

denisri commented 1 month ago
    • nvidia-container-toolkit version: 1.16.0-1

I think nvidia-container-tools and nvidia-container-toolkit are two different things.