code: def test_reentering():
      # Just some linear operator that calls eigs recursively
      def A_matvec(x):
          x = diags([1, -2, 1], [-1, 0, 1], shape=(50, 50))
          w, v = eigs(x, k=1)
          return v / w[0]
  
      A = LinearOperator(matvec=A_matvec, dtype=float, shape=(50, 50))
  
      # The Fortran code is not reentrant, so this fails (gracefully, not crashing)
      assert_raises(RuntimeError, eigs, A, k=1)
      assert_raises(RuntimeError, eigsh, A, k=1)
  
imports: from __future__ import division, print_function, absolute_import
  import threading
  import itertools
  import numpy
  from numpy.testing import assert_allclose, assert_array_almost_equal_nulp, assert_equal, assert_array_equal
  from pytest import raises
  import pytest
  from numpy import dot, conj, random
  from scipy.linalg import eig, eigh, hilbert, svd
  from scipy.sparse import csc_matrix, csr_matrix, isspmatrix, diags, rand
  from scipy.sparse.linalg import LinearOperator, aslinearoperator
  from scipy.sparse.linalg.eigen.arpack import eigs, eigsh, svds, ArpackNoConvergence, arpack
  from scipy._lib._gcutils import assert_deallocated, IS_PYPY
  from scipy._lib._numpy_compat import suppress_warnings
label_desc: Use image node_id 38 for calling a global function with example usage: test_reentering() and returns: unknown