-
Notifications
You must be signed in to change notification settings - Fork 8.3k
[CI crash] ColumnArray conversion failed in ArrayJoin #86642
Copy link
Copy link
Closed
Labels
bugConfirmed user-visible misbehaviour in official releaseConfirmed user-visible misbehaviour in official releasecrash-ci
Description
Stack trace details
The sipHash64(st.trace_full) is 1478846248164228819
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 (1478846248164228819, {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_log found:
DB::abortOnFailedAssertion(String const&, void* const*, unsigned long, unsigned long)
DB::handle_error_code(String const&, std::basic_string_view<char, std::char_traits<char>>, int, bool, std::vector<void*, std::allocator<void*>> const&)
DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool)
DB::Exception::Exception<unsigned long, unsigned long&>(int, FormatStringHelperImpl<std::type_identity<unsigned long>::type, std::type_identity<unsigned long&>::type>, unsigned long&&, unsigned long&)
DB::ColumnArray::ColumnArray(COW<DB::IColumn>::mutable_ptr<DB::IColumn>&&, COW<DB::IColumn>::mutable_ptr<DB::IColumn>&&)
DB::ColumnArray::convertToFullColumnIfConst() const
DB::ArrayJoinResultIterator::ArrayJoinResultIterator(DB::ArrayJoinAction const*, DB::Block)
std::__unique_if<DB::ArrayJoinResultIterator>::__unique_single std::make_unique[$ABI]<DB::ArrayJoinResultIterator, DB::ArrayJoinAction*, DB::Block>(DB::ArrayJoinAction*&&, DB::Block&&)
DB::ArrayJoinAction::execute(DB::Block)
DB::ArrayJoinTransform::consume(DB::Chunk)
DB::IInflatingTransform::work()
DB::executeJob(DB::ExecutingGraph::Node*, DB::ReadProgressCallback*)
DB::ExecutionThreadContext::executeTask()
DB::PipelineExecutor::executeStepImpl(unsigned long, DB::IAcquiredSlot*, std::atomic<bool>*)
DB::PipelineExecutor::executeSingleThread(unsigned long, DB::IAcquiredSlot*)
DB::PipelineExecutor::executeImpl(unsigned long, bool)
DB::PipelineExecutor::execute(unsigned long, bool)
DB::threadFunction(DB::PullingAsyncPipelineExecutor::Data&, std::shared_ptr<DB::ThreadGroup>, unsigned long, bool)
operator()
decltype(std::declval<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&>()()) std::__invoke[$ABI]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&)
decltype(auto) std::__apply_tuple_impl[$ABI]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&, std::__tuple_indices<...>)
decltype(auto) std::apply[$ABI]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&)
operator()
decltype(std::declval<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>()()) std::__invoke[$ABI]<ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)
void std::__invoke_void_return_wrapper<void, true>::__call[$ABI]<ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&)
ThreadPoolImpl<std::thread>::ThreadFromThreadPool::worker()
decltype(*std::declval<ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>().*std::declval<void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)()>()()) std::__invoke[$ABI]<void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*, void>(void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*&&)
void std::__thread_execute[$ABI]<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*, 2ul>(std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>&, std::__tuple_indices<2ul>)
void* std::__thread_proxy[$ABI]<std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>>(void*)
Possible causes:
- Incorrect data type conversion during array join operation
- Mismatch between array and nested data structures
- Invalid column properties during column array conversion
- Resource constraints during column array conversion
The stack trace appeared in the following checks:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugConfirmed user-visible misbehaviour in official releaseConfirmed user-visible misbehaviour in official releasecrash-ci