aboutcode-org / aboutcode-org/commoncode

Consider that Resource.parent can be None when removing resources from the codebase

Abierto
#84 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
4
Forks
23
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

scancode version: 4b57a7fe86
commoncode version: 32.2.1
python version: 3.13
os: linux

The problematic code:

https://github.com/aboutcode-org/commoncode/blob/aba7c1bdce1477b6b44c4afabd747bd81d9654cf/src/commoncode/resource.py#L908-L918

parent can be None:

https://github.com/aboutcode-org/commoncode/blob/aba7c1bdce1477b6b44c4afabd747bd81d9654cf/src/commoncode/resource.py#L791-L792

None has no `children_names` , it fails. This happens in example if the plugin_ignore of scancode trys to remove some resources from the codebase at: scancode/plugin_ignore.py(121)process_codebase()

How to reproduce:
~~~
❯ scancode --processes 10 -l -p -c -i --ignore "*/test/*" --license-score 20 --strip-root --json-pp test.json repos/git/github/systemd/systemd-stable
Setup plugins...
Collect file inventory...
ERROR: failed to run pre-scan plugin: ignore:
Traceback (most recent call last):
File "/home/jloehel/projects/github.com/aboutcode-org/scancode-toolkit/src/scancode/cli.py", line 1119, in run_codebase_plugins
plugin.process_codebase(codebase, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "/home/jloehel/projects/github.com/aboutcode-org/scancode-toolkit/src/scancode/plugin_ignore.py", line 121, in process_codebase
remove_resource(resource)
~~~~~~~~~~~~~~~^^^^^^^^^^
File "/home/jloehel/projects/github.com/aboutcode-org/scancode-toolkit/.venv/lib64/python3.13/site-packages/commoncode/resource.py", line 911, in remove_resource
parent.children_names.remove(resource.name)
^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'children_names'
...
~~~

Resource is:
~~~
ScannedResource(path='systemd-stable/test/fuzz/fuzz-unit-file/dev-mapper-fedora_krowka/x2dswap.swap', is_file=True, is_filtered=False, detected_license_expression=None, detected_license_expression_spdx=None, license_detections=[], license_clues=[], percentage_of_license_text=0, copyrights=[], holders=[], authors=[])
~~~

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.