[clang] 70b06fe - scan-build-py: Force the opening in utf-8

Sylvestre Ledru via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 17 10:20:41 PDT 2021


Author: Sylvestre Ledru
Date: 2021-08-17T19:19:39+02:00
New Revision: 70b06fe8a1862f5b9a0ef4e5e9098c1e457cf275

URL: https://github.com/llvm/llvm-project/commit/70b06fe8a1862f5b9a0ef4e5e9098c1e457cf275
DIFF: https://github.com/llvm/llvm-project/commit/70b06fe8a1862f5b9a0ef4e5e9098c1e457cf275.diff

LOG: scan-build-py: Force the opening in utf-8

It fails on ubuntu bionic otherwise with:
```
scan-build-py-14: Run 'scan-view /tmp/scan-build-2021-08-09-09-14-36-765350-nx9s888s' to examine bug reports.
scan-build-py-14: Internal error.
Traceback (most recent call last):
  File "/usr/lib/llvm-14/lib/libscanbuild/__init__.py", line 125, in wrapper
    return function(*args, **kwargs)
  File "/usr/lib/llvm-14/lib/libscanbuild/analyze.py", line 72, in scan_build
    number_of_bugs = document(args)
  File "/usr/lib/llvm-14/lib/libscanbuild/report.py", line 35, in document
    for bug in read_bugs(args.output, html_reports_available):
  File "/usr/lib/llvm-14/lib/libscanbuild/report.py", line 282, in read_bugs
    for bug in parser(bug_file):
  File "/usr/lib/llvm-14/lib/libscanbuild/report.py", line 421, in parse_bug_html
    for line in handler.readlines():
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3360: ordinal not in range(128)
scan-build-py-14: Please run this command again and turn on verbose mode (add '-vvvv' as argument).
```

I guess it is caused by a problem in Python 3.6

Reviewed By: phosek, isthismyaccount

Differential Revision: https://reviews.llvm.org/D107887

Added: 
    

Modified: 
    clang/tools/scan-build-py/lib/libscanbuild/report.py

Removed: 
    


################################################################################
diff  --git a/clang/tools/scan-build-py/lib/libscanbuild/report.py b/clang/tools/scan-build-py/lib/libscanbuild/report.py
index 729b25e6350f..0962b636a921 100644
--- a/clang/tools/scan-build-py/lib/libscanbuild/report.py
+++ b/clang/tools/scan-build-py/lib/libscanbuild/report.py
@@ -417,7 +417,7 @@ def parse_bug_html(filename):
         'bug_path_length': 1
     }
 
-    with open(filename) as handler:
+    with open(filename, encoding='utf-8') as handler:
         for line in handler.readlines():
             # do not read the file further
             if endsign.match(line):


        


More information about the cfe-commits mailing list