Skip to content

SEGV with base32Encode #89911

@PedroTadim

Description

@PedroTadim

Describe the bug

There are no open issues I think.

How to reproduce

On a debug build run in a loop:

SELECT base32Encode(randomString(1, 100)) FROM numbers(1000);

Error message and/or stacktrace

Stack trace:

2025.11.12 10:28:05.648300 [ 862465 ] {} <Fatal> BaseDaemon: ########## Short fault info ############
2025.11.12 10:28:05.648347 [ 862465 ] {} <Fatal> BaseDaemon: (version 25.11.1.2426 (official build), build id: 26ACCBEF9C604E70C1EBEFF5B7AABEBB6B5CE92A, git hash: 63abb20922ce7fab0c27eb39a1d549fc394a258c, architecture: x86_64) (from thread 863179) Received signal 11
2025.11.12 10:28:05.648350 [ 862465 ] {} <Fatal> BaseDaemon: Signal description: Segmentation fault
2025.11.12 10:28:05.648356 [ 862465 ] {} <Fatal> BaseDaemon: Address: 0x758def0b4000. Access: write. Address not mapped to object.
2025.11.12 10:28:05.648367 [ 862465 ] {} <Fatal> BaseDaemon: Stack trace: 0x00005d7a88cf5354 0x00005d7a92e2597a 0x00005d7a92e1eebc 0x00005d7a92e20499 0x00005d7a92e21642 0x00005d7a92e210da 0x00005d7a952ad6af 0x00005d7a994a256a 0x00005d7a919a3a13 0x00005d7a991e550a 0x00005d7a99203130 0x00005d7a991f5958 0x00005d7a991f5f69 0x00005d7a991f46e1 0x00005d7a991f3e3f 0x00005d7a9920b124 0x00005d7a8f4d4986 0x00005d7a8f4db680 0x00007590198a3d64 0x00007590199373bc
2025.11.12 10:28:05.648384 [ 862465 ] {} <Fatal> BaseDaemon: ########################################
2025.11.12 10:28:05.648451 [ 862465 ] {} <Fatal> BaseDaemon: (version 25.11.1.2426 (official build), build id: 26ACCBEF9C604E70C1EBEFF5B7AABEBB6B5CE92A, git hash: 63abb20922ce7fab0c27eb39a1d549fc394a258c) (from thread 863179) (query_id: 44cf19a1-c8ac-4589-bded-f6f1ab3837f1) (query: SELECT base32Encode(randomString(1, 100)) FROM numbers(1000);) Received signal Segmentation fault (11)
2025.11.12 10:28:05.648471 [ 862465 ] {} <Fatal> BaseDaemon: Address: 0x758def0b4000. Access: write. Address not mapped to object.
2025.11.12 10:28:05.648493 [ 862465 ] {} <Fatal> BaseDaemon: Stack trace: 0x00005d7a88cf5354 0x00005d7a92e2597a 0x00005d7a92e1eebc 0x00005d7a92e20499 0x00005d7a92e21642 0x00005d7a92e210da 0x00005d7a952ad6af 0x00005d7a994a256a 0x00005d7a919a3a13 0x00005d7a991e550a 0x00005d7a99203130 0x00005d7a991f5958 0x00005d7a991f5f69 0x00005d7a991f46e1 0x00005d7a991f3e3f 0x00005d7a9920b124 0x00005d7a8f4d4986 0x00005d7a8f4db680 0x00007590198a3d64 0x00007590199373bc
2025.11.12 10:28:05.657781 [ 862465 ] {} <Fatal> BaseDaemon: 3.0. inlined from src/Common/Base32.h:63: DB::Base32<DB::Base32Rfc4648, DB::Base32NaiveTag>::encodeBase32(char8_t const*, unsigned long, char8_t*)
2025.11.12 10:28:05.657814 [ 862465 ] {} <Fatal> BaseDaemon: 3.1. inlined from src/Common/Base32.h:147: DB::encodeBase32(char8_t const*, unsigned long, char8_t*)
2025.11.12 10:28:05.657842 [ 862465 ] {} <Fatal> BaseDaemon: 3.2. inlined from src/Functions/FunctionBase32Conversion.h:22: DB::Base32EncodeTraits::perform(std::basic_string_view<char, std::char_traits<char>>, char8_t*)
2025.11.12 10:28:05.657872 [ 862465 ] {} <Fatal> BaseDaemon: 3.3. inlined from src/Functions/FunctionBaseXXConversion.h:49: DB::BaseXXEncode<DB::Base32EncodeTraits, DB::(anonymous namespace)::NameBase32Encode>::processString(DB::ColumnString const&, COW<DB::IColumn>::mutable_ptr<DB::ColumnString>&, unsigned long)
2025.11.12 10:28:05.657916 [ 862465 ] {} <Fatal> BaseDaemon: 3. src/Functions/FunctionBaseXXConversion.h:201: DB::FunctionBaseXXConversion<DB::BaseXXEncode<DB::Base32EncodeTraits, DB::(anonymous namespace)::NameBase32Encode>>::executeImpl(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x000000000eb8b354
2025.11.12 10:28:05.660709 [ 862465 ] {} <Fatal> BaseDaemon: 4. src/Functions/IFunctionAdaptors.cpp:10: DB::FunctionToExecutableFunctionAdaptor::executeImpl(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x0000000018cbb97a
2025.11.12 10:28:05.673410 [ 862465 ] {} <Fatal> BaseDaemon: 5. src/Functions/IFunction.cpp:353: DB::IExecutableFunction::executeWithoutLowCardinalityColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x0000000018cb4ebc
2025.11.12 10:28:05.685963 [ 862465 ] {} <Fatal> BaseDaemon: 6. src/Functions/IFunction.cpp:426: DB::IExecutableFunction::executeWithoutSparseColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x0000000018cb6499
2025.11.12 10:28:05.698874 [ 862465 ] {} <Fatal> BaseDaemon: 7. src/Functions/IFunction.cpp:565: DB::IExecutableFunction::executeWithoutReplicatedColumns(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x0000000018cb7642
2025.11.12 10:28:05.711547 [ 862465 ] {} <Fatal> BaseDaemon: 8. src/Functions/IFunction.cpp:474: DB::IExecutableFunction::execute(std::vector<DB::ColumnWithTypeAndName, std::allocator<DB::ColumnWithTypeAndName>> const&, std::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x0000000018cb70da
2025.11.12 10:28:05.745242 [ 862465 ] {} <Fatal> BaseDaemon: 9.0. inlined from src/Interpreters/ExpressionActions.cpp:693: DB::executeAction(DB::ExpressionActions::Action const&, DB::(anonymous namespace)::ExecutionContext&, bool, bool, bool)
2025.11.12 10:28:05.745273 [ 862465 ] {} <Fatal> BaseDaemon: 9. src/Interpreters/ExpressionActions.cpp:836: DB::ExpressionActions::execute(DB::Block&, unsigned long&, bool, bool) const @ 0x000000001b1436af
2025.11.12 10:28:05.751496 [ 862465 ] {} <Fatal> BaseDaemon: 10. src/Processors/Transforms/ExpressionTransform.cpp:26: DB::ExpressionTransform::transform(DB::Chunk&) @ 0x000000001f33856a
2025.11.12 10:28:05.762279 [ 862465 ] {} <Fatal> BaseDaemon: 11. src/Processors/ISimpleTransform.h:33: DB::ISimpleTransform::transform(DB::Chunk&, DB::Chunk&) @ 0x0000000017839a13
2025.11.12 10:28:05.770137 [ 862465 ] {} <Fatal> BaseDaemon: 12. src/Processors/ISimpleTransform.cpp:98: DB::ISimpleTransform::work() @ 0x000000001f07b50a
2025.11.12 10:28:05.774403 [ 862465 ] {} <Fatal> BaseDaemon: 13.0. inlined from src/Processors/Executors/ExecutionThreadContext.cpp:53: DB::executeJob(DB::ExecutingGraph::Node*, DB::ReadProgressCallback*)
2025.11.12 10:28:05.774424 [ 862465 ] {} <Fatal> BaseDaemon: 13. src/Processors/Executors/ExecutionThreadContext.cpp:102: DB::ExecutionThreadContext::executeTask() @ 0x000000001f099130
2025.11.12 10:28:05.788861 [ 862465 ] {} <Fatal> BaseDaemon: 14. src/Processors/Executors/PipelineExecutor.cpp:351: DB::PipelineExecutor::executeStepImpl(unsigned long, DB::IAcquiredSlot*, std::atomic<bool>*) @ 0x000000001f08b958
2025.11.12 10:28:05.802500 [ 862465 ] {} <Fatal> BaseDaemon: 15. src/Processors/Executors/PipelineExecutor.cpp:279: DB::PipelineExecutor::executeSingleThread(unsigned long, DB::IAcquiredSlot*) @ 0x000000001f08bf69
2025.11.12 10:28:05.815211 [ 862465 ] {} <Fatal> BaseDaemon: 16. src/Processors/Executors/PipelineExecutor.cpp:602: DB::PipelineExecutor::executeImpl(unsigned long, bool) @ 0x000000001f08a6e1
2025.11.12 10:28:05.827792 [ 862465 ] {} <Fatal> BaseDaemon: 17. src/Processors/Executors/PipelineExecutor.cpp:136: DB::PipelineExecutor::execute(unsigned long, bool) @ 0x000000001f089e3f
2025.11.12 10:28:05.837559 [ 862465 ] {} <Fatal> BaseDaemon: 18.0. inlined from src/Processors/Executors/PullingAsyncPipelineExecutor.cpp:76: DB::threadFunction(DB::PullingAsyncPipelineExecutor::Data&, std::shared_ptr<DB::ThreadGroup>, unsigned long, bool)
2025.11.12 10:28:05.837579 [ 862465 ] {} <Fatal> BaseDaemon: 18.1. inlined from src/Processors/Executors/PullingAsyncPipelineExecutor.cpp:102: operator()
2025.11.12 10:28:05.837595 [ 862465 ] {} <Fatal> BaseDaemon: 18.2. inlined from contrib/llvm-project/libcxx/include/__type_traits/invoke.h:249: decltype(std::declval<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&>()()) std::__invoke[abi:se210105]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&)
2025.11.12 10:28:05.837614 [ 862465 ] {} <Fatal> BaseDaemon: 18.3. inlined from contrib/llvm-project/libcxx/include/tuple:1380: decltype(auto) std::__apply_tuple_impl[abi:se210105]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&, std::__tuple_indices<...>)
2025.11.12 10:28:05.837633 [ 862465 ] {} <Fatal> BaseDaemon: 18.4. inlined from contrib/llvm-project/libcxx/include/tuple:1384: decltype(auto) std::apply[abi:se210105]<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&, std::tuple<>&)
2025.11.12 10:28:05.837656 [ 862465 ] {} <Fatal> BaseDaemon: 18.5. inlined from src/Common/ThreadPool.h:312: operator()
2025.11.12 10:28:05.837697 [ 862465 ] {} <Fatal> BaseDaemon: 18.6. inlined from contrib/llvm-project/libcxx/include/__type_traits/invoke.h:249: decltype(std::declval<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>()()) std::__invoke[abi:se210105]<ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)
2025.11.12 10:28:05.837734 [ 862465 ] {} <Fatal> BaseDaemon: 18.7. inlined from contrib/llvm-project/libcxx/include/__type_traits/invoke.h:342: void std::__invoke_void_return_wrapper<void, true>::__call[abi:se210105]<ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>(ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&)
2025.11.12 10:28:05.837791 [ 862465 ] {} <Fatal> BaseDaemon: 18.8. inlined from contrib/llvm-project/libcxx/include/__type_traits/invoke.h:348: DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0 std::__invoke_r[abi:se210105]<void, ThreadFromGlobalPoolImpl<true, true>::ThreadFromGlobalPoolImpl<DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0>(DB::PullingAsyncPipelineExecutor::pull(DB::Chunk&, unsigned long)::$_0&&)::'lambda'()&>()
2025.11.12 10:28:05.837818 [ 862465 ] {} <Fatal> BaseDaemon: 18. contrib/llvm-project/libcxx/include/__functional/function.h:450: ? @ 0x000000001f0a1124
2025.11.12 10:28:05.846985 [ 862465 ] {} <Fatal> BaseDaemon: 19.0. inlined from contrib/llvm-project/libcxx/include/__functional/function.h:508: ?
2025.11.12 10:28:05.847012 [ 862465 ] {} <Fatal> BaseDaemon: 19.1. inlined from contrib/llvm-project/libcxx/include/__functional/function.h:772: ?
2025.11.12 10:28:05.847046 [ 862465 ] {} <Fatal> BaseDaemon: 19. src/Common/ThreadPool.cpp:812: ThreadPoolImpl<std::thread>::ThreadFromThreadPool::worker() @ 0x000000001536a986
2025.11.12 10:28:05.864761 [ 862465 ] {} <Fatal> BaseDaemon: 20.0. inlined from contrib/llvm-project/libcxx/include/__type_traits/invoke.h:217: decltype(*std::declval<ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>().*std::declval<void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)()>()()) std::__invoke[abi:se210105]<void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*, void>(void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*&&)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*&&)
2025.11.12 10:28:05.864791 [ 862465 ] {} <Fatal> BaseDaemon: 20.1. inlined from contrib/llvm-project/libcxx/include/__thread/thread.h:159: void std::__thread_execute[abi:se210105]<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*, 2ul>(std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>&, std::__tuple_indices<2ul>)
2025.11.12 10:28:05.864803 [ 862465 ] {} <Fatal> BaseDaemon: 20. contrib/llvm-project/libcxx/include/__thread/thread.h:168: void* std::__thread_proxy[abi:se210105]<std::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct>>, void (ThreadPoolImpl<std::thread>::ThreadFromThreadPool::*)(), ThreadPoolImpl<std::thread>::ThreadFromThreadPool*>>(void*) @ 0x0000000015371680
2025.11.12 10:28:05.864827 [ 862465 ] {} <Fatal> BaseDaemon: 21. ? @ 0x00000000000a3d64
2025.11.12 10:28:05.864847 [ 862465 ] {} <Fatal> BaseDaemon: 22. __clone3 @ 0x00000000001373bc
2025.11.12 10:28:06.090358 [ 862465 ] {} <Fatal> BaseDaemon: Integrity check of the executable successfully passed (checksum: 43C21620FDD9F27AA1034247C318FD17)
2025.11.12 10:28:06.090487 [ 862465 ] {} <Fatal> BaseDaemon: Report this error to https://github.com/ClickHouse/ClickHouse/issues
2025.11.12 10:28:06.090668 [ 862465 ] {} <Fatal> BaseDaemon: Changed settings: s3_truncate_on_insert = true, azure_truncate_on_insert = true, allow_suspicious_low_cardinality_types = true, allow_suspicious_fixed_string_types = true, allow_suspicious_indices = true, allow_suspicious_ttl_expressions = true, allow_suspicious_variant_types = true, allow_suspicious_primary_key = true, allow_suspicious_types_in_group_by = true, allow_suspicious_types_in_order_by = true, allow_not_comparable_types_in_order_by = true, allow_not_comparable_types_in_comparison_functions = true, enable_positional_arguments = true, allow_nonconst_timezone_arguments = true, allow_experimental_time_time64_type = true, allow_nondeterministic_optimize_skip_unused_shards = true, use_skip_indexes = true, use_skip_indexes_on_data_read = true, allow_distributed_ddl = true, allow_suspicious_codecs = true, enable_zstd_qat_codec = true, enable_deflate_qpl_codec = true, max_execution_time = 60., allow_custom_error_code_in_throwif = true, allow_ddl = true, allow_introspection_functions = true, allow_drop_detached = true, enable_lightweight_delete = true, allow_materialized_view_with_bad_select = true, allow_settings_after_format_in_insert = true, allow_nondeterministic_mutations = true, allow_non_metadata_alters = true, optimize_use_projections = true, optimize_use_projection_filtering = true, enable_lightweight_update = true, use_query_condition_cache = false, allow_experimental_kafka_offsets_storage_in_keeper = true, engine_file_truncate_on_insert = true, database_replicated_allow_replicated_engine_arguments = 1, allow_experimental_correlated_subqueries = true, query_plan_optimize_lazy_materialization = true, query_plan_max_limit_for_lazy_materialization = 0, keeper_max_retries = 15, enable_order_by_all = true, allow_named_collection_override_by_default = true, allow_experimental_delta_lake_writes = true, cluster_for_parallel_replicas = 'cluster0', parallel_replicas_for_non_replicated_merge_tree = true, allow_experimental_database_iceberg = true, allow_experimental_database_unity_catalog = true, allow_experimental_database_glue_catalog = true, allow_experimental_analyzer = true, allow_experimental_materialized_postgresql_table = true, allow_experimental_funnel_functions = true, allow_experimental_nlp_functions = true, allow_experimental_hash_functions = true, allow_experimental_object_type = true, allow_experimental_time_series_table = true, allow_experimental_codecs = true, allow_experimental_join_right_table_sorting = true, allow_experimental_statistics = true, allow_experimental_full_text_index = true, allow_experimental_database_materialized_postgresql = true, allow_experimental_qbit_type = true, allow_experimental_database_hms_catalog = true, allow_experimental_insert_into_iceberg = true, allow_experimental_iceberg_compaction = true, allow_experimental_bfloat16_type = true, allow_experimental_inverted_index = true, allow_experimental_vector_similarity_index = true, allow_experimental_join_condition = true, allow_experimental_variant_type = true, allow_experimental_dynamic_type = true, allow_experimental_json_type = true, allow_experimental_live_view = true, allow_experimental_shared_set_join = true, type_json_skip_duplicated_paths = true, input_format_parquet_allow_geoparquet_parser = true

Metadata

Metadata

Assignees

Labels

bugConfirmed user-visible misbehaviour in official releasecrashCrash / segfault / abortfuzzProblem found by one of the fuzzers

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