WITH
(
SELECT groupArrayDistinct(cleanStackTrace(trace_full) AS trace) FROM default.stack_traces
WHERE sipHash64(trace) IN (17987466783627542056, {ANOTHER_TRACE_HASH}) -- FIXME: replace with the known hash
) AS traces,
1.97 AS alpha,
stack_frame_weights AS (
WITH
(
SELECT count()
FROM default.stack_traces
FINAL
) AS total,
2.0 AS beta,
3.7 AS gamma
SELECT
arrayJoin(cleanStackTrace(trace_full)) AS frame,
countDistinct(trace_full) AS count,
log(total / count) AS IDF,
sigmoid(beta * (IDF - gamma)) AS weight
FROM default.stack_traces
FINAL
GROUP BY frame
),
(SELECT groupArray(weight) AS w, groupArray(frame) AS f FROM stack_frame_weights) AS weights,
(trace -> arrayMap((_frame, pos) -> (pow(pos, -alpha) * arrayFirst(w, f -> (f = _frame), weights.w, weights.f)), trace, arrayEnumerate(trace))) AS get_trace_weights,
(arr -> arrayStringConcat(arr, '\n')) AS joinArr
SELECT arraySimilarity(traces[1], traces[2], get_trace_weights(traces[1]) AS weights1, get_trace_weights(traces[2]) AS weights2) AS similarity,
arrayLevenshteinDistanceWeighted(traces[1], traces[2], weights1, weights2),
joinArr(traces[1]), joinArr(traces[2]), joinArr(weights1), joinArr(weights2)
Stack trace details
The sipHash64(st.trace_full) is 17987466783627542056
The trace is from the master or release branch: True
The query for CIDB to compare the trace with the known one:
WITH ( SELECT groupArrayDistinct(cleanStackTrace(trace_full) AS trace) FROM default.stack_traces WHERE sipHash64(trace) IN (17987466783627542056, {ANOTHER_TRACE_HASH}) -- FIXME: replace with the known hash ) AS traces, 1.97 AS alpha, stack_frame_weights AS ( WITH ( SELECT count() FROM default.stack_traces FINAL ) AS total, 2.0 AS beta, 3.7 AS gamma SELECT arrayJoin(cleanStackTrace(trace_full)) AS frame, countDistinct(trace_full) AS count, log(total / count) AS IDF, sigmoid(beta * (IDF - gamma)) AS weight FROM default.stack_traces FINAL GROUP BY frame ), (SELECT groupArray(weight) AS w, groupArray(frame) AS f FROM stack_frame_weights) AS weights, (trace -> arrayMap((_frame, pos) -> (pow(pos, -alpha) * arrayFirst(w, f -> (f = _frame), weights.w, weights.f)), trace, arrayEnumerate(trace))) AS get_trace_weights, (arr -> arrayStringConcat(arr, '\n')) AS joinArr SELECT arraySimilarity(traces[1], traces[2], get_trace_weights(traces[1]) AS weights1, get_trace_weights(traces[2]) AS weights2) AS similarity, arrayLevenshteinDistanceWeighted(traces[1], traces[2], weights1, weights2), joinArr(traces[1]), joinArr(traces[2]), joinArr(weights1), joinArr(weights2)The following new stack trace from CI Logs
system.crash_logfound:Possible causes:
The stack trace appeared in the following checks: