ydb icon indicating copy to clipboard operation
ydb copied to clipboard

[[TPC-DS]]: YQL-17593: q57 pg : Terminate was called, reason(50): ERROR: invalid digit in external "numeric" value

Open qrort opened this issue 1 year ago • 11 comments

ydb/library/benchmarks/gen_queries/gen_queries --syntax pg --variant ds then look at q/ds/q57.sql

qrort avatar Feb 27 '24 14:02 qrort

buffer and its size (size surely too large, and it seems like buffer has junk data?) assert triggers at len = 6

(gdb) p buf
$13 = (NKikimr::NMiniKQL::NDetails::TChunkedInputBuffer &) @0x7fff67a5a638: {<NNonCopyable::TNonCopyable> = {<No data fields>}, Rope_ = {Chain = {Root = {<TRcBuf> = {static OwnedPiece = {<No data fields>}, Backend = {static Empty = {Data = {0, 0}}, Owner = {Data = {94844522731539, 0}}, static ControlToken = <optimized out>, 
            static CookiesSize = 16, static TypeMask = 7, static ValueMask = 18446744073709551608}, Begin = 0x5642a39a0010 "1\003", 
          End = 0x5642a39c0000 "\366\377\377\377\377\377\377\377\366\377\377\377\377\377\377\377f\375\377\377\377\377\377\377f\375\377\377\377\377\377\377n\375\377\377\377\377\377\377n\375\377\377\377\377\377\377\332\377\377\377\377\377\377\377\332\377\377\377\377\377\377\377", static Piece = {<No data fields>}}, Next = 0x5642a3eaf040, 
        Prev = 0x5642a3eaf040, ValidityToken = 9222653127639894406}}, Size = 243056, ValidityToken = 1}, Data_ = 0x5642a39ac381 "\001\020NY Metro\001,\001y>\001\"corpunivamalg #11\001\nBooks\001\030", Len_ = 81023, OriginalLen_ = 131056}
(gdb) p size
$14 = 8206

backtrace

#0  numeric_recv (fcinfo=0x7fff67a588e8) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/adt/numeric.c:980
#1  0x00000000372e5cfe in NYql::NCommon::PgValueFromNativeBinary(TBasicStringBuf<char, std::__y1::char_traits<char>>, unsigned int) (binary=Python Exception <class 'UnicodeDecodeError'>: 'utf-8' codec can't decode byte 0x84 in position 11: invalid start byte
, pgTypeId=1700) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp:2953
#2  0x00000000372eb82f in NKikimr::NMiniKQL::PGUnpackImpl (type=0x7ffd93270200, buf=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp:3521
#3  0x000000002ae2737d in NKikimr::NMiniKQL::(anonymous namespace)::UnpackFromChunkedBuffer<true> (type=0x7ffd93270200, buf=..., topLength=0, holderFactory=..., s=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_pack.cpp:391
#4  0x000000002ae3c7b6 in void NKikimr::NMiniKQL::(anonymous namespace)::DoUnpackBatch<true>(NKikimr::NMiniKQL::TType const*, NKikimr::NMiniKQL::NDetails::TChunkedInputBuffer&, unsigned long, NKikimr::NMiniKQL::THolderFactory const&, NKikimr::NMiniKQL::NDetails::TPackerState&, NKikimr::NMiniKQL::TUnboxedValueBatch&)::'lambda'(unsigned int)::operator()(unsigned int) const (this=0x7fff67a5a490, j=12) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_pack.cpp:563
#5  0x000000002ae3c22b in void NKikimr::NMiniKQL::TUnboxedValueBatch::PushRow<void NKikimr::NMiniKQL::(anonymous namespace)::DoUnpackBatch<true>(NKikimr::NMiniKQL::TType const*, NKikimr::NMiniKQL::NDetails::TChunkedInputBuffer&, unsigned long, NKikimr::NMiniKQL::THolderFactory const&, NKikimr::NMiniKQL::NDetails::TPackerState&, NKikimr::NMiniKQL::TUnboxedValueBatch&)::'lambda'(unsigned int)>(void NKikimr::NMiniKQL::(anonymous namespace)::DoUnpackBatch<true>(NKikimr::NMiniKQL::TType const*, NKikimr::NMiniKQL::NDetails::TChunkedInputBuffer&, unsigned long, NKikimr::NMiniKQL::THolderFactory const&, NKikimr::NMiniKQL::NDetails::TPackerState&, NKikimr::NMiniKQL::TUnboxedValueBatch&)::'lambda'(unsigned int) const&) (this=0x7fff67a5ab68, producer=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_holders.h:181
#6  0x000000002adfbe12 in NKikimr::NMiniKQL::(anonymous namespace)::DoUnpackBatch<true> (type=0x7ffd93270290, buf=..., totalSize=243056, holderFactory=..., s=..., result=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_pack.cpp:562
#7  0x000000002adfaaed in NKikimr::NMiniKQL::TValuePackerTransport<true>::UnpackBatch (this=0x7fff67a5a6e8, buf=..., holderFactory=..., result=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_pack.cpp:1092
#8  0x00000000331685ee in NYql::NDq::(anonymous namespace)::DeserializeBuffer<true> (itemType=0x7ffd93270290, data=..., holderFactory=..., buffer=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_transport.cpp:108
#9  0x00000000331681f3 in NYql::NDq::TDqDataSerializer::Deserialize (this=0x5642af7ee4b0, data=..., itemType=0x7ffd93270290, buffer=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_transport.cpp:139
#10 0x00000000332fabb8 in NYql::NDq::TDqInputChannel::PushImpl (this=0x5642af7ee1c0, data=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_input_channel.cpp:58
#11 0x00000000332faa49 in NYql::NDq::TDqInputChannel::DeserializeAllData (this=0x5642af7ee1c0) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_input_channel.cpp:67
#12 0x00000000332f5172 in NYql::NDq::TDqInputChannel::Pop (this=0x5642af7ee1c0, batch=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_input_channel.cpp:119
#13 0x00000000332bd8d1 in NYql::NDq::(anonymous namespace)::TDqInputUnionStreamValue<true>::FindBuffer (this=0x7ffd840a0030) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_input_producer.cpp:90
#14 0x00000000332bcbef in NYql::NDq::(anonymous namespace)::TDqInputUnionStreamValue<true>::WideFetch (this=0x7ffd840a0030, result=0x5642baa29e18, width=13) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_input_producer.cpp:60
#15 0x00007ffda75eb42a in NKikimr::NMiniKQL::(anonymous namespace)::TFromWideFlowWrapper::WideFetch_(0x00005642BA800FD0). ()
#16 0x000000002ce48918 in NKikimr::NMiniKQL::(anonymous namespace)::TFromWideFlowWrapper::TStreamCodegenValue::WideFetch (this=0x7ffd840a01c0, result=0x7ffd841c2b80, width=5) at /-B/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_flow.cpp:424
#17 0x000000002c71fd9d in NYql::NUdf::TBoxedValueAccessor::WideFetch (value=..., result=0x7ffd841c2b80, width=5) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:282
#18 0x000000002c71fc9a in NYql::NUdf::TUnboxedValuePod::WideFetch (this=0x5642bf8b3e70, result=0x7ffd841c2b80, width=5) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:614
#19 0x00000000332b445e in NYql::NDq::TDqTaskRunner::FetchAndDispatch (this=0x5642bf8b3c00) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:894
#20 0x000000003328aeea in NYql::NDq::TDqTaskRunner::Run (this=0x5642bf8b3c00) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:712
#21 0x000000003334cc99 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::OnContinueRun (this=0x5642be2e3ee0, ev=Python Exception <class 'gdb.error'>: There is no member named T_.
) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:168
#22 0x000000003334b736 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::Handler (this=0x5642be2e3ee0, ev=TAutoPtr<NActors::IEventHandle> = {...}) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:61
#23 0x000000002486a8de in NActors::TActorCallbackBehaviour::Receive (this=0x5642be2e3f10, actor=0x5642be2e3ee0, ev=TAutoPtr<NActors::IEventHandle> = {...}) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/actor.cpp:232
#24 0x000000002498b833 in NActors::IActor::Receive (this=0x5642be2e3ee0, ev=TAutoPtr<NActors::IEventHandle> = {...}) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/actor.h:526
#25 0x0000000024982ece in NActors::TGenericExecutorThread::Execute<NActors::TMailboxTable::THTSwapMailbox> (this=0x5642bd586300, mailbox=0x5642bad81140, hint=8261, isTailExecution=false) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:244
#26 0x0000000024976e7d in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*)::$_0::operator()(unsigned int, bool) const (this=0x7fff67a5cbe8, activation=8261, isTailExecution=false) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:425
#27 0x0000000024976855 in NActors::TGenericExecutorThread::ProcessExecutorPool (this=0x5642bd586300, pool=0x5642bdf81580) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:478
#28 0x000000002497773e in NActors::TExecutorThread::ThreadProc (this=0x5642bd586300) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:504
#29 0x000000002412fe36 in (anonymous namespace)::ThreadProcWrapper<ISimpleThread> (param=0x5642bd586300) at /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:383
#30 0x00000000241356bd in (anonymous namespace)::TPosixThread::ThreadProxy (arg=0x5642bfc9b5d0) at /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:244
#31 0x00007ffff7e97609 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#32 0x00007ffff7db7353 in clone () from /lib/x86_64-linux-gnu/libc.so.6

qrort avatar Feb 27 '24 14:02 qrort

I managed to reproduce the error with dqrun compiled with --sanitize=address, and it stays silent when the error is present.

qrort avatar Feb 28 '24 13:02 qrort

Error did not reproduce with dqrun compiled with --sanitize=undefined, even though I left it running for a day (asan one took two hours of relaunching).

qrort avatar Feb 28 '24 18:02 qrort

I also got this error when reproducing https://github.com/ydb-platform/ydb/blob/74ce263d98a8d4dd054ed81d2fff816eef862b09/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/access/common/toast_compression.c#L100

qrort avatar Feb 29 '24 16:02 qrort

any combination of dq.UseOOBTransport and dq.UseFastPickleTransport still produces failures.

qrort avatar Mar 01 '24 14:03 qrort

/home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/002816/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_grace_join_imp.cpp:60:37: runtime error: null pointer passed as argument 2, which is declared to never be null
/home/ee8jsmrbc5d1utc9advj/.ya/tools/v4/1966560555/usr/include/string.h:47:28: note: nonnull attribute specified here
    #0 0x65b3dbd2 in NKikimr::NMiniKQL::GraceJoin::TTable::AddTuple(unsigned long*, char**, unsigned int*, NYql::NUdf::TUnboxedValue*) /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/002816/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_grace_join_imp.cpp:60:13
    #1 0x65af2b65 in NKikimr::NMiniKQL::(anonymous namespace)::TGraceJoinState::FetchValues(NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/002815/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_grace_join.cpp:854:48
    #2 0x7f272778e724  (<unknown module>)
    #3 0x659e45d6 in NKikimr::NMiniKQL::(anonymous namespace)::TFromWideFlowWrapper::TStreamCodegenValue::WideFetch(NYql::NUdf::TUnboxedValue*, unsigned int) /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/00280f/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_flow.cpp:424:20
    #4 0x63fff884 in NYql::NUdf::TBoxedValueAccessor::WideFetch(NYql::NUdf::IBoxedValue&, NYql::NUdf::TUnboxedValue*, unsigned int) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:282:18
    #5 0x63fff4a6 in NYql::NUdf::TUnboxedValuePod::WideFetch(NYql::NUdf::TUnboxedValue*, unsigned int) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:614:12
    #6 0x7b4a04b3 in NYql::NDq::TDqTaskRunner::FetchAndDispatch() /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:894:61
    #7 0x7b41e235 in NYql::NDq::TDqTaskRunner::Run() /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:712:26
    #8 0x7b6f4f11 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::OnContinueRun(TAutoPtr<NActors::TEventHandle<NYql::NDq::NTaskRunnerActor::TEvContinueRun>, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:168:31
    #9 0x7b6ee522 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::Handler(TAutoPtr<NActors::IEventHandle, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:61:17
    #10 0x491fc201 in NActors::TActorCallbackBehaviour::Receive(NActors::IActor*, TAutoPtr<NActors::IEventHandle, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/actor.cpp:232:9
    #11 0x495f6585 in NActors::IActor::Receive(TAutoPtr<NActors::IEventHandle, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/actor.h:526:23
    #12 0x495d62eb in NActors::TGenericExecutorThread::TProcessingResult NActors::TGenericExecutorThread::Execute<NActors::TMailboxTable::THTSwapMailbox>(NActors::TMailboxTable::THTSwapMailbox*, unsigned int, bool) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:244:28
    #13 0x495acdc4 in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*)::$_0::operator()(unsigned int, bool) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:425:25
    #14 0x495ab35f in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:478:13
    #15 0x495af3ee in NActors::TExecutorThread::ThreadProc() /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:504:9
    #16 0x47a05941 in void* (anonymous namespace)::ThreadProcWrapper<ISimpleThread>(void*) /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:383:45
    #17 0x47a16050 in (anonymous namespace)::TPosixThread::ThreadProxy(void*) /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:244:20
    #18 0x7f2727d5c608 in start_thread /build/glibc-wuryBv/glibc-2.31/nptl/pthread_create.c:477:8
    #19 0x7f2727c7c352 in clone /build/glibc-wuryBv/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/002816/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_grace_join_imp.cpp:60:37 in 

qrort avatar Mar 06 '24 09:03 qrort

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/utils.h:76:12 in 
/home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/utils.h:76:12: runtime error: load of misaligned address 0x7fee9032b0a5 for type 'uint32' (aka 'unsigned int'), which requires 4 byte alignment
0x7fee9032b0a5: note: pointer points here
 00 00 00 00 44 00 00  00 4e 6f 72 74 68 20 4d  69 64 77 65 73 74 00 00  00 00 00 00 00 00 44 00  00
             ^ 
    #0 0x88681047 in NYql::GetFullVarSize(varlena const*) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/utils.h:76:12
    #1 0x888be9fe in NYql::TPgBuilderImpl::MakeText(char const*) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp:4172:20
    #2 0x6403ad40 in NKikimr::NMiniKQL::(anonymous namespace)::TStringBlockItemConverter<arrow::BinaryType, true, (NYql::NUdf::EPgStringType)1>::MakeValue(NYql::NUdf::TBlockItem, NKikimr::NMiniKQL::THolderFactory const&) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_block_reader.cpp:63:32
    #3 0x63fbdf50 in NKikimr::NMiniKQL::(anonymous namespace)::TWideFromBlocksWrapper::TState::Get(NKikimr::NMiniKQL::THolderFactory const&, unsigned long) const /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/0027f6/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_blocks.cpp:697:38
    #4 0x63fbb851 in NKikimr::NMiniKQL::(anonymous namespace)::TWideFromBlocksWrapper::DoCalculate(NYql::NUdf::TUnboxedValue&, NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/0027f6/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_blocks.cpp:519:26
    #5 0x63fb9c3d in NKikimr::NMiniKQL::TStatefulWideFlowComputationNode<NKikimr::NMiniKQL::(anonymous namespace)::TWideFromBlocksWrapper, false>::FetchValues(NKikimr::NMiniKQL::TComputationContext&, NYql::NUdf::TUnboxedValue* const*) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_impl.h:653:52
    #6 0x659e92ed in NKikimr::NMiniKQL::(anonymous namespace)::TFromWideFlowWrapper::TStreamValue::WideFetch(NYql::NUdf::TUnboxedValue*, unsigned int) /home/ee8jsmrbc5d1utc9advj/.ya/build/build_root/2dnn/00280f/ydb/library/yql/minikql/comp_nodes/llvm14/mkql_flow.cpp:397:51
    #7 0x63fff884 in NYql::NUdf::TBoxedValueAccessor::WideFetch(NYql::NUdf::IBoxedValue&, NYql::NUdf::TUnboxedValue*, unsigned int) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:282:18
    #8 0x63fff4a6 in NYql::NUdf::TUnboxedValuePod::WideFetch(NYql::NUdf::TUnboxedValue*, unsigned int) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:614:12
    #9 0x7b4a04b3 in NYql::NDq::TDqTaskRunner::FetchAndDispatch() /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:894:61
    #10 0x7b41e235 in NYql::NDq::TDqTaskRunner::Run() /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:712:26
    #11 0x7b6f4f11 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::OnContinueRun(TAutoPtr<NActors::TEventHandle<NYql::NDq::NTaskRunnerActor::TEvContinueRun>, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:168:31
    #12 0x7b6ee522 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::Handler(TAutoPtr<NActors::IEventHandle, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:61:17
    #13 0x491fc201 in NActors::TActorCallbackBehaviour::Receive(NActors::IActor*, TAutoPtr<NActors::IEventHandle, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/actor.cpp:232:9
    #14 0x495f6585 in NActors::IActor::Receive(TAutoPtr<NActors::IEventHandle, TDelete>&) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/actor.h:526:23
    #15 0x495d62eb in NActors::TGenericExecutorThread::TProcessingResult NActors::TGenericExecutorThread::Execute<NActors::TMailboxTable::THTSwapMailbox>(NActors::TMailboxTable::THTSwapMailbox*, unsigned int, bool) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:244:28
    #16 0x495acdc4 in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*)::$_0::operator()(unsigned int, bool) const /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:425:25
    #17 0x495ab35f in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*) /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:478:13
    #18 0x495af3ee in NActors::TExecutorThread::ThreadProc() /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:504:9
    #19 0x47a05941 in void* (anonymous namespace)::ThreadProcWrapper<ISimpleThread>(void*) /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:383:45
    #20 0x47a16050 in (anonymous namespace)::TPosixThread::ThreadProxy(void*) /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:244:20
    #21 0x7feeede13608 in start_thread /build/glibc-wuryBv/glibc-2.31/nptl/pthread_create.c:477:8
    #22 0x7feeedd33352 in clone /build/glibc-wuryBv/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95

qrort avatar Mar 06 '24 10:03 qrort

I minimized query to this:

--!syntax_pg
set dq.EnableDqReplicate="1";

select 
        avg(sum(cs_sales_price)) over
          (partition by i_category, i_brand,
                     cc_name)
          avg_monthly_sales,
        avg(sum(cs_sales_price)) over
          (partition by i_category, i_brand,
                     cc_name order by i_brand) rn
from bindings.item, bindings.catalog_sales, bindings.date_dim, bindings.call_center
where cs_item_sk = i_item_sk and
      cs_sold_date_sk = d_date_sk and
      cc_call_center_sk= cs_call_center_sk and
      (d_year = 1999 or d_year = 1998)
group by i_category, i_brand, cc_name, d_year

and got flaky

Terminate was called, reason(25): ERROR:  division by zero

on it.

qrort avatar May 01 '24 17:05 qrort

#0  errmsg (fmt=0x72195ba "division by zero") at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/error/elog.c:912
#1  0x000000001c609a65 in div_var (var1=var1@entry=0x7ffe37a3a2f0, var2=var2@entry=0x7ffe37a3a2d0, result=result@entry=0x7ffe37a3a310, rscale=<optimized out>, round=<optimized out>) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/adt/numeric.c:8439
#2  0x000000001c6092c6 in numeric_div_opt_error (num1=<optimized out>, num2=<optimized out>, have_error=0x0) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/adt/numeric.c:3098
#3  0x000000001c6ba731 in DirectFunctionCall2Coll (func=0x1c608ee0 <numeric_div>, collation=0, arg1=140729831952128, arg2=1) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/postgresql/src/backend/utils/fmgr/fmgr.c:823
#4  0x000000001c00d980 in NYql::TPgResolvedCall<true>::DoCall (this=0x55fdf2cca780, callInfo=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp:1239
#5  NYql::TPgResolvedCall<true>::DoCalculate (this=0x55fdf2cca780, compCtx=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/parser/pg_wrapper/comp_factory.cpp:1227
#6  0x000000001c00d311 in NKikimr::NMiniKQL::TMutableComputationNode<NYql::TPgResolvedCall<true>>::GetValue(NKikimr::NMiniKQL::TComputationContext&) const (this=0x72195ba, compCtx=...) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/minikql/computation/mkql_computation_node_impl.h:217
#7  0x00007ffd7f653a25 in NKikimr::NMiniKQL::TArrayNode::internal_Get_(0x000055FDF7362860). ()
#8  0x00007ffd7f652ca7 in NKikimr::NMiniKQL::TArrayNode::internal_Get_(0x000055FDF73628F0). ()
#9  0x00007ffd7f64ce68 in NKikimr::NMiniKQL::(anonymous namespace)::TFromWideFlowWrapper::WideFetch_(0x000055FDF78B84A0). ()
#10 0x000000001a3c18ab in NYql::NUdf::TBoxedValueAccessor::WideFetch (value=..., result=0x0, width=933531392) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:282
#11 NYql::NUdf::TUnboxedValuePod::WideFetch (this=0x55fdf5880e70, result=0x0, width=933531392) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/public/udf/udf_value_inl.h:614
#12 NYql::NDq::TDqTaskRunner::FetchAndDispatch (this=this@entry=0x55fdf5880c00) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:900
#13 0x000000001a3b8679 in NYql::NDq::TDqTaskRunner::Run (this=0x55fdf5880c00) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/runtime/dq_tasks_runner.cpp:716
#14 0x000000001a40434b in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::OnContinueRun (this=this@entry=0x55fdfe49d490, ev=Python Exception <class 'gdb.error'>: There is no member named T_.
) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:170
#15 0x000000001a402d17 in NYql::NDq::NTaskRunnerActor::TLocalTaskRunnerActor::Handler (this=0x55fdfe49d490, ev=TAutoPtr<NActors::IEventHandle> = {...}) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/yql/dq/actors/task_runner/task_runner_actor_local.cpp:63
#16 0x0000000012e3256d in NActors::TGenericExecutorThread::Execute<NActors::TMailboxTable::THTSwapMailbox> (this=this@entry=0x55fdfdf56480, mailbox=0x55fdfa282900, hint=hint@entry=8356, isTailExecution=<optimized out>)
    at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:250
#17 0x0000000012e2aaf2 in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*)::$_0::operator()(unsigned int, bool) const (this=this@entry=0x7ffe37a3acf0, activation=activation@entry=8356, isTailExecution=false)
    at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:435
#18 0x0000000012e2a4d8 in NActors::TGenericExecutorThread::ProcessExecutorPool (this=this@entry=0x55fdfdf56480, pool=<optimized out>) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:488
#19 0x0000000012e2b29a in NActors::TExecutorThread::ThreadProc (this=0x55fdfdf56480) at /home/ee8jsmrbc5d1utc9advj/ydb/ydb/library/actors/core/executor_thread.cpp:517
#20 0x0000000012a6738a in (anonymous namespace)::TPosixThread::ThreadProxy (arg=0x55fdffc8d1a0) at /home/ee8jsmrbc5d1utc9advj/ydb/util/system/thread.cpp:244
#21 0x00007ffff7e97609 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#22 0x00007ffff7db7353 in clone () from /lib/x86_64-linux-gnu/libc.so.6

qrort avatar May 01 '24 17:05 qrort

minimized further.

--!syntax_pg
set dq.EnableDqReplicate="1";

select 
  avg(sum(cs_sales_price)) over (partition by i_brand) avg_sales
from bindings.item, bindings.catalog_sales, bindings.date_dim
where cs_item_sk = i_item_sk and
      cs_sold_date_sk = d_date_sk and
      (
        d_year = 1999 or
        ( d_year = 1999-1 and d_moy =12) or
        ( d_year = 1999+1 and d_moy =1)
      )
group by i_brand, d_year

qrort avatar May 02 '24 09:05 qrort

Error occurs in this stage:

(
(return (lambda '($1) (block '(
  (let $2 '"_yql_partition_key_0_0")
  (let $3 (NarrowSqueezeToDict (ToFlow $1) (lambda '($5 $6 $7) $6) (lambda '($8 $9 $10) (AsStruct '('_yql_agg_0 $8) '('"_yql_key_selector_0" $9) '($2 $10))) '('Auto 'Many)))
  (let $4 (Chopper (Map (OrderedFlatMap $3 (lambda '($11) (OrderedFlatMap (DictPayloads $11) (lambda '($12) $12)))) (lambda '($13) (AsStruct '('_yql_agg_0 (Member $13 '_yql_agg_0)) '($2 (Member $13 $2))))) (lambda '($14) (StablePickle (Member $14 $2))) (lambda '($15 $16) (AggrNotEquals $15 (StablePickle (Member $16 $2)))) (lambda '($17 $18) (block '(
    (let $19 (FromFlow $18))
    (let $20 (QueueCreate (StructType '('_yql_agg_0 (PgType 'numeric)) '($2 (PgType 'text))) (Void) (Uint64 '0) (DependsOn $19)))
    (let $21 (Uint64 '"18446744073709551615"))
    (let $22 (Chain1Map (ToFlow (PreserveStream $19 $20 $21)) (lambda '($23) (block '(
      (let $24 (Member $23 '_yql_agg_0))
      (let $25 '('_yql_agg_0 $24))
      (let $26 (QueueRange $20 (Uint64 '1) $21 (DependsOn $23)))
      (let $27 '"numeric_avg_accum")
      (let $28 (PgClone (Null) (DependsOn (AsStruct $25)) (DependsOn (String '"_yql_win_0"))))
      (let $29 (PgResolvedCallCtx $27 '"2858" '() $28 $24))
      (let $30 (Fold (FlatMap $26 (lambda '($34) $34)) $29 (lambda '($35 $36) (block '(
        (let $37 (PgResolvedCallCtx $27 '"2858" '() $36 (Member $35 '_yql_agg_0)))
        (return (Coalesce $37 $36))
      )))))
      (let $31 (PgResolvedCallCtx '"numeric_avg" '"1837" '() (WithContext $30 'WinAgg)))
      (let $32 '('"_yql_win_0" $31))
      (let $33 (AsStruct $25 '($2 (Member $23 $2)) $32))
      (return '($33 (AsStruct $32)))
    ))) (lambda '($38 $39) (block '(
      (let $40 (Nth $39 '1))
      (let $41 (AsStruct '('_yql_agg_0 (Member $38 '_yql_agg_0)) '($2 (Member $38 $2)) '('"_yql_win_0" (Member $40 '"_yql_win_0"))))
      (return '($41 $40))
    )))))
    (return (Map (WithContext (OrderedMap $22 (lambda '($42) (Nth $42 '0))) 'WinAgg) (lambda '($43) (AsStruct '('"_yql_win_0" (Member $43 '"_yql_win_0"))))))
  )))))
  (return (FromFlow (ExpandMap $4 (lambda '($44) (Member $44 '"_yql_win_0")))))
))))
)

qrort avatar May 03 '24 14:05 qrort