Skip to content

RecursionError: maximum recursion depth exceeded #31

@RBhupi

Description

@RBhupi

Pipeline stage where the bug occurs

Dashboard — display, refresh, or layout

Adapt version

0.1.1

Radar site and data source

All Radars

What happened?

Adapt Dashboard hanged. It was looking at the completed run data.

Steps to reproduce

Keep Dashboard running continuously running in loop.

Full error message or traceback

[Previous line repeated 983 more times]
RecursionError: maximum recursion depth exceeded
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 2093, in __call__
    return self.func(*args)
           ~~~~~~~~~^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 876, in callit
    func(*args, **kw)
    ~~~~^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/_backend_tk.py", line 302, in idle_draw
    self.draw()
    ~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_tkagg.py", line 10, in draw
    super().draw()
    ~~~~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw
    self.figure.draw(self.renderer)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
    return draw(artist, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 3253, in draw
    artists = self._get_draw_artists(renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 166, in _get_draw_artists
    ax.apply_aspect(locator(ax, renderer) if locator else None)
                    ~~~~~~~^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  [Previous line repeated 983 more times]
RecursionError: maximum recursion depth exceeded
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 2093, in __call__
    return self.func(*args)
           ~~~~~~~~~^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 876, in callit
    func(*args, **kw)
    ~~~~^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/_backend_tk.py", line 302, in idle_draw
    self.draw()
    ~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_tkagg.py", line 10, in draw
    super().draw()
    ~~~~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw
    self.figure.draw(self.renderer)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
    return draw(artist, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 3253, in draw
    artists = self._get_draw_artists(renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 166, in _get_draw_artists
    ax.apply_aspect(locator(ax, renderer) if locator else None)
                    ~~~~~~~^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  [Previous line repeated 983 more times]
RecursionError: maximum recursion depth exceeded
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 2093, in __call__
    return self.func(*args)
           ~~~~~~~~~^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 876, in callit
    func(*args, **kw)
    ~~~~^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/_backend_tk.py", line 302, in idle_draw
    self.draw()
    ~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_tkagg.py", line 10, in draw
    super().draw()
    ~~~~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw
    self.figure.draw(self.renderer)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
    return draw(artist, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 3253, in draw
    artists = self._get_draw_artists(renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 166, in _get_draw_artists
    ax.apply_aspect(locator(ax, renderer) if locator else None)
                    ~~~~~~~^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  [Previous line repeated 983 more times]
RecursionError: maximum recursion depth exceeded
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 2093, in __call__
    return self.func(*args)
           ~~~~~~~~~^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 876, in callit
    func(*args, **kw)
    ~~~~^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/_backend_tk.py", line 302, in idle_draw
    self.draw()
    ~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_tkagg.py", line 10, in draw
    super().draw()
    ~~~~~~~~~~~~^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/backends/backend_agg.py", line 382, in draw
    self.figure.draw(self.renderer)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 94, in draw_wrapper
    result = draw(artist, renderer, *args, **kwargs)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/artist.py", line 71, in draw_wrapper
    return draw(artist, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 3253, in draw
    artists = self._get_draw_artists(renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/figure.py", line 166, in _get_draw_artists
    ax.apply_aspect(locator(ax, renderer) if locator else None)
                    ~~~~~~~^^^^^^^^^^^^^^
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/matplotlib/colorbar.py", line 157, in __call__
    pos = self._orig_locator(ax, renderer)
  [Previous line repeated 983 more times]
RecursionError: maximum recursion depth exceeded
^CFatal Python error: PyEval_RestoreThread: the function must be called with the GIL held, after Python initialization and before Python finalization, but the GIL is released (the current Python thread state is NULL)
Python runtime state: initialized

Current thread 0x00000001f4246140 (most recent call first):
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/contextily/tile.py", line 439 in _warper
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/contextily/tile.py", line 373 in warp_tiles
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/site-packages/contextily/plotting.py", line 151 in add_basemap
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/gui/dashboard.py", line 1358 in _add_basemap
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/gui/dashboard.py", line 1329 in _draw_scan
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/gui/dashboard.py", line 1374 in _redraw
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/gui/dashboard.py", line 1132 in _nc_loop_step
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 876 in callit
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 2093 in __call__
  File "/Users/bhupendra/mamba/envs/adapt_env/lib/python3.14/tkinter/__init__.py", line 1613 in mainloop
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/gui/dashboard.py", line 1936 in main
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/cli.py", line 345 in _dashboard_cmd
  File "/Users/bhupendra/projects/arm_radar_scaning/Adapt/src/adapt/cli.py", line 398 in main
  File "/Users/bhupendra/mamba/envs/adapt_env/bin/adapt", line 6 in <module>

Extension modules: pyproj._compat, pyproj._context, pyproj._network, pyproj._version, pyproj._geod, pyproj.list, pyproj._crs, pyproj.database, pyproj._transformer, pyproj._sync, numpy._core._multiarray_umath, numpy.linalg._umath_linalg, PIL._imaging, kiwisolver._cext, _brotli, rasterio._err, rasterio._filepath, rasterio._version, rasterio._env, rasterio.crs, rasterio._transform, rasterio._base, rasterio._features, rasterio._warp, rasterio._io, rasterio._vsiopener, psutil._psutil_osx, lz4._version, lz4.frame._frame, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._pcg64, numpy.random._generator, numpy.random._mt19937, numpy.random._philox, numpy.random._sfc64, numpy.random.mtrand, pyarrow.lib, _cyutility, pandas._libs._cyutility, 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.properties, pandas._libs.tslibs.fields, pandas._libs.tslibs.timedeltas, pandas._libs.tslibs.tzconversion, pandas._libs.tslibs.timestamps, 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, pyarrow._compute, 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, cftime._cftime, pyarrow._parquet, pyarrow._fs, pyarrow._azurefs, pyarrow._hdfs, pyarrow._gcsfs, pyarrow._s3fs, pyarrow._acero, pyarrow._csv, pyarrow._json, pyarrow._substrait, pyarrow._dataset, pyarrow._dataset_orc, pyarrow._parquet_encryption, pyarrow._dataset_parquet_encryption, pyarrow._dataset_parquet, scipy._cyutility, scipy._lib._ccallback_c, scipy.special._ufuncs_cxx, scipy.special._ellip_harm_2, scipy.special._special_ufuncs, scipy.special._gufuncs, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.interpolate._fitpack, scipy.interpolate._dfitpack, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg.cython_lapack, scipy.linalg._cythonized_array_utils, scipy.linalg._solve_toeplitz, scipy.linalg._batched_linalg, scipy.linalg._decomp_lu_cython, scipy.linalg._matfuncs_schur_sqrtm, 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._arpacklib, scipy.sparse.linalg._propack, scipy.optimize._group_columns, scipy._lib.messagestream, scipy.optimize._trlib._trlib, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._slsqplib, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy._lib._uarray._uarray, scipy.linalg._decomp_interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.spatial._ckdtree, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._hausdorff, scipy.spatial._distance_wrap, scipy.spatial.transform._rotation_cy, scipy.spatial.transform._rigid_transform_cy, scipy.optimize._direct, scipy.interpolate._dierckx, scipy.interpolate._ppoly, scipy.interpolate._interpnd, scipy.interpolate._rbfinterp_pythran, scipy.interpolate._rgi_cython, h5py._errors, h5py.defs, h5py._objects, h5py.h5, h5py.utils, h5py.h5t, h5py.h5s, h5py.h5ac, h5py.h5p, h5py.h5r, h5py._npystrings, h5py._proxy, h5py._conv, h5py.h5z, h5py.h5a, h5py.h5d, h5py.h5ds, h5py.h5g, h5py.h5i, h5py.h5o, h5py.h5f, h5py.h5fd, h5py.h5pl, h5py.h5l, h5py._selector, netCDF4._netCDF4, yaml._yaml, cytoolz.utils, cytoolz.itertoolz, cytoolz.functoolz, cytoolz.dicttoolz, cytoolz.recipes, markupsafe._speedups, scipy.fftpack.convolve, PIL._imagingtk, PIL._imagingmath (total: 190)
[1]    23861 abort      adapt dashboard --repo ~/Desktop/adapt-repo
(adapt_env) ~ %

Configuration file (redact credentials)

Environment

Python 3.14.4; Darwin evswl168.evs.anl.gov 24.6.0 Darwin Kernel Version 24.6.0: Mon Aug 11 21:11:04 PDT 2025; root:xnu-11417.140.69.701.11~1/RELEASE_ARM64_T6031 arm64

Checklist

  • I checked the documentation and existing issues
  • I can reproduce this consistently
  • This occurs on the latest release

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions