Skip to content

Infinite recursion bug when scanning Python package #2928

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions