-
Notifications
You must be signed in to change notification settings - Fork 735
Closed
Description
KIKIMR-22802
ydb/core/grpc_services/query/rpc_fetch_script_results.cpp should not fail when CPP SDK throws an exception.
StackTrace
#0 #0 0x5555a7b2680b in __sanitizer_print_stack_trace mount_path/contrib/libs/clang18-rt/lib/asan/asan_stack.cpp:87:3
#1 #1 0x5555a80d23b7 in fuzzer::PrintStackTrace() mount_path/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtil.cpp:210:5
#2 #2 0x5555a8033091 in fuzzer::Fuzzer::CrashCallback() mount_path/contrib/libs/libfuzzer/lib/fuzzer/FuzzerLoop.cpp:231:3
#3 #3 0x5555a8032f96 in fuzzer::Fuzzer::StaticCrashSignalCallback() mount_path/contrib/libs/libfuzzer/lib/fuzzer/FuzzerLoop.cpp:202:6
#4 #4 0x5555a80d4377 in fuzzer::CrashHandler(int, siginfo_t*, void*) mount_path/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilPosix.cpp:46:3
#5 #5 0x7ffff7f9f3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) (BuildId: e54761f7b554d0fcc1562959665d93dffbebdaf0)
#6 #6 0x7ffff7dde18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) (BuildId: 099b9225bcb0d019d9d60884be583eb31bb5f44e)
#7 #7 0x7ffff7dbd858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) (BuildId: 099b9225bcb0d019d9d60884be583eb31bb5f44e)
#8 #8 0x5555a7bc11fe in terminate_with_diagnostics() mount_path/contrib/libs/cxxsupp/libcxxrt/exception.cc:351:2
#9 #9 0x5555a7bbb15f in std::terminate() mount_path/contrib/libs/cxxsupp/libcxxrt/exception.cc:1621:4
#10 #10 0x5555a7bbc3e2 in report_failure(_Unwind_Reason_Code, __cxxabiv1::__cxa_exception*) mount_path/contrib/libs/cxxsupp/libcxxrt/exception.cc:821:2
#11 #11 0x5555a7bbba05 in throw_exception(__cxxabiv1::__cxa_exception*) mount_path/contrib/libs/cxxsupp/libcxxrt/exception.cc:843:2
#12 #12 0x5555a7bbb7b3 in __cxa_throw mount_path/contrib/libs/cxxsupp/libcxxrt/exception.cc:882:2
#13 #13 0x5555b1a39c3d in NKikimr::NOperationId::TOperationId::TImpl::TImpl(std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>> const&, bool) mount_path/contrib/ydb/public/sdk/cpp/src/library/operation_id/operation_id.cpp:122:13
#14 #14 0x5555b1a2fb64 in std::__y1::__unique_if<NKikimr::NOperationId::TOperationId::TImpl>::__unique_single std::__y1::make_unique[abi:fe190000]<NKikimr::NOperationId::TOperationId::TImpl, std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>> const&, bool&>(std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>> const&, bool&) mount_path/contrib/libs/cxxsupp/libcxx/include/__memory/unique_ptr.h:621:30
#15 #15 0x5555b1a2f98a in NKikimr::NOperationId::TOperationId::TOperationId(std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>> const&, bool) mount_path/contrib/ydb/public/sdk/cpp/src/library/operation_id/operation_id.cpp:217:12
#16 #16 0x5555e8eaf139 in NKikimr::NKqp::ScriptExecutionIdFromOperation(TBasicString<char, std::__y1::char_traits<char>> const&) mount_path/contrib/ydb/core/kqp/common/kqp_script_executions.cpp:15:32
#17 #17 0x5555ed4b5318 in NKikimr::NGRpcService::(anonymous namespace)::TFetchScriptResultsRPC::GetExecutionIdFromRequest() mount_path/contrib/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp:128:39
#18 #18 0x5555ed4b4ad9 in NKikimr::NGRpcService::(anonymous namespace)::TFetchScriptResultsRPC::Bootstrap() mount_path/contrib/ydb/core/grpc_services/query/rpc_fetch_script_results.cpp:70:14
#19 #19 0x5555ed4b4371 in NActors::TActorBootstrapped<NKikimr::NGRpcService::(anonymous namespace)::TFetchScriptResultsRPC>::StateBootstrap(TAutoPtr<NActors::IEventHandle, TDelete>&) mount_path/contrib/ydb/library/actors/core/actor_bootstrapped.h:26:22
#20 #20 0x5555ab0f3986 in NActors::TActorCallbackBehaviour::Receive(NActors::IActor*, TAutoPtr<NActors::IEventHandle, TDelete>&) mount_path/contrib/ydb/library/actors/core/actor.cpp:272:9
#21 #21 0x5555ab2571fa in NActors::IActor::Receive(TAutoPtr<NActors::IEventHandle, TDelete>&) mount_path/contrib/ydb/library/actors/core/actor.h:553:23
#22 #22 0x5555ab251796 in NActors::TExecutorThread::Execute(NActors::TMailbox*, bool) mount_path/contrib/ydb/library/actors/core/executor_thread.cpp:269:28
#23 #23 0x5555ab25c3ea in NActors::TExecutorThread::ProcessExecutorPool()::$_0::operator()(NActors::TMailbox*, bool) const mount_path/contrib/ydb/library/actors/core/executor_thread.cpp:460:39
#24 #24 0x5555ab25b0d6 in NActors::TExecutorThread::ProcessExecutorPool() mount_path/contrib/ydb/library/actors/core/executor_thread.cpp:512:13
#25 #25 0x5555ab25d973 in NActors::TExecutorThread::ThreadProc() mount_path/contrib/ydb/library/actors/core/executor_thread.cpp:538:9
#26 #26 0x5555a7fbcd20 in void* (anonymous namespace)::ThreadProcWrapper<ISimpleThread>(void*) mount_path/util/system/thread.cpp:383:45
#27 #27 0x5555a7fc800c in (anonymous namespace)::TPosixThread::ThreadProxy(void*) mount_path/util/system/thread.cpp:244:20
#28 #28 0x5555a7b15c5c in asan_thread_start(void*) mount_path/contrib/libs/clang18-rt/lib/asan/asan_interceptors.cpp:239:28
#29 #29 0x7ffff7f93608 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x9608) (BuildId: e54761f7b554d0fcc1562959665d93dffbebdaf0)
#30 #30 0x7ffff7eba292 in __clone (/lib/x86_64-linux-gnu/libc.so.6+0x122292) (BuildId: 099b9225bcb0d019d9d60884be583eb31bb5f44e)
Source code
118
119 TUri uri;
120 TState::EParsed er = uri.Parse(string, TFeature::FeaturesDefault | TFeature::FeatureSchemeFlexible);
121 if (er != TState::ParsedOK) {
--->122 ythrow yexception() << "Unable to parse input string";
123 }
124 std::string path = uri.PrintS(TField::FlagPath).substr(1); // start from 1 to remove first '/'
125 if (path.length() < 1) {
126 ythrow yexception() << "Invalid path length";
127 }
Metadata
Metadata
Assignees
Labels
No labels