Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-20866

Fix package-docs recursion depth error from rebuilds



    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: documenteer
    • Labels:


      When running package-docs multiple times to rebuild documentation for a single package multiple times, it's common to see a recursion depth error from Sphinx:

      package-docs build                                                                                                                                                                                                  jsick@Tay ~VERIFY_DIR
      Running Sphinx v1.7.9
      /Users/jsick/lsst/pipelines_lsst_io_stack/stacks/w_2019_29/python/miniconda3-4.5.12/envs/lsst-scipipe-1172c30/lib/python3.7/site-packages/matplotlib/__init__.py:846: MatplotlibDeprecationWarning:
      The text.latex.unicode rcparam was deprecated in Matplotlib 2.2 and will be removed in 3.1.
        "2.2", name=key, obj_type="rcparam", addendum=addendum)
      loading pickled environment... done
      [autosummary] generating autosummary for: index.rst, lsst.verify/index.rst, lsst.verify/scripts/dispatch_verify.py.rst, lsst.verify/scripts/inspect_job.py.rst, lsst.verify/scripts/lint_metrics.py.rst, lsst.verify/tasks/lsst.verify.gen2tasks.MetricTask.rst, lsst.verify/tasks/lsst.verify.gen2tasks.MetricsControllerTask.rst, lsst.verify/tasks/lsst.verify.gen2tasks.SquashMetadataTask.rst, lsst.verify/tasks/lsst.verify.tasks.ConfigPpdbLoader.rst, lsst.verify/tasks/lsst.verify.tasks.MetadataMetricTask.rst, ..., py-api/lsst.verify.squash.post.rst, py-api/lsst.verify.squash.reset_endpoint_cache.rst, py-api/lsst.verify.tasks.ConfigPpdbLoader.rst, py-api/lsst.verify.tasks.MetadataMetricConfig.rst, py-api/lsst.verify.tasks.MetadataMetricTask.rst, py-api/lsst.verify.tasks.MetricComputationError.rst, py-api/lsst.verify.tasks.PpdbMetricConfig.rst, py-api/lsst.verify.tasks.PpdbMetricTask.rst, py-api/lsst.verify.tasks.TimingMetricConfig.rst, py-api/lsst.verify.tasks.TimingMetricTask.rst
      [automodsumm] lsst.verify/index.rst: found 51 automodsumm entries to generate
      building [mo]: all of 0 po files
      building [html]: all source files
      Traceback (most recent call last):
        File "/Users/jsick/lsst/pipelines_lsst_io_stack/documenteer/documenteer/sphinxrunner.py", line 85, in run_sphinx
          app.build(force_all, filenames)
        File "/Users/jsick/lsst/pipelines_lsst_io_stack/stacks/w_2019_29/python/miniconda3-4.5.12/envs/lsst-scipipe-1172c30/lib/python3.7/site-packages/sphinx/application.py", line 325, in build
        File "/Users/jsick/lsst/pipelines_lsst_io_stack/stacks/w_2019_29/python/miniconda3-4.5.12/envs/lsst-scipipe-1172c30/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 299, in build_all
          self.build(None, summary='all source files', method='all')
        File "/Users/jsick/lsst/pipelines_lsst_io_stack/stacks/w_2019_29/python/miniconda3-4.5.12/envs/lsst-scipipe-1172c30/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 355, in build
          updated_docnames = set(self.env.update(self.config, self.srcdir, self.doctreedir))
        File "/Users/jsick/lsst/pipelines_lsst_io_stack/stacks/w_2019_29/python/miniconda3-4.5.12/envs/lsst-scipipe-1172c30/lib/python3.7/site-packages/sphinx/environment/__init__.py", line 511, in update
          if self.config[confval.name] != confval.value:
      RecursionError: maximum recursion depth exceeded in comparison
      Recursion error:
      maximum recursion depth exceeded in comparison
      This can happen with very large or deeply nested source files.  You can carefully increase the default Python recursion limit of 1000 in conf.py with e.g.:
          import sys; sys.setrecursionlimit(1500)

      For the the Pipelines documentation we do use that sys.setrecursionlimit trick, but I don't think this has been done yet for the builds of individual packages.


          Issue Links


            jsick Jonathan Sick created issue -
            jsick Jonathan Sick made changes -
            Field Original Value New Value
            Epic Link DM-16933 [ 238280 ]
            jsick Jonathan Sick made changes -
            Epic Link DM-16933 [ 238280 ] DM-20446 [ 342727 ]
            jsick Jonathan Sick made changes -
            Status To Do [ 10001 ] In Progress [ 3 ]
            jsick Jonathan Sick made changes -
            Status In Progress [ 3 ] To Do [ 10001 ]
            jsick Jonathan Sick made changes -
            Epic Link DM-20446 [ 342727 ] DM-21497 [ 424235 ]
            jsick Jonathan Sick made changes -
            Status To Do [ 10001 ] In Progress [ 3 ]
            jsick Jonathan Sick made changes -
            Link This issue blocks DM-22533 [ DM-22533 ]
            jsick Jonathan Sick made changes -
            Story Points 0.9
            jsick Jonathan Sick made changes -
            Story Points 0.9 1.4
            jsick Jonathan Sick made changes -
            Resolution Done [ 10000 ]
            Status In Progress [ 3 ] Done [ 10002 ]


              jsick Jonathan Sick
              jsick Jonathan Sick
              John Swinbank, Jonathan Sick
              0 Vote for this issue
              2 Start watching this issue




                  No builds found.