Open tuncaen opened 1 year ago
FWIW, I get a similar error when using the option graph_dir
to output the graphs to a given directory:
I am getting same new error as original poster above after starting to write the graph files:
.
.
.
Creating search index: 100%|██████████| 1030/1030 [00:38<00:00, 27.08/s]
/gpfs/fs1/neptune/software/miniconda3/envs/ford/lib/python3.9/site-packages/ford/graphs.py:1399: TqdmWarning: Iterable length 1164 > 1000 but `chunksize` is not set. This may seriously degrade multiprocess performance. Set `chunksize=1` or more.
process_map(
Writing documentation to '/gpfs/fs1/blanked_out_username/gh_runners/r1/_work/blanked_out/blanked_out/blanked_out/docs/ford_fortran_doc'...
Writing graphs: 0%| | 0/1164 [00:00<?, ?it/s]
Writing graphs: 0%| | 0/1164 [00:00<?, ?it/s]
concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/gpfs/fs1/blanked_out/software/miniconda3/envs/ford/lib/python3.9/multiprocessing/queues.py", line 244, in _feed
obj = _ForkingPickler.dumps(obj)
File "/gpfs/fs1/blanked_out/software/miniconda3/envs/ford/lib/python3.9/multiprocessing/reduction.py", line 51, in dumps
cls(buf, protocol).dump(obj)
RecursionError: maximum recursion depth exceeded while pickling an object
.
.
.
This error started occuring after upgrading from FORD version 6.1.17 to 6.2.5 with the following commands:
source activate ford
python –m pip install --upgrade pip
python –m pip install --upgrade ford
The FORD project file is:
project: (removed for security)
summary: (removed for security)
author: (removed for security)
project_github: (removed for security)
src_dir: ../src
exclude_dir: ../src/m4
include: ../src
incl_src: false
output_dir: ford_fortran_doc
preprocess: True
preprocessor: pcpp --passthru-comments
max_frontpage_items: 1000
print_creation_date: true
creation_date: %Y-%m-%d %H:%M:%S.%f%z
graph: True
graph_dir: ford_fortran_doc/graphs
macro: (removed for security)
Thanks for the bug report, please could someone link to a project, or even better a minimal example, that reproduces this?
Unfortunately, in my case, the project that produced this error is not publicly accessible and my employer will not allow me to provide access to it.
The problem with providing an example that demonstrates the problem is that the problem seems to be tied to project size. I have no idea what produced the error in the latest FORD version, but, if I had to guess, it would be FORD's recent improvement in handling type-bound procedures (perhaps with respect to the call graph).
My temporary workaround is to disable graphs and the search function. In the interest of speed, I have done this anyway in the midst of converting comments to FORD autodoc comments.
Unfortunately in my case the project is also not public. The workaround I found was to add sys.setrecursionlimit(100000)
to the file reduction.py
.
@jmbcastro where in reduction.py
did you put it?
Hi @patflynngithub, I put it immediately after the import statements.
Hi,
When I run FORD I get the following error. I made no change on source codes or FORD project file after I had ran without problem a while ago, probably before upgrading the installed version.
The project file: