Nbdev_docs failing

Hi

nbdev_docs is failing with an IndexError: “IndexError: list index out of range”

There is no indication which file is causing this and it always produces this error, for instance with

nbdev_docs --file_glob this_does_not_exist

which should not do anything as there are no files matching the pattern ‘this_does_not_exist’

similar with

nbdev_docs --skip_folder nbs

which should contain all notebooks and nothing should happen.
.

I do not know where to start looking for the cause of this error.

nbdev_readme yields the same error

I can’t find anything useful in the terminal output:

~/repos/whipeth_dev> nbdev_docs
concurrent.futures.process._RemoteTraceback:
“”"
Traceback (most recent call last):
File “/usr/lib64/python3.11/concurrent/futures/process.py”, line 261, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/concurrent/futures/process.py”, line 210, in _process_chunk
return [fn(*args) for args in chunk]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/concurrent/futures/process.py”, line 210, in
return [fn(*args) for args in chunk]
^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/fastcore/parallel.py”, line 63, in _call
return g(item)
^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/serve_drv.py”, line 22, in main
if src.suffix==‘.ipynb’: exec_nb(src, dst, x)
^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/serve_drv.py”, line 16, in exec_nb
cb()(nb)
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/processors.py”, line 292, in call
def call(self, nb): return self.nb_proc(nb).process()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/process.py”, line 129, in process
for proc in self.procs: self._proc(proc)
^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/process.py”, line 121, in _proc
if hasattr(proc,‘begin’): proc.begin()
^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/processors.py”, line 108, in begin
if getattr(cells[idx+1], ‘has_sd’, 0):
~~~~~^^^^^^^
IndexError: list index out of range
“”"

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/home/fenke/repos/whipeth_dev/.venv/bin/nbdev_docs”, line 8, in
sys.exit(nbdev_docs())
^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/fastcore/script.py”, line 121, in _f
return tfunc(**merge(args, args_from_prog(func, xtra)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/quarto.py”, line 278, in nbdev_docs
cache,cfg,path = _pre_docs(path, n_workers=n_workers, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/quarto.py”, line 206, in _pre_docs
cache = proc_nbs(path, n_workers=n_workers, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/nbdev/serve.py”, line 79, in proc_nbs
parallel(nbdev.serve_drv.main, files, n_workers=n_workers, pause=0.01, **kw)
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/fastcore/parallel.py”, line 134, in parallel
return L(r)
^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/fastcore/foundation.py”, line 100, in call
return super().call(x, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/fastcore/foundation.py”, line 108, in init
items = listify(items, *rest, use_list=use_list, match=match)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/fenke/repos/whipeth_dev/.venv/lib64/python3.11/site-packages/fastcore/basics.py”, line 78, in listify
elif is_iter(o): res = list(o)
^^^^^^^
File “/usr/lib64/python3.11/concurrent/futures/process.py”, line 620, in _chain_from_iterable_of_lists
for element in iterable:
File “/usr/lib64/python3.11/concurrent/futures/_base.py”, line 619, in result_iterator
yield _result_or_cancel(fs.pop())
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/concurrent/futures/_base.py”, line 317, in _result_or_cancel
return fut.result(timeout)
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/concurrent/futures/_base.py”, line 456, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/concurrent/futures/_base.py”, line 401, in __get_result
raise self._exception
IndexError: list index out of range