scancode-toolkit icon indicating copy to clipboard operation
scancode-toolkit copied to clipboard

scancode crash/error when supplying an existing file to --json-pp which cannot be written to

Open armijnhemel opened this issue 1 year ago • 1 comments

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)

armijnhemel avatar Nov 17 '23 13:11 armijnhemel

Closed in favor of #3596

pombredanne avatar Nov 22 '23 15:11 pombredanne

This seems to have been fixed.

armijnhemel avatar Jun 26 '24 11:06 armijnhemel