Skip to content

Infinite recursion bug when scanning Python package #2928

@JonoYang

Description

@JonoYang

I've downloaded and scaned pyobihai v 1.3.2 (https://files.pythonhosted.org/packages/f5/09/5163e884d87d6ac9b8d6e52f8de35eb7dd09b281d744f02fc4aec9a5d5bc/pyobihai-1.3.2.tar.gz) from pypi and I ran into this bug:

ERROR: failed to run scan plugin: packages:
Traceback (most recent call last):
  File "/home/jono/nexb/src/scancode-toolkit-2/src/scancode/cli.py", line 1067, in run_codebase_plugins
    plugin.process_codebase(codebase, **kwargs)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/plugin_package.py", line 135, in process_codebase
    create_package_and_deps(codebase, **kwargs)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/plugin_package.py", line 182, in create_package_and_deps
    for item in items:
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/models.py", line 904, in assemble
    codebase=codebase,
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/pypi.py", line 118, in assign_package_to_resources
    return cls.assign_package_to_parent_tree(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/models.py", line 983, in assign_package_to_parent_tree
    cls.assign_package_to_resources(package, parent, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/pypi.py", line 118, in assign_package_to_resources
    return cls.assign_package_to_parent_tree(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/models.py", line 983, in assign_package_to_parent_tree
    cls.assign_package_to_resources(package, parent, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/pypi.py", line 118, in assign_package_to_resources
    return cls.assign_package_to_parent_tree(package, resource, codebase)
    ...
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/pypi.py", line 118, in assign_package_to_resources
    return cls.assign_package_to_parent_tree(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/models.py", line 985, in assign_package_to_parent_tree
    cls.assign_package_to_resources(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/pypi.py", line 118, in assign_package_to_resources
    return cls.assign_package_to_parent_tree(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/models.py", line 985, in assign_package_to_parent_tree
    cls.assign_package_to_resources(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/pypi.py", line 118, in assign_package_to_resources
    return cls.assign_package_to_parent_tree(package, resource, codebase)
  File "/home/jono/nexb/src/scancode-toolkit-2/src/packagedcode/models.py", line 981, in assign_package_to_parent_tree
    if resource.has_parent():
  File "/home/jono/nexb/src/scancode-toolkit-2/venv/lib/python3.6/site-packages/commoncode/resource.py", line 1207, in has_parent
    return not self.is_root
RecursionError: maximum recursion depth exceeded

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions