-
Notifications
You must be signed in to change notification settings - Fork 127
Description
What happened?
Hi,
I was using quimb to construct tensor network and contract it, my code from -
def roundHM():
.....
vec0_tn = qtn.TensorNetwork(...)
tensors = qtn.TensorNetwork(...)
for val in samples:
.....
for j in range(len(CostH.s)):
....
vecji_tn = qtn.TensorNetwork(...)
x_vji = qtn.TensorNetwork([vec0_tn, tensors, vecji_tn], virtual= True) # line 661
result_vji = x_vji.contract()The samples and len(CostH.s) can be large, so this will introduce many running of line 661. The segmentation fault occurs occasionally in my simulations (very strange!). I also tried "vec0_tn.copy()" or "vec0_tn.copy(deep=True)". The problem still exists.
I submitted couples of jobs from terminals simultaneously as:
ulimit -v $((10 * 1024 * 1024)) && taskset -c 0-2 nohup python -u ./simulations/hu.py > /home/me/test/test.log 2>&1 & disownWhat did you expect to happen?
No occasional segfault
Minimal Complete Verifiable Example
Its hard to include as it appears occasionally
Relevant log output
Fatal Python error: Segmentation fault
Current thread 0x00007303ba02c600 (most recent call first):
File "/home/me/anaconda3/envs/test/lib/python3.10/site-packages/quimb/tensor/tensor_core.py", line 1732 in add_owner
File "/home/me/anaconda3/envs/test/lib/python3.10/site-packages/quimb/tensor/tensor_core.py", line 4327 in add_tensor
File "/home/me/anaconda3/envs/test/lib/python3.10/site-packages/quimb/tensor/tensor_core.py", line 4347 in add_tensor_network
File "/home/me/anaconda3/envs/test/lib/python3.10/site-packages/quimb/tensor/tensor_core.py", line 4374 in add
File "/home/me/anaconda3/envs/test/lib/python3.10/site-packages/quimb/tensor/tensor_core.py", line 4106 in __init__
File "/home/me/anaconda3/envs/test/lib/python3.10/site-packages/hu.py", line 661 in roundHM
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, cytoolz.utils, cytoolz.itertoolz, cytoolz.functoolz, cytoolz.dicttoolz, cytoolz.recipes, scipy._lib._ccallback_c, 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._matfuncs_expm, scipy.linalg._linalg_pythran, scipy.linalg.cython_blas, scipy.linalg._decomp_update, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, 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.optimize._group_columns, scipy._lib.messagestream, 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._cython_nnls, scipy._lib._uarray._uarray, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.linalg._decomp_interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.spatial._ckdtree, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.spatial.transform._rotation, scipy.optimize._direct, yaml._yaml, numba.core.typeconv._typeconv, numba._helperlib, numba._dynfunc, numba._dispatcher, numba.core.typing.builtins.itertools, numba.cpython.builtins.math, numba.core.runtime._nrt_python, numba.np.ufunc._internal, numba.experimental.jitclass._box, psutil._psutil_linux, psutil._psutil_posix, numba.cpython.mathimpl.math, numba.cpython.mathimpl.sys, scipy.ndimage._nd_image, scipy.ndimage._rank_filter_1d, _ni_label, scipy.ndimage._ni_label, scipy.integrate._odepack, scipy.integrate._quadpack, scipy.integrate._vode, scipy.integrate._dop, scipy.integrate._lsoda, dimod.cyvariables, dimod.cyutilities, dimod.cyqmbase.cyqmbase_float32, dimod.cyqmbase.cyqmbase_float64, dimod.binary.cybqm.cybqm_float64, dimod.binary.cybqm.cybqm_float32, dimod.quadratic.cyqm.cyqm_float64, dimod.quadratic.cyqm.cyqm_float32, dimod.constrained.cyexpression, dimod.discrete.cydiscrete_quadratic_model, dimod.constrained.cyconstrained, dimod.cylp, dwave.samplers.greedy.descent, dwave.samplers.random.cyrandom, dwave.samplers.sa.simulated_annealing, dwave.samplers.tabu.tabu_search, dwave.samplers.tree.sample, dwave.samplers.tree.solve, dwave.samplers.tree.utilities, numba.cpython.hashing.math, numba.cpython.hashing.sys, numba.cpython.numbers.math, numba.np.arraymath.math, numba.core.typing.cmathdecl.cmath, numba.core.typing.mathdecl.math, _cvxcore, scipy.signal._sigtools, scipy.signal._max_len_seq_inner, scipy.signal._upfirdn_apply, scipy.signal._spline, scipy.interpolate._fitpack, scipy.interpolate._dfitpack, scipy.interpolate._dierckx, scipy.interpolate._ppoly, scipy.interpolate._interpnd, scipy.interpolate._rbfinterp_pythran, scipy.interpolate._rgi_cython, scipy.interpolate._bspl, scipy.signal._sosfilt, scipy.special.cython_special, scipy.stats._stats, scipy.stats._sobol, scipy.stats._qmc_cy, scipy.stats._biasedurn, scipy.stats._stats_pythran, scipy.stats._levy_stable.levyst, scipy.stats._ansari_swilk_statistics, scipy.stats._mvn, scipy.stats._rcont.rcont, scipy.signal._peak_finding_utils, _ecos, _scs_direct, markupsafe._speedups (total: 150)Anything else we need to know?
No response
Environment
Python 3.10.18
Ubuntu 24.04.2 LTS
quimb Version: 1.11.1
Other pacakages:
alembic 1.16.4
asttokens 2.4.1
autoray 0.7.2
bayesian-optimization 1.4.0
black 25.1.0
clarabel 0.7.1
click 8.2.1
cma 4.2.0
cmaes 0.11.1
colorama 0.4.0
colorlog 6.9.0
comm 0.2.2
contourpy 1.3.2
cotengra 0.7.5
cvxpy 1.7.0
cycler 0.12.1
cytoolz 1.0.1
debugpy 1.8.1
decorator 5.1.1
Deprecated 1.2.14
dimod 0.12.14
directsearch 1.0
dwave-neal 0.6.0
dwave-samplers 1.2.0
dwave-tabu 0.5.0
ecos 2.0.13
exceptiongroup 1.2.1
executing 2.0.1
fonttools 4.59.0
gibbssdp 0.0.1
gibbssdp_utils 0.1.0
greenlet 3.2.3
ipykernel 6.29.4
ipython 8.24.0
jedi 0.19.1
Jinja2 3.1.6
joblib 1.5.1
jupyter_client 8.6.1
jupyter_core 5.7.2
kahypar 1.3.5
kiwisolver 1.4.8
llvmlite 0.44.0
Mako 1.3.10
MarkupSafe 3.0.2
matplotlib 3.10.3
matplotlib-inline 0.1.7
maturin 1.5.1
mypy_extensions 1.1.0
nest-asyncio 1.6.0
networkx 3.2.1
nevergrad 1.0.11
numba 0.61.2
numpy 1.26.4
optuna 4.2.1
osqp 1.0.4
packaging 24.0
pandas 2.3.1
parso 0.8.4
pathspec 0.12.1
pgd_utils 0.1.0
pillow 11.3.0
pip 25.1
platformdirs 4.3.8
prompt-toolkit 3.0.43
psutil 5.9.8
pure-eval 0.2.2
pybind11 2.12.0
Pygments 2.17.2
pyparsing 3.2.3
pyqubo 1.4.0
python-dateutil 2.9.0.post0
pytz 2025.2
PyYAML 6.0.2
pyzmq 26.0.3
qdldl 0.1.7.post2
SciencePlots 2.1.1
scikit-learn 1.7.0
scipy 1.15.3
scs 3.2.4.post1
setuptools 78.1.1
six 1.17.0
sparse_sdp 0.1.0
SQLAlchemy 2.0.41
ssdppy 0.0.1
stack-data 0.6.3
threadpoolctl 3.6.0
tomli 2.0.1
toolz 0.12.1
tornado 6.4
tqdm 4.67.1
traitlets 5.14.3
typing_extensions 4.14.1
tzdata 2025.2
wcwidth 0.2.13
wheel 0.45.1
wrapt 1.16.0