Skip to content

Next-gen columnar: null pointer exception in RNProxyInputStream #10873

@yongman

Description

@yongman

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

Run tpch-50 workload.

tiup bench tpch run 

2. What did you expect to see? (Required)

The bench workload runs normally.

3. What did you see instead (Required)

[tiflash+168178986]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__string/char_traits.h:836\n  0x5650097a8a98\tDB::RNProxyInputStream::~RNProxyInputStream() [tiflash+168147608]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/
  unordered_map:1532\n  0x565001d7566e\tDB::IBlockInputStream::~IBlockInputStream() [tiflash+40011374]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__memory/shared_ptr.h:172\n
  0x565008c1977d\tstd::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>,
  std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::__hash_value_type<std::__1::basic_string<char,
  std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>, std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
  std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>,
  std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>, std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>,
  std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>,
  std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>,
  std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>>>::__deallocate_node(std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>,
  std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>, std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>, void*>*>*) [tiflash+156026749]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__memory/shared_ptr.h:172\n
  0x565008c15499\tDB::DAGContext::~DAGContext() [tiflash+156009625]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__hash_table:1324\n  0x565008ce15ef\tDB::MPPTask::~MPPTask() [tiflash+156845551]\n                \t/usr/lib/llvm-17/bin/../include/c++/
  v1/__memory/unique_ptr.h:68\n  0x565008cd8ac7\tstd::__1::__shared_ptr_pointer<DB::MPPTask*, std::__1::shared_ptr<DB::MPPTask>::__shared_ptr_default_delete<DB::MPPTask, DB::MPPTask>, std::__1::allocator<DB::MPPTask>>::__on_zero_shared() [tiflash+156809927]\n
  \t/usr/lib/llvm-17/bin/../include/c++/v1/__memory/unique_ptr.h:68\n  0x565008ce7f01\tstd::__1::__function::__func<DB::MPPTask::run()::$_0, std::__1::allocator<DB::MPPTask::run()::$_0>, void ()>::destroy() [tiflash+156872449]\n                \t/usr/lib/llvm-17/
  bin/../include/c++/v1/__memory/shared_ptr.h:172\n  0x565007a923ee\tDB::ExecutableTask<auto DB::wrapInvocable<std::__1::function<void ()>>(bool, std::__1::function<void ()>&&)::'lambda'()>::~ExecutableTask() [tiflash+137647086]\n                \t/usr/lib/llvm-
  17/bin/../include/c++/v1/__functional/function.h:0\n  0x565001d40d2d\tDB::DynamicThreadPool::executeTask(std::__1::unique_ptr<DB::IExecutableTask, std::__1::default_delete<DB::IExecutableTask>>&) [tiflash+39796013]\n                \t/usr/lib/llvm-17/bin/../
  include/c++/v1/__memory/unique_ptr.h:68\n  0x565001d409d5\tDB::DynamicThreadPool::fixedWork(unsigned long) [tiflash+39795157]\n                \tdbms/src/Common/DynamicThreadPool.cpp:138\n  0x565001d4284c\tauto std::__1::thread DB::ThreadFactory::newThread<void
  (DB::DynamicThreadPool::*)(unsigned long), DB::DynamicThreadPool*, unsigned long&>(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void (DB::DynamicThreadPool::*&&)(unsigned long), DB::DynamicThreadPool*&&, unsigned
  long&)::'lambda'(auto&&...)::operator()<DB::DynamicThreadPool*, unsigned long>(auto&&...) const [tiflash+39802956]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:308\n  0x565001d42679\tvoid*
  std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, std::__1::thread DB::ThreadFactory::newThread<void (DB::DynamicThreadPool::*)(unsigned long),
  DB::DynamicThreadPool*, unsigned long&>(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void (DB::DynamicThreadPool::*&&)(unsigned long), DB::DynamicThreadPool*&&, unsigned long&)::'lambda'(auto&&...),
  DB::DynamicThreadPool*, unsigned long>>(void*) [tiflash+39802489]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340\n  0x7f8360710ac3\t<unknown symbol> [libc.so.6+608963]"] [source=BaseDaemon] [thread_id=242]
  [2026/05/27 19:56:19.464 +08:00] [ERROR] [BaseDaemon.cpp:367] [########################################] [source=BaseDaemon] [thread_id=242]
  [2026/05/27 19:56:19.464 +08:00] [ERROR] [BaseDaemon.cpp:368] ["(from thread 216) Received signal Segmentation fault(11)."] [source=BaseDaemon] [thread_id=242]
  [2026/05/27 19:56:19.464 +08:00] [ERROR] [BaseDaemon.cpp:396] ["Address: NULL pointer."] [source=BaseDaemon] [thread_id=242]
  [2026/05/27 19:56:19.464 +08:00] [ERROR] [BaseDaemon.cpp:404] ["Access: read."] [source=BaseDaemon] [thread_id=242]
  [2026/05/27 19:56:19.464 +08:00] [ERROR] [BaseDaemon.cpp:416] ["Unknown si_code."] [source=BaseDaemon] [thread_id=242]
  [2026/05/27 19:56:19.464 +08:00] [ERROR] [BaseDaemon.cpp:560] ["\n  0x565007758f71\tfaultSignalHandler(int, siginfo_t*, void*) [tiflash+134266737]\n                \tlibs/libdaemon/src/BaseDaemon.cpp:211\n  0x7f83606be520\t<unknown symbol> [libc.so.6+271648]\n
  0x565001cced03\tstd::__1::__murmur2_or_cityhash<unsigned long, 64ul>::operator()[abi:ue170006](void const*, unsigned long) const [tiflash+39329027]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__functional/hash.h:0\n
  0x5650097b052a\tstd::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::DM::ScanContext>>, void*>*>
  std::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::DM::ScanContext>>, std::__1::__unordered_map_hasher<std::__1::basic_string<char,
  std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::DM::ScanContext>>, std::__1::hash<std::__1::basic_string<char,
  std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>,
  std::__1::allocator<char>>, std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<DB::DM::ScanContext>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>,
  std::__1::allocator<char>>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>,
  std::__1::allocator<char>>, std::__1::shared_ptr<DB::DM::ScanContext>>>>::find<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
  [tiflash+168178986]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__string/char_traits.h:836\n  0x5650097a8a98\tDB::RNProxyInputStream::~RNProxyInputStream() [tiflash+168147608]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/
  unordered_map:1532\n  0x565001d7566e\tDB::IBlockInputStream::~IBlockInputStream() [tiflash+40011374]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__memory/shared_ptr.h:172\n
  0x565008c1977d\tstd::__1::__hash_table<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>,
  std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>, std::__1::__unordered_map_hasher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::__hash_value_type<std::__1::basic_string<char,
  std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>, std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
  std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>, std::__1::__unordered_map_equal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>,
  std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>, std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>,
  std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, true>,
  std::__1::allocator<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>,
  std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>>>::__deallocate_node(std::__1::__hash_node_base<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>,
  std::__1::vector<std::__1::shared_ptr<DB::IBlockInputStream>, std::__1::allocator<std::__1::shared_ptr<DB::IBlockInputStream>>>>, void*>*>*) [tiflash+156026749]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__memory/shared_ptr.h:172\n
  0x565008c15499\tDB::DAGContext::~DAGContext() [tiflash+156009625]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__hash_table:1324\n  0x565008ce15ef\tDB::MPPTask::~MPPTask() [tiflash+156845551]\n                \t/usr/lib/llvm-17/bin/../include/c++/
  v1/__memory/unique_ptr.h:68\n  0x565008cd8ac7\tstd::__1::__shared_ptr_pointer<DB::MPPTask*, std::__1::shared_ptr<DB::MPPTask>::__shared_ptr_default_delete<DB::MPPTask, DB::MPPTask>, std::__1::allocator<DB::MPPTask>>::__on_zero_shared() [tiflash+156809927]\n
  \t/usr/lib/llvm-17/bin/../include/c++/v1/__memory/unique_ptr.h:68\n  0x565008ce7f01\tstd::__1::__function::__func<DB::MPPTask::run()::$_0, std::__1::allocator<DB::MPPTask::run()::$_0>, void ()>::destroy() [tiflash+156872449]\n                \t/usr/lib/llvm-17/
  bin/../include/c++/v1/__memory/shared_ptr.h:172\n  0x565007a923ee\tDB::ExecutableTask<auto DB::wrapInvocable<std::__1::function<void ()>>(bool, std::__1::function<void ()>&&)::'lambda'()>::~ExecutableTask() [tiflash+137647086]\n                \t/usr/lib/llvm-
  17/bin/../include/c++/v1/__functional/function.h:0\n  0x565001d40d2d\tDB::DynamicThreadPool::executeTask(std::__1::unique_ptr<DB::IExecutableTask, std::__1::default_delete<DB::IExecutableTask>>&) [tiflash+39796013]\n                \t/usr/lib/llvm-17/bin/../
  include/c++/v1/__memory/unique_ptr.h:68\n  0x565001d409d5\tDB::DynamicThreadPool::fixedWork(unsigned long) [tiflash+39795157]\n                \tdbms/src/Common/DynamicThreadPool.cpp:138\n  0x565001d4284c\tauto std::__1::thread DB::ThreadFactory::newThread<void
  (DB::DynamicThreadPool::*)(unsigned long), DB::DynamicThreadPool*, unsigned long&>(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void (DB::DynamicThreadPool::*&&)(unsigned long), DB::DynamicThreadPool*&&, unsigned
  long&)::'lambda'(auto&&...)::operator()<DB::DynamicThreadPool*, unsigned long>(auto&&...) const [tiflash+39802956]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:308\n  0x565001d42679\tvoid*
  std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, std::__1::thread DB::ThreadFactory::newThread<void (DB::DynamicThreadPool::*)(unsigned long),
  DB::DynamicThreadPool*, unsigned long&>(bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, void (DB::DynamicThreadPool::*&&)(unsigned long), DB::DynamicThreadPool*&&, unsigned long&)::'lambda'(auto&&...),
  DB::DynamicThreadPool*, unsigned long>>(void*) [tiflash+39802489]\n                \t/usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340\n  0x7f8360710ac3\t<unknown symbol> [libc.so.6+608963]"] [source=BaseDaemon] [thread_id=242]

4. What is your TiFlash version? (Required)

master branch.

Metadata

Metadata

Assignees

Labels

columnarnextgenIndicates that the Issue or PR belongs to the nextgen kernel architecture.type/bugThe issue is confirmed as a bug.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions