Skip to content

Fuzzer error: 'Column __text_index_idx_hasToken_0 with type Nullable(UInt8) should not be filled by text index reader #88119

@rschu1ze

Description

@rschu1ze

See here.

CREATE TABLE tab__fuzz_0
(
    `k` Nullable(UInt64),
    `text` String,
    INDEX idx text TYPE text (tokenizer = 'splitByNonAlpha') GRANULARITY 1
)
ENGINE = MergeTree
ORDER BY k
SETTINGS index_granularity = 2, index_granularity_bytes =  '10Mi', allow_nullable_key = 1;

INSERT INTO tab__fuzz_0 FORMAT Values (101, 'Alick a01'), (102, 'Blick a02');

SELECT 'Test hasToken:' FROM tab__fuzz_0 WHERE hasToken(text, toNullable('Alick')) GROUP BY 1, 1, 1  IS NOT NULL;

fails with a logical error:

[ip-172-31-34-62] 2025.10.06 08:31:57.302138 [ 2417592 ] {28358ba8-2b86-4f52-a045-db1621fcdb4a} <Fatal> : Logical error: 'Column __text_index_idx_hasToken_0 with type Nullable(UInt8) should not be filled by text index reader'.
[ip-172-31-34-62] 2025.10.06 08:31:57.536496 [ 2417592 ] {28358ba8-2b86-4f52-a045-db1621fcdb4a} <Fatal> : Stack trace (when copying this message, always include the lines below):

0. /data/ch1/contrib/llvm-project/libcxx/include/__exception/exception.h:113: std::exception::capture() @ 0x000000000e328962
1. /data/ch1/contrib/llvm-project/libcxx/include/__exception/exception.h:85: std::exception::exception[abi:se190107]() @ 0x000000000e32892d
2. /data/ch1/base/poco/Foundation/src/Exception.cpp:27: Poco::Exception::Exception(String const&, int) @ 0x0000000037acd620
3. /data/ch1/src/Common/Exception.cpp:128: DB::Exception::Exception(DB::Exception::MessageMasked&&, int, bool) @ 0x0000000018fb05b4
4. /data/ch1/src/Common/Exception.h:123: DB::Exception::Exception(String&&, int, String, bool) @ 0x000000000e32318c
5. /data/ch1/src/Common/Exception.h:58: DB::Exception::Exception(PreformattedMessage&&, int) @ 0x000000000e322011
6. /data/ch1/src/Common/Exception.h:141: DB::Exception::Exception<String const&, String>(int, FormatStringHelperImpl<std::type_identity<String const&>::type, std::type_identity<String>::type>, String const&, String&&) @ 0x000000000f22b3cd
7. /data/ch1/src/Storages/MergeTree/MergeTreeReaderTextIndex.cpp:46: DB::MergeTreeReaderTextIndex::MergeTreeReaderTextIndex(DB::IMergeTreeReader const*, DB::MergeTreeIndexWithCondition, DB::NamesAndTypesList) @ 0x000000002a2ad98b
8. /data/ch1/contrib/llvm-project/libcxx/include/__memory/unique_ptr.h:634: std::__unique_if<DB::MergeTreeReaderTextIndex>::__unique_single std::make_unique[abi:se190107]<DB::MergeTreeReaderTextIndex, DB::IMergeTreeReader const*&, DB::MergeTreeIndexWithCondition const&, DB::NamesAndTypesList const&>(DB::IMergeTreeReader const*&, DB::MergeTreeIndexWithCondition const&, DB::NamesAnd
ypesList const&) @ 0x000000002a2b19fb
9. /data/ch1/src/Storages/MergeTree/MergeTreeReaderTextIndex.cpp:405: DB::createMergeTreeReaderTextIndex(DB::IMergeTreeReader const*, DB::MergeTreeIndexWithCondition const&, DB::NamesAndTypesList const&) @ 0x000000002a2b0265
10. /data/ch1/src/Storages/MergeTree/IMergeTreeReader.cpp:544: DB::createMergeTreeReaderIndex(DB::IMergeTreeReader const*, DB::MergeTreeIndexWithCondition const&, DB::NamesAndTypesList const&) @ 0x0000000029da1e0b
11. /data/ch1/src/Storages/MergeTree/MergeTreeReadTask.cpp:158: DB::MergeTreeReadTask::createReaders(std::shared_ptr<DB::MergeTreeReadTaskInfo const> const&, DB::MergeTreeReadTask::Extras const&, DB::MarkRanges const&, std::vector<DB::MarkRanges, std::allocator<DB::MarkRanges>> const&) @ 0x000000002a2e5b74
12. /data/ch1/src/Storages/MergeTree/MergeTreeReadPoolBase.cpp:322: DB::MergeTreeReadPoolBase::createTask(std::shared_ptr<DB::MergeTreeReadTaskInfo const>, DB::MarkRanges, std::vector<DB::MarkRanges, std::allocator<DB::MarkRanges>>, DB::MergeTreeReadTask*) const @ 0x000000002b96f9c7
13. /data/ch1/src/Storages/MergeTree/MergeTreeReadPoolBase.cpp:344: DB::MergeTreeReadPoolBase::createTask(std::shared_ptr<DB::MergeTreeReadTaskInfo const>, DB::MarkRanges, DB::MergeTreeReadTask*) const @ 0x000000002b9701fa

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions