Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: documenteer, Stack Documentation and UX
-
Labels:None
-
Story Points:0.7
-
Epic Link:
-
Team:SQuaRE
Description
In documenteer build #242 for d_2018_11_01 I'm seeing this build failure:
reading sources... [ 0%] getting-started/coaddition
|
reading sources... [ 0%] getting-started/data-setup
|
reading sources... [ 0%] getting-started/display
|
reading sources... [ 0%] getting-started/index
|
reading sources... [ 0%] getting-started/multiband-analysis
|
reading sources... [ 0%] getting-started/photometry
|
reading sources... [ 0%] getting-started/processccd
|
reading sources... [ 1%] index
|
reading sources... [ 1%] install/demo
|
reading sources... [ 1%] install/docker
|
reading sources... [ 1%] install/git-lfs
|
reading sources... [ 1%] install/index
|
reading sources... [ 1%] install/lsstsw
|
reading sources... [ 1%] install/newinstall
|
reading sources... [ 2%] install/package-development
|
reading sources... [ 2%] install/prereqs/centos
|
reading sources... [ 2%] install/prereqs/debian
|
reading sources... [ 2%] install/prereqs/index
|
reading sources... [ 2%] install/prereqs/macos
|
reading sources... [ 2%] install/setup
|
reading sources... [ 2%] install/top-level-packages
|
reading sources... [ 3%] known-issues
|
reading sources... [ 3%] metrics
|
reading sources... [ 3%] modules/lsst.afw.cameraGeom/index
|
reading sources... [ 3%] modules/lsst.afw.coord/index
|
reading sources... [ 3%] modules/lsst.afw.detection/Footprint
|
reading sources... [ 3%] modules/lsst.afw.detection/index
|
reading sources... [ 3%] modules/lsst.afw.display/index
|
reading sources... [ 4%] modules/lsst.afw.fits/index
|
reading sources... [ 4%] modules/lsst.afw.formatters/index
|
reading sources... [ 4%] modules/lsst.afw.geom/SpanSet
|
reading sources... [ 4%] modules/lsst.afw.geom/index
|
reading sources... [ 4%] modules/lsst.afw.image/exposure-fits-metadata
|
reading sources... [ 4%] modules/lsst.afw.image/index
|
reading sources... [ 4%] modules/lsst.afw.image/indexing-conventions
|
reading sources... [ 5%] modules/lsst.afw.math/index
|
reading sources... [ 5%] modules/lsst.afw.table/index
|
reading sources... [ 5%] modules/lsst.ap.association/index
|
reading sources... [ 5%] modules/lsst.ap.pipe/getting-started
|
reading sources... [ 5%] modules/lsst.ap.pipe/index
|
reading sources... [ 5%] modules/lsst.ap.pipe/pipeline-overview
|
reading sources... [ 5%] modules/lsst.ap.pipe/pipeline-tutorial
|
reading sources... [ 6%] modules/lsst.ap.verify/command-line-reference
|
reading sources... [ 6%] modules/lsst.ap.verify/configuration
|
reading sources... [ 6%] modules/lsst.ap.verify/datasets
|
reading sources... [ 6%] modules/lsst.ap.verify/datasets-butler
|
reading sources... [ 6%] modules/lsst.ap.verify/datasets-creation
|
reading sources... [ 6%] modules/lsst.ap.verify/datasets-install
|
reading sources... [ 6%] modules/lsst.ap.verify/failsafe
|
reading sources... [ 7%] modules/lsst.ap.verify/index
|
reading sources... [ 7%] modules/lsst.ap.verify/new-metrics
|
reading sources... [ 7%] modules/lsst.ap.verify/running
|
reading sources... [ 7%] modules/lsst.base/index
|
reading sources... [ 7%] modules/lsst.coadd.chisquared/index
|
reading sources... [ 7%] modules/lsst.coadd.utils/index
|
reading sources... [ 7%] modules/lsst.daf.butler/index
|
reading sources... [ 7%] modules/lsst.dax.ppdb/index
|
reading sources... [ 8%] modules/lsst.display.ds9/index
|
reading sources... [ 8%] modules/lsst.display.firefly/index
|
reading sources... [ 8%] modules/lsst.ip.diffim/index
|
reading sources... [ 8%] modules/lsst.ip.isr/index
|
reading sources... [ 8%] modules/lsst.jointcal/index
|
reading sources... [ 8%] modules/lsst.log/index
|
reading sources... [ 8%] modules/lsst.meas.algorithms/index
|
reading sources... [ 9%] modules/lsst.meas.base/index
|
reading sources... [ 9%] modules/lsst.meas.base/intro
|
reading sources... [ 9%] modules/lsst.meas.base/reconstructing-measurements
|
reading sources... [ 9%] modules/lsst.meas.deblender/index
|
reading sources... [ 9%] modules/lsst.meas.extensions.psfex/index
|
reading sources... [ 9%] modules/lsst.meas.extensions.shapeHSM/index
|
reading sources... [ 9%] modules/lsst.meas.extensions.simpleShape/index
|
reading sources... [ 10%] modules/lsst.meas.modelfit/index
|
reading sources... [ 10%] modules/lsst.obs.base/index
|
reading sources... [ 10%] modules/lsst.obs.cfht/index
|
reading sources... [ 10%] modules/lsst.obs.lsstSim/index
|
reading sources... [ 10%] modules/lsst.obs.test/index
|
reading sources... [ 10%] modules/lsst.pex.exceptions/index
|
reading sources... [ 10%] modules/lsst.pipe.base/command-line-task-argument-reference
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-config-howto
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-data-repo-howto
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-dataid-howto
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-logging-howto
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-parallel-howto
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-prov-howto
|
reading sources... [ 11%] modules/lsst.pipe.base/command-line-task-retargeting-howto
|
reading sources... [ 12%] modules/lsst.pipe.base/creating-a-command-line-task
|
reading sources... [ 12%] modules/lsst.pipe.base/creating-a-task
|
reading sources... [ 12%] modules/lsst.pipe.base/index
|
reading sources... [ 12%] modules/lsst.pipe.base/task-framework-overview
|
reading sources... [ 12%] modules/lsst.pipe.drivers/index
|
reading sources... [ 12%] modules/lsst.pipe.tasks/configs/lsst.pipe.tasks.colorterms.Colorterm
|
reading sources... [ 12%] modules/lsst.pipe.tasks/configs/lsst.pipe.tasks.colorterms.ColortermDict
|
reading sources... [ 13%] modules/lsst.pipe.tasks/configs/lsst.pipe.tasks.colorterms.ColortermLibrary
|
reading sources... [ 13%] modules/lsst.pipe.tasks/configs/lsst.pipe.tasks.multiBand.CullPeaksConfig
|
reading sources... [ 13%] modules/lsst.pipe.tasks/configs/lsst.pipe.tasks.selectImages.DatabaseSelectImagesConfig
|
reading sources... [ 13%] modules/lsst.pipe.tasks/configs/lsst.pipe.tasks.snapCombine.InitialPsfConfig
|
reading sources... [ 13%] modules/lsst.pipe.tasks/index
|
reading sources... [ 13%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.assembleCoadd.AssembleCoaddTask
|
reading sources... [ 13%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.assembleCoadd.CompareWarpAssembleCoaddTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.assembleCoadd.SafeClipAssembleCoaddTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.calibrate.CalibrateTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.characterizeImage.CharacterizeImageTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.coaddInputRecorder.CoaddInputRecorderTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.dcrAssembleCoadd.DcrAssembleCoaddTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.dcrMultiBand.DeblendDcrCoaddSourcesTask
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.dcrMultiBand.DetectDcrCoaddSources
|
reading sources... [ 14%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.dcrMultiBand.MeasureMergedDcrCoaddSourcesTask
|
reading sources... [ 15%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.dcrMultiBand.MergeDcrMeasurementsTask
|
reading sources... [ 15%] modules/lsst.pipe.tasks/tasks/lsst.pipe.tasks.dcrMultiBandMergeDcrDetectionsTask
|
/j/ws/sqre/infra/documenteer/doc_template/modules/lsst.afw.detection/index.rst:19: WARNING: toctree contains reference to nonexisting document 'modules/lsst.afw.detection/: maxdepth: 1'
|
|
Traceback (most recent call last):
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/documenteer/sphinxrunner.py", line 85, in run_sphinx
|
app.build(force_all, filenames)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/application.py", line 325, in build
|
self.builder.build_all()
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 299, in build_all
|
self.build(None, summary='all source files', method='all')
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/builders/__init__.py", line 355, in build
|
updated_docnames = set(self.env.update(self.config, self.srcdir, self.doctreedir))
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/environment/__init__.py", line 568, in update
|
self._read_serial(docnames, self.app)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/environment/__init__.py", line 587, in _read_serial
|
self.read_doc(docname, app)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/environment/__init__.py", line 662, in read_doc
|
doctree = read_doc(self.app, self, self.doc2path(docname))
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/io.py", line 302, in read_doc
|
pub.publish()
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/core.py", line 217, in publish
|
self.settings)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/readers/__init__.py", line 72, in read
|
self.parse()
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/readers/__init__.py", line 78, in parse
|
self.parser.parse(self.input, document)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/parsers.py", line 85, in parse
|
self.statemachine.run(inputstring, document, inliner=self.inliner)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 171, in run
|
input_source=document['source'])
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/statemachine.py", line 239, in run
|
context, state, transitions)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/statemachine.py", line 460, in check_line
|
return method(match, context, next_state)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2988, in text
|
self.section(title.lstrip(), source, style, lineno + 1, messages)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 327, in section
|
self.new_subsection(title, lineno, messages)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
|
node=section_node, match_titles=True)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
|
node=node, match_titles=match_titles)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 196, in run
|
results = StateMachineWS.run(self, input_lines, input_offset)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/statemachine.py", line 239, in run
|
context, state, transitions)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/statemachine.py", line 460, in check_line
|
return method(match, context, next_state)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2753, in underline
|
self.section(title, source, style, lineno - 1, messages)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 327, in section
|
self.new_subsection(title, lineno, messages)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 395, in new_subsection
|
node=section_node, match_titles=True)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 282, in nested_parse
|
node=node, match_titles=match_titles)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 196, in run
|
results = StateMachineWS.run(self, input_lines, input_offset)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/statemachine.py", line 239, in run
|
context, state, transitions)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/statemachine.py", line 460, in check_line
|
return method(match, context, next_state)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2326, in explicit_markup
|
nodelist, blank_finish = self.explicit_construct(match)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2338, in explicit_construct
|
return method(self, expmatch)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2081, in directive
|
directive_class, match, type_name, option_presets)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/docutils/parsers/rst/states.py", line 2130, in run_directive
|
result = directive_instance.run()
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/documenteer/sphinxext/lssttasks/pyapisummary.py", line 57, in run
|
new_nodes.extend(self._format_summary_node(task_class))
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/documenteer/sphinxext/lssttasks/pyapisummary.py", line 83, in _format_summary_node
|
classname))
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/documenteer/sphinxext/lssttasks/pyapisummary.py", line 128, in _format_method_nodes
|
'py:meth')
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/documenteer/sphinxext/lssttasks/pyapisummary.py", line 182, in _create_doc_summary
|
summary_text = extract_docstring_summary(get_docstring(obj))
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/documenteer/sphinxext/lssttasks/taskutils.py", line 183, in get_docstring
|
return prepare_docstring(docstring, ignore=1)
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/util/docstrings.py", line 29, in prepare_docstring
|
lines = s.expandtabs().splitlines()
|
AttributeError: 'NoneType' object has no attribute 'expandtabs'
|
|
Exception occurred:
|
File "/j/ws/sqre/infra/documenteer/doc_template/home/.local/lib/python3.6/site-packages/sphinx/util/docstrings.py", line 29, in prepare_docstring
|
lines = s.expandtabs().splitlines()
|
AttributeError: 'NoneType' object has no attribute 'expandtabs'
|
The full traceback has been saved in /tmp/sphinx-err-ptm02ys5.log, if you want to report the issue to the developers.
|
Please also report this if it was a user error, so that a better error message can be provided next time.
|
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
|
2018-11-01 12:58:05,081 ERROR documenteer.stackdocs.build: Sphinx errored: code 1
|
script returned exit code 1
|
Problem was that pipe_tasks's MergeDetectionsTask.runDataRef was missing a docstring. The fix, released in documenteer 0.4.2 is to detect missing docstrings and substitute in a string "Undocumented."