Skip to content

Failed to scan a Docker image #173

Description

@pombredanne

This image fails:

docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
docker save docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 > docker-save-elasticsearch-oss:7.10.2.tar

scanpipe create-project es-docker --input-file ~/w421/skopeo/docker-save-elasticsearch-oss\:7.10.2.tar --pipeline docker --execute  
Project es-docker created with work directory /tmp/scancode.io/var/projects/es-docker-c9c093b5
File(s) copied to the project inputs directory:
- docker-save-elasticsearch-oss:7.10.2.tar.gz
Pipeline docker run in progress...
2021-05-06 14:53:43.46 Pipeline [docker] starting
2021-05-06 14:53:43.46 Step [extract_images] starting
2021-05-06 14:53:49.25 Step [extract_images] completed in 5.78 seconds
2021-05-06 14:53:49.25 Step [extract_layers] starting
2021-05-06 14:53:56.11 Step [extract_layers] completed in 6.85 seconds
2021-05-06 14:53:56.11 Step [find_images_linux_distro] starting
2021-05-06 14:53:56.11 Step [find_images_linux_distro] completed in 0.00 seconds
2021-05-06 14:53:56.12 Step [collect_images_information] starting
2021-05-06 14:53:56.12 Step [collect_images_information] completed in 0.00 seconds
2021-05-06 14:53:56.12 Step [collect_and_create_codebase_resources] starting
Some characters could not be decoded, and were replaced with REPLACEMENT CHARACTER.
2021-05-06 14:55:39.21 Step [collect_and_create_codebase_resources] completed in 103.09 seconds
2021-05-06 14:55:39.22 Step [collect_and_create_system_packages] starting
[...]
Creating package #186: pkg:rpm/nmap-ncat@7.70?arch=x86_64
   installed file rootfs_path: /usr/bin/nc
[...]

2021-05-06 15:02:37.20 Pipeline failed
Error during docker execution:

stat: path should be string, bytes, os.PathLike or integer, not NoneType

Traceback:
  File "/tmp/scancode.io/scanpipe/pipelines/__init__.py", line 95, in execute
    step(self)
  File "/tmp/scancode.io/scanpipe/pipelines/docker.py", line 79, in collect_and_create_system_packages
    docker.scan_image_for_system_packages(self.project, image)
  File "/tmp/scancode.io/scanpipe/pipes/docker.py", line 123, in scan_image_for_system_packages
    for i, (purl, package, layer) in enumerate(installed_packages):
  File "/tmp/scancode.io/lib/python3.6/site-packages/container_inspector/image.py", line 329, in get_installed_packages
    for purl, package in layer.get_installed_packages(packages_getter):
  File "/tmp/scancode.io/scanpipe/pipes/rpm.py", line 31, in package_getter
    for package in packages:
  File "/tmp/scancode.io/lib/python3.6/site-packages/packagedcode/rpm_installed.py", line 43, in parse_rpm_xmlish
    if not os.path.exists(location):
  File "/home/pombreda/.pyenv/versions/3.6.10/lib/python3.6/genericpath.py", line 19, in exists
    os.stat(path)

weirdly enough this does not fail, but it could becasue we may not handle these correctly yet per aboutcode-org/container-inspector#29

bin/skopeo copy  docker://docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 docker-archive:skopeo-copy-elasticsearch-oss:7.10.2.tar --policy default-policy.json

Activity

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions