Keep the readable half of a provider's error for the settings row
ONNX Runtime's errors open with a source path and a template signature; the first 160 characters of a CUDA failure were all signature. The reason now starts at the first word a person can act on.
This commit is contained in:
@@ -192,8 +192,18 @@ fn time_rung(
|
||||
Ok((times[1], key))
|
||||
}
|
||||
|
||||
/// The part of a provider's error a person can act on. ONNX Runtime's
|
||||
/// begin with a source path and a C++ template signature; the words —
|
||||
/// "CUDA failure 999: unknown error", "FAIL : Failed to load library" —
|
||||
/// come after, and the settings row has room for one line of them.
|
||||
fn first_line(s: &str) -> String {
|
||||
s.lines().next().unwrap_or("").chars().take(160).collect()
|
||||
let line = s.lines().next().unwrap_or("");
|
||||
let start = ["failure", "FAIL :", "Error:", "error:"]
|
||||
.iter()
|
||||
.filter_map(|m| line.find(m))
|
||||
.min()
|
||||
.unwrap_or(0);
|
||||
line[start..].chars().take(200).collect()
|
||||
}
|
||||
|
||||
/// Everything a change of which should re-probe: the runtime and where it
|
||||
|
||||
Reference in New Issue
Block a user