Skip to content

Infinite loop in NautilusCTSResolver.inventory #85

@rillian

Description

@rillian

Testing a new corpus I ran into an infinite loop in the resolver. I wrote a simple testcase if that's helpful.

test_resolver_loop (tests.cts.test_resolver.TestXMLFolderResolverBehindTheScene)
Test to verify an infinite loop is fixed ... Fatal Python error: Cannot recover from stack overflow.

Current thread 0x00007ff8194bb680 (most recent call first):
  File "${site-packages}/rdflib/term.py", line 156 in __eq__
  File "${site-packages}/rdflib/plugins/memory.py", line 460 in __obj2id
  File "${site-packages}/rdflib/plugins/memory.py", line 471 in __encodeTriple
  File "${site-packages}/rdflib/plugins/memory.py", line 309 in triples
  File "${site-packages}/rdflib/graph.py", line 428 in triples
  File "${site-packages}/rdflib/graph.py", line 638 in objects
  File "${site-packages}/MyCapytain/common/metadata.py", line 224 in getOr
  File "${site-packages}/MyCapytain/resources/prototypes/metadata.py", line 39 in __init__
  File "${site-packages}/MyCapytain/resources/prototypes/cts/inventory.py", line 40 in __init__
  File "${site-packages}/MyCapytain/resources/prototypes/cts/inventory.py", line 555 in __init__
  File "${site-packages}/MyCapytain/resources/collections/cts.py", line 267 in parse
  File "capitains_nautilus/cts/resolver.py", line 175 in parse
  File "capitains_nautilus/cts/resolver.py", line 133 in get_or
  File "capitains_nautilus/cts/resolver.py", line 89 in inventory
  File "capitains_nautilus/cts/resolver.py", line 258 in parse
  File "capitains_nautilus/cts/resolver.py", line 133 in get_or
  File "capitains_nautilus/cts/resolver.py", line 89 in inventory
[...and so on until the recursion limit is reached.]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions