Skip to content

[sanitizer] Stress topic workload LeakSanitizer / exit code 100 (release-asan) on 26.2 #48054

Description

@nshestakov

Summary

Stress topic workload LeakSanitizer / exit code 100 (release-asan) on the 26.2 line.

Split out from #46517: for 26.2 we track this in a separate issue. The same root cause was fixed on main / stable-26-3 / stable-26-3-1 (LOGBROKER-10550, #46748 / backports #46896, #46897); the fix is not yet on stable-26-2-1 / 26.2.1.7.iamprovider.1.

Related: #46517, umbrella #45120. Backport in progress: #47779.

Environment

  • Branch: 26.2.1.7.iamprovider.1
  • Build: release-asan

Reports

Affected tests

  • ydb/tests/stress/topic/tests/test_workload_topic.py.TestYdbTopicWorkload.test (release-asan, try_1)

Matched by: "LeakSanitizer: memory leaks in NYdb::NTopic read session (TDataDecompressionInfo, StreamReadMessage_ReadResponse parse); see also umbrella issue #45120".

Sanitizer output

=================================================================
==1420481==ERROR: LeakSanitizer: detected memory leaks

Indirect leak of 1342488 byte(s) in 131 object(s) allocated from:
    #0 0x000004e6548d in operator new(unsigned long) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x4e6548d) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #1 0x000004d55682 in std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::__append_default_init[abi:fe210000](unsigned long) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x4d55682) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #2 0x000005bc8a8c in google::protobuf::internal::EpsCopyInputStream::ReadString(char const*, int, TBasicString<char, std::__y1::char_traits<char>>*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bc8a8c) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #3 0x000008792a9b in Ydb::Topic::StreamReadMessage_ReadResponse_MessageData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8792a9b) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #4 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #5 0x000008795da9 in Ydb::Topic::StreamReadMessage_ReadResponse_Batch::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8795da9) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #6 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #7 0x000008798ab8 in Ydb::Topic::StreamReadMessage_ReadResponse_PartitionData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8798ab8) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #8 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #9 0x000008799bc8 in Ydb::Topic::StreamReadMessage_ReadResponse::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8799bc8) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #10 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #11 0x0000087885cd in Ydb::Topic::StreamReadMessage_FromServer::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x87885cd) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #12 0x000005bf0b9f in google::protobuf::MessageLite::ParseFromZeroCopyStream(google::protobuf::io::ZeroCopyInputStream*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bf0b9f) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #13 0x00000a0b42d4 in grpc::Status grpc::GenericDeserialize<grpc::ProtoBufferReader, Ydb::Topic::StreamReadMessage_FromServer>(grpc::ByteBuffer*, google::protobuf::MessageLite*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0xa0b42d4) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #14 0x00000a0b3b16 in grpc::internal::CallOpRecvMessage<Ydb::Topic::StreamReadMessage_FromServer>::FinishOp(bool*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0xa0b3b16) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #15 0x00000a0b2cdf in grpc::internal::CallOpSet<grpc::internal::CallOpRecvInitialMetadata, grpc::internal::CallOpRecvMessage<Ydb::Topic::StreamReadMessage_FromServer>, grpc::internal::CallNoOp<3>, grpc::internal::CallNoOp<4>, grpc::internal::CallNoOp<5>, grpc::internal::CallNoOp<6>>::FinalizeResult(void**, bool*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0xa0b2cdf) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #16 0x0000094b4799 in grpc::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x94b4799) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #17 0x000008a8f99f  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8a8f99f) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #18 0x000005f774ee  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5f774ee) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #19 0x000005f77a4c  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5f77a4c) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #20 0x00000519bdb4  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x519bdb4) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #21 0x000004e28fa6  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x4e28fa6) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)

Indirect leak of 204960 byte(s) in 20 object(s) allocated from:
    #0 0x000004e6548d in operator new(unsigned long) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x4e6548d) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #1 0x000004ec7f6c in std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::reserve(unsigned long) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x4ec7f6c) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #2 0x000005bfdf93 in google::protobuf::internal::EpsCopyInputStream::ReadStringFallback(char const*, int, TBasicString<char, std::__y1::char_traits<char>>*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bfdf93) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #3 0x000008792a9b in Ydb::Topic::StreamReadMessage_ReadResponse_MessageData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8792a9b) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #4 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #5 0x000008795da9 in Ydb::Topic::StreamReadMessage_ReadResponse_Batch::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8795da9) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #6 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #7 0x000008798ab8 in Ydb::Topic::StreamReadMessage_ReadResponse_PartitionData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8798ab8) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #8 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #9 0x000008799bc8 in Ydb::Topic::StreamReadMessage_ReadResponse::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8799bc8) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #10 0x000005bff9e7 in google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bff9e7) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #11 0x0000087885cd in Ydb::Topic::StreamReadMessage_FromServer::_InternalParse(char const*, google::protobuf::internal::ParseContext*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x87885cd) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #12 0x000005bf0b9f in google::protobuf::MessageLite::ParseFromZeroCopyStream(google::protobuf::io::ZeroCopyInputStream*) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5bf0b9f) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
... [truncated] ...
    #5 0x00000a151248 in std::__y1::__function::__func<NYdb::Dev::NTopic::TSingleClusterReadSessionImpl<false>::ReadFromProcessorImpl(NYdb::Dev::NTopic::TDeferredActions<false>&)::'lambda'(NYdbGrpc::Dev::TGrpcStatus&&), std::__y1::allocator<NYdb::Dev::NTopic::TSingleClusterReadSessionImpl<false>::ReadFromProcessorImpl(NYdb::Dev::NTopic::TDeferredActions<false>&)::'lambda'(NYdbGrpc::Dev::TGrpcStatus&&)>, void (NYdbGrpc::Dev::TGrpcStatus&&)>::operator()(NYdbGrpc::Dev::TGrpcStatus&&) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0xa151248) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #6 0x00000a0a6fea in NYdbGrpc::Dev::TStreamRequestReadWriteProcessor<Ydb::Topic::V1::TopicService::Stub, Ydb::Topic::StreamReadMessage_FromClient, Ydb::Topic::StreamReadMessage_FromServer>::OnReadDone(bool) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0xa0a6fea) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #7 0x00000a0af5ff in NYdbGrpc::Dev::TQueueClientFixedEvent<NYdbGrpc::Dev::TStreamRequestReadWriteProcessor<Ydb::Topic::V1::TopicService::Stub, Ydb::Topic::StreamReadMessage_FromClient, Ydb::Topic::StreamReadMessage_FromServer>>::Execute(bool) (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0xa0af5ff) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #8 0x000008a8f9ea  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x8a8f9ea) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #9 0x000005f774ee  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5f774ee) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #10 0x000005f77a4c  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x5f77a4c) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #11 0x00000519bdb4  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x519bdb4) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)
    #12 0x000004e28fa6  (/home/runner/.ya/build/build_root/slqk/000789/ydb/tests/stress/topic/tests/test-results/py3test/tmp004q2ear/topic_ydb_cli/ydb_cli+0x4e28fa6) (BuildId: d0e251c0c0c2710b4ebc5365a4cfd9cae64e6957)

SUMMARY: AddressSanitizer: 1778712 byte(s) leaked in 3771 allocation(s).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions