scancode-toolkit
scancode-toolkit copied to clipboard
scancode crash/error when supplying an existing file to --json-pp which cannot be written to
Description
Almost identical to #3588
How To Reproduce
]$ ./scancode -l scancode --json-pp /bin/ls
Setup plugins...
Collect file inventory...
Scan files for: licenses with 1 process(es)...
[####################] 2
ERROR: failed to run output plugin: json-pp:
Traceback (most recent call last):
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/click/utils.py", line 152, in open
rv, self.should_close = open_stream(
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/click/_compat.py", line 404, in open_stream
return _wrap_io_open(filename, mode, encoding, errors), True
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/click/_compat.py", line 379, in _wrap_io_open
return open(file, mode, encoding=encoding, errors=errors)
PermissionError: [Errno 13] Permission denied: '/bin/ls'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/armijn/git/scancode-toolkit/src/scancode/cli.py", line 1084, in run_codebase_plugins
plugin.process_codebase(codebase, **kwargs)
File "/home/armijn/git/scancode-toolkit/src/formattedcode/output_json.py", line 77, in process_codebase
write_results(codebase, output_file=output_json_pp, pretty=True, **kwargs)
File "/home/armijn/git/scancode-toolkit/src/formattedcode/output_json.py", line 101, in write_results
with jsonstreams.Stream(
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/jsonstreams/__init__.py", line 596, in __init__
self.__inst = self._types[jtype](
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/jsonstreams/__init__.py", line 349, in __init__
self._writer.raw_write('{', indent=_indent, newline=indent)
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/jsonstreams/__init__.py", line 165, in raw_write
self.fd.write(value)
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/click/utils.py", line 137, in __getattr__
return getattr(self.open(), name)
File "/home/armijn/git/scancode-toolkit/venv/lib/python3.10/site-packages/click/utils.py", line 158, in open
raise FileError(self.name, hint=e.strerror) from e
click.exceptions.FileError: Permission denied
Scanning done.
Summary: licenses with 1 process(es)
Errors count: 0
Scan Speed: 1.91 files/sec.
Initial counts: 1 resource(s): 1 file(s) and 0 directorie(s)
Final counts: 1 resource(s): 1 file(s) and 0 directorie(s)
Timings:
scan_start: 2023-11-17T131013.869446
scan_end: 2023-11-17T131017.517708
setup_scan:licenses: 3.12s
setup: 3.12s
scan: 0.52s
total: 3.65s
Removing temporary files...done.
System configuration
For bug reports, it really helps us to know:
- What OS are you running on? (Windows/MacOS/Linux)
- What version of scancode-toolkit was used to generate the scan file?
- What installation method was used to install/run scancode? (pip/source download/other)
Closed in favor of #3596
This seems to have been fixed.