From c92d7697e0d5dfd2a79e660353b9f791f70193a6 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Tue, 11 Mar 2025 23:30:48 -0700 Subject: [PATCH] Change some .decode() to .decode("utf-8", errors="backslashreplace") --- cuda_core/cuda/core/experimental/_linker.py | 4 ++-- cuda_core/cuda/core/experimental/_program.py | 2 +- cuda_core/cuda/core/experimental/_utils/cuda_utils.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cuda_core/cuda/core/experimental/_linker.py b/cuda_core/cuda/core/experimental/_linker.py index 42dd2c0ba..5c5e1c3ce 100644 --- a/cuda_core/cuda/core/experimental/_linker.py +++ b/cuda_core/cuda/core/experimental/_linker.py @@ -465,7 +465,7 @@ def get_error_log(self) -> str: _nvjitlink.get_error_log(self._mnff.handle, log) else: log = self._options.formatted_options[2] - return log.decode() + return log.decode("utf-8", errors="backslashreplace") def get_info_log(self) -> str: """Get the info log generated by the linker. @@ -481,7 +481,7 @@ def get_info_log(self) -> str: _nvjitlink.get_info_log(self._mnff.handle, log) else: log = self._options.formatted_options[0] - return log.decode() + return log.decode("utf-8", errors="backslashreplace") def _input_type_from_code_type(self, code_type: str): # this list is based on the supported values for code_type in the ObjectCode class definition. diff --git a/cuda_core/cuda/core/experimental/_program.py b/cuda_core/cuda/core/experimental/_program.py index ab9362531..3125cbb7f 100644 --- a/cuda_core/cuda/core/experimental/_program.py +++ b/cuda_core/cuda/core/experimental/_program.py @@ -503,7 +503,7 @@ def compile(self, target_type, name_expressions=(), logs=None): if logsize > 1: log = b" " * logsize handle_return(nvrtc.nvrtcGetProgramLog(self._mnff.handle, log), handle=self._mnff.handle) - logs.write(log.decode()) + logs.write(log.decode("utf-8", errors="backslashreplace")) return ObjectCode._init(data, target_type, symbol_mapping=symbol_mapping) diff --git a/cuda_core/cuda/core/experimental/_utils/cuda_utils.py b/cuda_core/cuda/core/experimental/_utils/cuda_utils.py index 1bc66a24a..ac8e5e172 100644 --- a/cuda_core/cuda/core/experimental/_utils/cuda_utils.py +++ b/cuda_core/cuda/core/experimental/_utils/cuda_utils.py @@ -74,7 +74,7 @@ def _check_error(error, handle=None): _, logsize = nvrtc.nvrtcGetProgramLogSize(handle) log = b" " * logsize _ = nvrtc.nvrtcGetProgramLog(handle, log) - err += f", compilation log:\n\n{log.decode()}" + err += f", compilation log:\n\n{log.decode('utf-8', errors='backslashreplace')}" raise NVRTCError(err) else: raise RuntimeError(f"Unknown error type: {error}")