Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfault on pgbench with two clients #5512

Closed
rekby opened this issue Jun 13, 2024 · 1 comment
Closed

Segfault on pgbench with two clients #5512

rekby opened this issue Jun 13, 2024 · 1 comment
Assignees
Labels
area/pg bug Something isn't working compatibility duplicate This issue or pull request already exists

Comments

@rekby
Copy link
Member

rekby commented Jun 13, 2024

  1. Start local YDB https://github.com/ydb-platform/ydb/wiki/Local-run-postgres-tests
  2. Install pgbench: apt install -y postgresql-contrib
  3. Run command: pgbench -n -T 10 -b select-only --protocol=simple --client=2
Stacktrace
Core was generated by `/home/rekby/ydbwork/ydb/ydb/apps/ydbd/ydbd server --node=1 --log-file-name=/hom'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::__is_long[abi:v180000]() const (this=0x8fc8a0215cf7fb33) at /-S/contrib/libs/cxxsupp/libcxx/include/string:1769

warning: 1769	/-S/contrib/libs/cxxsupp/libcxx/include/string: No such file or directory
[Current thread is 1 (LWP 71771)]
[arc] Arcadia GDB pretty-printers enabled
(gdb) bt
#0  std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::__is_long[abi:v180000]() const (this=0x8fc8a0215cf7fb33) at /home/rekby/ydbwork/ydb/contrib/libs/cxxsupp/libcxx/include/string:1769
#1  std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::__get_pointer[abi:v180000]() const (this=0x8fc8a0215cf7fb33) at /home/rekby/ydbwork/ydb/contrib/libs/cxxsupp/libcxx/include/string:1904
#2  std::__y1::basic_string<char, std::__y1::char_traits<char>, std::__y1::allocator<char>>::data[abi:v180000]() const (this=0x8fc8a0215cf7fb33) at /home/rekby/ydbwork/ydb/contrib/libs/cxxsupp/libcxx/include/string:1594
#3  TBasicString<char, std::__y1::char_traits<char>>::data() const (this=0x17f3e36d7b88) at /home/rekby/ydbwork/ydb/util/generic/string.h:304
#4  TStringBase<TBasicString<char, std::__y1::char_traits<char>>, char, std::__y1::char_traits<char>>::Ptr() const (this=0x17f3e36d7b88) at /home/rekby/ydbwork/ydb/util/generic/strbase.h:536
#5  TStringBase<TBasicString<char, std::__y1::char_traits<char>>, char, std::__y1::char_traits<char>>::data() const (this=0x17f3e36d7b88) at /home/rekby/ydbwork/ydb/util/generic/strbase.h:128
#6  TStringBase<TBasicString<char, std::__y1::char_traits<char>>, char, std::__y1::char_traits<char>>::operator std::__y1::basic_string_view<char, std::__y1::char_traits<char>><std::__y1::char_traits<char>>() const (this=0x17f3e36d7b88) at /home/rekby/ydbwork/ydb/util/generic/strbase.h:65
#7  std::__y1::basic_string_view<char, std::__y1::char_traits<char>> google::protobuf::internal::TransparentSupport<TBasicString<char, std::__y1::char_traits<char>>>::ImplicitConvert<void>(TBasicString<char, std::__y1::char_traits<char>> const&) (str=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>)
    at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:226
#8  unsigned long google::protobuf::internal::TransparentSupport<TBasicString<char, std::__y1::char_traits<char>>>::hash::operator()<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&) const (str=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>, this=<optimized out>)
    at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:234
#9  unsigned long google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::BucketNumber<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&) const (k=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>, this=<optimized out>)
    at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:1031
#10 std::__y1::pair<google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::iterator_base<google::protobuf::MapPair<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue> const>, unsigned long> google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::FindHelper<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&, std::__y1::__map_iterator<std::__y1::__tree_iterator<std::__y1::__value_type<std::__y1::reference_wrapper<TBasicString<char, std::__y1::char_traits<char>> const>, void*>, std::__y1::__tree_node<std::__y1::__value_type<std::__y1::reference_wrapper<TBasicString<char, std::__y1::char_traits<char>> const>, void*>, void*>*, long>>*) const (this=0x17f3e2a034a0, k=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>, it=0x0) at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:778
#11 0x0000000027677467 in std::__y1::pair<google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::iterator_base<google::protobuf::MapPair<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue> const>, unsigned long> google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::FindHelper<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&) const (this=0x17f3e2a034a0, k=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>) at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:773
#12 google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::iterator_base<google::protobuf::MapPair<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue> const> google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::InnerMap::find<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&) const (this=0x17f3e2a034a0, k=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>) at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:690
#13 google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::const_iterator google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::find<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&) const (this=0x17f3e2a034a0,
    key=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>) at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:1247
#14 bool google::protobuf::Map<TBasicString<char, std::__y1::char_traits<char>>, Ydb::TypedValue>::contains<TBasicString<char, std::__y1::char_traits<char>>>(TBasicString<char, std::__y1::char_traits<char>> const&) const (this=0x17f3e2a034a0, key=<error reading variable: Cannot access memory at address 0x8fc8a0215cf7fb33>)
    at /home/rekby/ydbwork/ydb/contrib/libs/protobuf/src/google/protobuf/map.h:1256
#15 NKikimr::NKqp::(anonymous namespace)::TKqpSessionActor::PrepareQueryContext (this=0x17f3fb52c800) at /home/rekby/ydbwork/ydb/ydb/core/kqp/session_actor/kqp_session_actor.cpp:830
#16 NKikimr::NKqp::(anonymous namespace)::TKqpSessionActor::OnSuccessCompileRequest (this=this@entry=0x17f3fb52c800) at /home/rekby/ydbwork/ydb/ydb/core/kqp/session_actor/kqp_session_actor.cpp:586
#17 0x00000000276628e6 in NKikimr::NKqp::(anonymous namespace)::TKqpSessionActor::Handle (this=0x17f3fb52c800, ev=...) at /home/rekby/ydbwork/ydb/ydb/core/kqp/session_actor/kqp_session_actor.cpp:499
#18 NKikimr::NKqp::(anonymous namespace)::TKqpSessionActor::ExecuteState (this=0x17f3fb52c800, ev=TAutoPtr<NActors::IEventHandle> = {...}) at /home/rekby/ydbwork/ydb/ydb/core/kqp/session_actor/kqp_session_actor.cpp:2228
#19 0x000000001745dc80 in NActors::TGenericExecutorThread::Execute<NActors::TMailboxTable::THTSwapMailbox> (this=this@entry=0x17f3fe601700, mailbox=0x17f3fb541940, hint=hint@entry=4197, isTailExecution=<optimized out>) at /home/rekby/ydbwork/ydb/ydb/library/actors/core/executor_thread.cpp:251
#20 0x0000000017455475 in NActors::TGenericExecutorThread::ProcessExecutorPool(NActors::IExecutorPool*)::$_0::operator()(unsigned int, bool) const (this=this@entry=0x7fa46859af70, activation=activation@entry=4197, isTailExecution=false) at /home/rekby/ydbwork/ydb/ydb/library/actors/core/executor_thread.cpp:439
#21 0x0000000017454e38 in NActors::TGenericExecutorThread::ProcessExecutorPool (this=this@entry=0x17f3fe601700, pool=<optimized out>) at /home/rekby/ydbwork/ydb/ydb/library/actors/core/executor_thread.cpp:492
#22 0x0000000017455d4c in NActors::TExecutorThread::ThreadProc (this=0x17f3fe601700) at /home/rekby/ydbwork/ydb/ydb/library/actors/core/executor_thread.cpp:523
#23 0x000000001641076c in (anonymous namespace)::TPosixThread::ThreadProxy (arg=0x17f3fe9c9ba0) at /home/rekby/ydbwork/ydb/util/system/thread.cpp:244
#24 0x00007fa46e7e1ac3 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#25 0x00007fa46e873850 in ?? () from /lib/x86_64-linux-gnu/libc.so.6

It is regression. Some time ago pgbench worked with more then one client.

@rekby rekby added bug Something isn't working area/pg compatibility labels Jun 13, 2024
@rekby rekby assigned rekby and qrort and unassigned rekby Jun 13, 2024
@rekby
Copy link
Member Author

rekby commented Jun 19, 2024

Similar to: #2507

@rekby rekby added the duplicate This issue or pull request already exists label Jun 19, 2024
@rekby rekby closed this as completed Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/pg bug Something isn't working compatibility duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants