Am 13.04.2017 um 15:29 schrieb Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>: > Em Thu, 13 Apr 2017 14:55:03 +0200 > Markus Heiser <markus.heiser@xxxxxxxxxxx> escreveu: > >> On 13.04.2017 12:42, Mauro Carvalho Chehab wrote: >>> The default recursion limit is not good enough to handle >>> complex books. I'm sometimes receiving this error message: >>> >>> sphinx.errors.SphinxParallelError: RecursionError: maximum recursion depth exceeded while pickling an object >>> >>> or those: >>> >>> maximum recursion depth exceeded while calling a Python object >>> 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) >>> >> >> Is this behavior reproducible? > > I noticed the issue when building the docs with Sphinx 1.4.9 with > my ABI patches, after adding xref links to it. > > What I suspect is that Sphinx use some sort of fragile recursion > algorithm to parse cross references. Or the the generated refs are absurd ;) I haven't found the technical problem in detail, but I made some test and this is what I observed; Sometimes even a "clean": make DOCBOOKS= clean htmldocs fails with recursion error. I also realized that this behavior is only about the generated ABI docs. So I looked at what the Perl script generates: ./scripts/get_abi.pl rest --dir Documentation/ABI/testing It generates horrible titles, containing more than 4000 characters! I mean titles like the one shown in "<SNIP/SNAP: title>" below. Which ends in HTML links like the one below. OK, we can discuss why Sphinx have problems handling such titles and refs but: at this point I stop digging any deeper ;) IMO: this is not the way, we can include ABI into the reST doc -- Markus -- A typical HTML link: http://www.infradead.org/~mchehab/kernel_docs/admin-guide/abi-testing.html?highlight=rising%20period#sys-events-in-accel-thresh-rising-value-sys-events-in-accel-thresh-falling-value-sys-events-in-accel-x-raw-thresh-rising-value-sys-events-in-accel-x-raw-thresh-falling-value-sys-events-in-accel-y-raw-thresh-rising-value-sys-events-in-accel-y-raw-thresh-falling-value-sys-events-in-accel-z-raw-thresh-rising-value-sys-events-in-accel-z-raw-thresh-falling-value-sys-events-in-anglvel-x-raw-thresh-rising-value-sys-events-in-anglvel-x-raw-thresh-falling-value-sys-events-in-anglvel-y-raw-thresh-rising-value-sys-events-in-anglvel-y-raw-thresh-falling-value-sys-events-in-anglvel-z-raw-thresh-rising-value-sys-events-in-anglvel-z-raw-thresh-falling-value-sys-events-in-magn-x-raw-thresh-rising-value-sys-events-in-magn-x-raw-thresh-falling-value-sys-events-in-magn-y-raw-thresh-rising-value-sys-events-in-magn-y-raw-thresh-falling-value-sys-events-in-magn-z-raw-thresh-rising-value-sys-events-in-magn-z-raw-thresh-falling-value-sys-events-in-rot-from-north-magnetic-raw-thresh-rising-value-sys-events-in-rot-from-north-magnetic-raw-thresh-falling-value-sys-events-in-rot-from-north-true-raw-thresh-rising-value-sys-events-in-rot-from-north-true-raw-thresh-falling-value-sys-events-in-rot-from-north-magnetic-tilt-comp-raw-thresh-rising-value-sys-events-in-rot-from-north-magnetic-tilt-comp-raw-thresh-falling-value-sys-events-in-rot-from-north-true-tilt-comp-raw-thresh-rising-value-sys-events-in-rot-from-north-true-tilt-comp-raw-thresh-falling-value-sys-events-in-voltagey-supply-raw-thresh-rising-value-sys-events-in-voltagey-supply-raw-thresh-falling-value-sys-events-in-voltagey-raw-thresh-rising-value-sys-events-in-voltagey-raw-thresh-falling-value-sys-events-in-tempy-raw-thresh-rising-value-sys-events-in-tempy-raw-thresh-falling-value-sys-events-in-illuminance0-thresh-falling-value-sys-events-in-illuminance0-thresh-rising-value-sys-events-in-proximity0-thresh-falling-value-sys-events-in-proximity0-thresh-rising-value And here is one of those horrible reST titles: <SNIP: title> -------------- .. _abi_sys_events_in_accel_x_thresh_rising_period: /sys/.../events/in\_accel\_x\_thresh\_rising\_period, /sys/.../events/in\_accel\_x\_thresh\_falling\_period, /sys/.../events/in\_accel\_x\_roc\_rising\_period, /sys/.../events/in\_accel\_x\_roc\_falling\_period, /sys/.../events/in\_accel\_y\_thresh\_rising\_period, /sys/.../events/in\_accel\_y\_thresh\_falling\_period, /sys/.../events/in\_accel\_y\_roc\_rising\_period, /sys/.../events/in\_accel\_y\_roc\_falling\_period, /sys/.../events/in\_accel\_z\_thresh\_rising\_period, /sys/.../events/in\_accel\_z\_thresh\_falling\_period, /sys/.../events/in\_accel\_z\_roc\_rising\_period, /sys/.../events/in\_accel\_z\_roc\_falling\_period, /sys/.../events/in\_anglvel\_x\_thresh\_rising\_period, /sys/.../events/in\_anglvel\_x\_thresh\_falling\_period, /sys/.../events/in\_anglvel\_x\_roc\_rising\_period, /sys/.../events/in\_anglvel\_x\_roc\_falling\_period, /sys/.../events/in\_anglvel\_y\_thresh\_rising\_period, /sys/.../events/in\_anglvel\_y\_thresh\_falling\_period, /sys/.../events/in\_anglvel\_y\_roc\_rising\_period, /sys/.../events/in\_anglvel\_y\_roc\_falling\_period, /sys/.../events/in\_anglvel\_z\_thresh\_rising\_period, /sys/.../events/in\_anglvel\_z\_thresh\_falling\_period, /sys/.../events/in\_anglvel\_z\_roc\_rising\_period, /sys/.../events/in\_anglvel\_z\_roc\_falling\_period, /sys/.../events/in\_magn\_x\_thresh\_rising\_period, /sys/.../events/in\_magn\_x\_thresh\_falling\_period, /sys/.../events/in\_magn\_x\_roc\_rising\_period, /sys/.../events/in\_magn\_x\_roc\_falling\_period, /sys/.../events/in\_magn\_y\_thresh\_rising\_period, /sys/.../events/in\_magn\_y\_thresh\_falling\_period, /sys/.../events/in\_magn\_y\_roc\_rising\_period, /sys/.../events/in\_magn\_y\_roc\_falling\_period, /sys/.../events/in\_magn\_z\_thresh\_rising\_period, /sys/.../events/in\_magn\_z\_thresh\_falling\_period, /sys/.../events/in\_magn\_z\_roc\_rising\_period, /sys/.../events/in\_magn\_z\_roc\_falling\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_thresh\_rising\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_thresh\_falling\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_roc\_rising\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_roc\_falling\_period, /sys/.../events/in\_rot\_from\_north\_true\_thresh\_rising\_period, /sys/.../events/in\_rot\_from\_north\_true\_thresh\_falling\_period, /sys/.../events/in\_rot\_from\_north\_true\_roc\_rising\_period, /sys/.../events/in\_rot\_from\_north\_true\_roc\_falling\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_tilt\_comp\_thresh\_rising\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_tilt\_comp\_thresh\_falling\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_tilt\_comp\_roc\_rising\_period, /sys/.../events/in\_rot\_from\_north\_magnetic\_tilt\_comp\_roc\_falling\_period, /sys/.../events/in\_rot\_from\_north\_true\_tilt\_comp\_thresh\_rising\_period, /sys/.../events/in\_rot\_from\_north\_true\_tilt\_comp\_thresh\_falling\_period, /sys/.../events/in\_rot\_from\_north\_true\_tilt\_comp\_roc\_rising\_period, /sys/.../events/in\_rot\_from\_north\_true\_tilt\_comp\_roc\_falling\_period, /sys/.../events/in\_voltageY\_supply\_thresh\_rising\_period, /sys/.../events/in\_voltageY\_supply\_thresh\_falling\_period, /sys/.../events/in\_voltageY\_supply\_roc\_rising\_period, /sys/.../events/in\_voltageY\_supply\_roc\_falling\_period, /sys/.../events/in\_voltageY\_thresh\_rising\_period, /sys/.../events/in\_voltageY\_thresh\_falling\_period, /sys/.../events/in\_voltageY\_roc\_rising\_period, /sys/.../events/in\_voltageY\_roc\_falling\_period, /sys/.../events/in\_tempY\_thresh\_rising\_period, /sys/.../events/in\_tempY\_thresh\_falling\_period, /sys/.../events/in\_tempY\_roc\_rising\_period, /sys/.../events/in\_tempY\_roc\_falling\_period, /sys/.../events/in\_accel\_x&y&z\_mag\_falling\_period, /sys/.../events/in\_intensity0\_thresh\_period, /sys/.../events/in\_proximity0\_thresh\_period, /sys/.../events/in\_activity\_still\_thresh\_rising\_period, /sys/.../events/in\_activity\_still\_thresh\_falling\_period, /sys/.../events/in\_activity\_walking\_thresh\_rising\_period, /sys/.../events/in\_activity\_walking\_thresh\_falling\_period, /sys/.../events/in\_activity\_jogging\_thresh\_rising\_period, /sys/.../events/in\_activity\_jogging\_thresh\_falling\_period, /sys/.../events/in\_activity\_running\_thresh\_rising\_period, /sys/.../events/in\_activity\_running\_thresh\_falling\_period -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- <SNAP: title> -------------- -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html