-
Notifications
You must be signed in to change notification settings - Fork 18
RecursionError in EDGAR 26.1 on presentation structures with recursive arcs #60
Copy link
Copy link
Open
Description
Hi @freddym56,
EDGAR 26.1 logs a traceback on a recursion error when processing filings that contain recursive presentation relationships (e.g. conceptA → conceptB → conceptA).
This appears to be related to this change: https://github.com/Arelle/EDGAR/pull/58/changes#diff-bbaebc86d60d6d979a2f02dbcfde880c4b2d7355d61d25c6b188dd323f02793eL113
To Reproduce
- Download: filing_documents.zip
- Run:
python arelleCmdLine.py --plugin EDGAR --disclosureSystem efm-pragmatic --validate --file filing_documents.zip
Stack Trace
Exception in filing end processing, traceback: ['Traceback (most recent call last):
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/__init__.py", line 1090, in filingEnd
Filing.mainFun(self, report, self.reportsFolder, transform=reportXslt, rFilePrefix=rFilePrefix) # dissem suffix
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/Filing.py", line 43, in mainFun
filing.cubeDriverBeforeFlowThroughSuppression(cube)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/Filing.py", line 934, in cubeDriverBeforeFlowThroughSuppression
cube.presentationGroup.startPreorderTraversal()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/PresentationGroup.py", line 169, in startPreorderTraversal
self.doPreorderTraversal(self.rootNodeList[0], giveMemGetPositionDictPrimary, {}, None, set(), visited, visitCounter, 0)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/PresentationGroup.py", line 258, in doPreorderTraversal
self.doPreorderTraversal(childNode, giveMemGetPositionDictPrimary, {}, parentAxis, setOfConcepts, visited, visitCounter, depth)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/PresentationGroup.py", line 258, in doPreorderTraversal
self.doPreorderTraversal(childNode, giveMemGetPositionDictPrimary, {}, parentAxis, setOfConcepts, visited, visitCounter, depth)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/PresentationGroup.py", line 258, in doPreorderTraversal
self.doPreorderTraversal(childNode, giveMemGetPositionDictPrimary, {}, parentAxis, setOfConcepts, visited, visitCounter, depth)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
', ' [Previous line repeated 981 more times]
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/PresentationGroup.py", line 248, in doPreorderTraversal
self.buildLabel(concept, preferredLabel)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
', ' File "/Users/austinmatherne/git/Arelle/arelle/plugin/EDGAR/render/PresentationGroup.py", line 283, in buildLabel
labelStr = concept.label(preferredLabel=preferredLabel, fallbackToQname=False, lang=self.filing.controller.labelLangs)
', ' File "/Users/austinmatherne/git/Arelle/arelle/ModelDtsObject.py", line 640, in label
label = labelsRelationshipSet.label(self, preferredLabel, _lang, linkroleHint=linkroleHint)
', ' File "/Users/austinmatherne/git/Arelle/arelle/ModelRelationshipSet.py", line 357, in label
labels = self.fromModelObject(modelFrom)
', ' File "/Users/austinmatherne/git/Arelle/arelle/ModelRelationshipSet.py", line 254, in fromModelObject
return self.loadModelRelationshipsFrom().get(modelFrom, [])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
', 'RecursionError: maximum recursion depth exceeded
'] - IXDS test-20260321.htm
Environment
- EDGAR plugin version: 26.1
- Arelle: 2.39.2
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels