Am 13.04.2017 um 15:29 schrieb Mauro Carvalho Chehab <mche...@s-opensource.com>:

> Em Thu, 13 Apr 2017 14:55:03 +0200
> Markus Heiser <markus.hei...@darmarit.de> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to