Skip to content

bug: Fatal Python error: Segmentation fault #463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
SultanOrazbayev opened this issue Jun 21, 2023 · 3 comments · Fixed by #464
Closed

bug: Fatal Python error: Segmentation fault #463

SultanOrazbayev opened this issue Jun 21, 2023 · 3 comments · Fixed by #464

Comments

@SultanOrazbayev
Copy link
Member

I am getting errors when trying to pytest the main branch. The traceback is in the details below:

(graphblas-dev) mymac@Mys-Mac-mini grgr % pytest graphblas
Running tests with "suitesparse" backend, blocking=True, record=False, mapnumpy=False, runslow=False
============================================ test session starts ============================================
platform darwin -- Python 3.11.4, pytest-7.3.2, pluggy-1.0.0
rootdir: /Users/mymac/grgr
configfile: setup.cfg
plugins: cov-4.1.0
collected 684 items                                                                                         

graphblas/tests/test_core.py .....                                                                    [  0%]
graphblas/tests/test_descriptor.py ..                                                                 [  1%]
graphblas/tests/test_dtype.py ..................                                                      [  3%]
graphblas/tests/test_formatting.py FFFFFFFFF.FFFFFFFFF..........FFFFFF......FF....F.FF                [ 11%]
graphblas/tests/test_infix.py ..........                                                              [ 12%]
graphblas/tests/test_io.py ......F...sss                                                              [ 14%]
graphblas/tests/test_mask.py ......                                                                   [ 15%]
graphblas/tests/test_matrix.py ...............................................s.s..............ss.... [ 25%]
...FFFF............F.....................s..ss.....FF......F...F...                                   [ 35%]
graphblas/tests/test_numpyops.py .sssss                                                               [ 36%]
graphblas/tests/test_op.py .............Fssss.....sssss..s.s.s.......                                 [ 42%]
graphblas/tests/test_operator_types.py ....                                                           [ 42%]
graphblas/tests/test_pickle.py ssss.                                                                  [ 43%]
graphblas/tests/test_prefix_scan.py ................................................................. [ 53%]
..................................................................................................... [ 67%]
........................................                                                              [ 73%]
graphblas/tests/test_pygraphblas.py sss                                                               [ 74%]
graphblas/tests/test_recorder.py ........                                                             [ 75%]
graphblas/tests/test_resolving.py ...............                                                     [ 77%]
graphblas/tests/test_scalar.py ...........s..F..................                                      [ 82%]
graphblas/tests/test_ss_utils.py FFFFFatal Python error: Segmentation fault

Current thread 0x00000001f6e45e00 (most recent call first):
  File "/Users/mymac/grgr/graphblas/ss/_core.py", line 227 in __getitem__
  File "/Users/mymac/grgr/graphblas/tests/test_ss_utils.py", line 189 in test_about
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/python.py", line 194 in pytest_pyfunc_call
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/python.py", line 1799 in runtest
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 169 in pytest_runtest_call
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 262 in <lambda>
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 341 in from_call
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 261 in call_runtest_hook
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 222 in call_and_report
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 133 in runtestprotocol
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/main.py", line 348 in pytest_runtestloop
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/main.py", line 323 in _main
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/main.py", line 269 in wrap_session
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/main.py", line 316 in pytest_cmdline_main
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/config/__init__.py", line 166 in main
  File "/Users/mymac/miniconda3/envs/graphblas-dev/lib/python3.11/site-packages/_pytest/config/__init__.py", line 189 in console_main
  File "/Users/mymac/miniconda3/envs/graphblas-dev/bin/pytest", line 10 in <module>

Extension modules: 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, suitesparse_graphblas.utils, _cffi_backend, yaml._yaml, scipy._lib._ccallback_c, numba.core.typeconv._typeconv, numba._helperlib, numba._dynfunc, numba._dispatcher, numba.core.runtime._nrt_python, numba.np.ufunc._internal, numba.experimental.jitclass._box, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg._cythonized_array_utils, scipy.linalg._flinalg, scipy.linalg._solve_toeplitz, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_lapack, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._isolve._iterative, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, 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, pandas._libs.tslibs.np_datetime, pandas._libs.tslibs.dtypes, pandas._libs.tslibs.base, pandas._libs.tslibs.nattype, pandas._libs.tslibs.timezones, pandas._libs.tslibs.ccalendar, 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.hashing, pandas._libs.tslib, pandas._libs.ops, pandas._libs.arrays, pandas._libs.sparse, pandas._libs.reduction, pandas._libs.indexing, pandas._libs.index, pandas._libs.internals, pandas._libs.join, pandas._libs.writers, pandas._libs.window.aggregations, pandas._libs.window.indexers, pandas._libs.reshape, pandas._libs.groupby, pandas._libs.testing, pandas._libs.parsers, pandas._libs.json, numpy.linalg.lapack_lite, scipy.io.matlab._mio_utils, scipy.io.matlab._streams, scipy.io.matlab._mio5_utils (total: 92)
zsh: segmentation fault  pytest graphblas

I am not sure if it's related or not, but this was in a new environment and when installing the python-graphblas locally the version number seemed odd (points to 2022.10). Could this be something specific to my machine/incorrect environment setup?

(graphblas-dev) mymac@Mys-Mac-mini grgr % pip install -e . --no-deps
Obtaining file:///Users/mymac/grgr
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Building wheels for collected packages: python-graphblas
  Building editable for python-graphblas (pyproject.toml) ... done
  Created wheel for python-graphblas: filename=python_graphblas-2022.10.1+23.g944d075-0.editable-py3-none-any.whl size=10787 sha256=f4d3aba7a797bf1346309bb0e01cbb0667b46d332561c4cc1f2faebfb296398e
  Stored in directory: /private/var/folders/v6/8sdq1_2s7gb3yppns266v4gw0000gn/T/pip-ephem-wheel-cache-9tefmp3f/wheels/17/c5/da/31eae62840467c9a2b0218149aa40c4b2b0b67dcfbf41869f5
Successfully built python-graphblas
Installing collected packages: python-graphblas
Successfully installed python-graphblas-2022.10.1+23.g944d075
@SultanOrazbayev
Copy link
Member Author

SultanOrazbayev commented Jun 21, 2023

I just redid everything from scratch (deleting old environments/files) and cloned the repo. Now the pip install gets the recent python-graphblas version (no longer the old 2022.10 one). I also don't get the segfaults now on testing.

@eriknw
Copy link
Member

eriknw commented Jun 22, 2023

Oops. #464 didn't actually close this issue; it actually fixed CI errors seen in #462.

Nevertheless, it looks like we can close this. If you encounter this issue again, please re-open. I was having difficulty with PyPI, coveralls, etc. today/yesterday, so maybe the internet was just borked temporarily?

@SultanOrazbayev
Copy link
Member Author

Yes, this is definitely closed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants