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

AddressSanitizer:DEADLYSIGNAL #4078

Closed
fuzzerofducks opened this issue Mar 5, 2025 · 0 comments
Closed

AddressSanitizer:DEADLYSIGNAL #4078

fuzzerofducks opened this issue Mar 5, 2025 · 0 comments

Comments

@fuzzerofducks
Copy link
Collaborator

Issue found by SQLSmith on git commit hash d0c72 using seed 639589216.

To Reproduce

create table all_types as select * exclude(small_enum, medium_enum, large_enum) from test_all_types();
SELECT NULL FROM (SELECT ref_1.fixed_varchar_array AS c4 FROM main.all_types AS ref_0 INNER JOIN main.all_types AS ref_1 ON ((ref_0.hugeint = ref_1.hugeint)) LIMIT 73) AS subq_0 WHERE subq_0.c4

Error Message

AddressSanitizer:DEADLYSIGNAL

Stack Trace

=================================================================
==2595==ERROR: AddressSanitizer: SEGV on unknown address (pc 0x55a6a2e3d5cf bp 0x7ffe0062a8d0 sp 0x7ffe0062a850 T0)
==2595==The signal is caused by a READ memory access.
==2595==Hint: this fault was caused by a dereference of a high value address (see register values below).  Disassemble the provided pc to learn which register was used.
    #0 0x55a6a2e3d5cf in unsigned long const duckdb::Load<unsigned long>(unsigned char const*) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/include/duckdb/common/helper.hpp:222
    #1 0x55a6a2e3909f in duckdb::Utf8Proc::Analyze(char const*, unsigned long, duckdb::UnicodeInvalidReason*, unsigned long*) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/third_party/utf8proc/utf8proc_wrapper.cpp:82
    #2 0x55a6a372c1cd in duckdb::string_t::VerifyUTF8() const /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types/string_type.cpp:23
    #3 0x55a6a372c0db in duckdb::string_t::Verify() const /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types/string_type.cpp:12
    #4 0x55a6a37ac5f1 in duckdb::Vector::Verify(duckdb::Vector&, duckdb::SelectionVector const&, unsigned long) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types/vector.cpp:1560
    #5 0x55a6a37ad0c9 in duckdb::Vector::Verify(duckdb::Vector&, duckdb::SelectionVector const&, unsigned long) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types/vector.cpp:1650
    #6 0x55a6a37af40e in duckdb::Vector::Verify(unsigned long) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types/vector.cpp:1760
    #7 0x55a6a36ed91f in duckdb::DataChunk::Verify() /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types/data_chunk.cpp:361
    #8 0x55a6a511a164 in duckdb::PipelineExecutor::EndOperator(duckdb::PhysicalOperator&, duckdb::optional_ptr<duckdb::DataChunk, true>) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/parallel/pipeline_executor.cpp:554
    #9 0x55a6a511978a in duckdb::PipelineExecutor::FetchFromSource(duckdb::DataChunk&) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/parallel/pipeline_executor.cpp:533
    #10 0x55a6a5113523 in duckdb::PipelineExecutor::Execute(unsigned long) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/parallel/pipeline_executor.cpp:228
    #11 0x55a6a50fd3ef in duckdb::PipelineTask::ExecuteTask(duckdb::TaskExecutionMode) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/parallel/pipeline.cpp:40
    #12 0x55a6a50e140a in duckdb::ExecutorTask::Execute(duckdb::TaskExecutionMode) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/parallel/executor_task.cpp:49
    #13 0x55a6a50f3cc3 in duckdb::Executor::ExecuteTask(bool) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/parallel/executor.cpp:580
    #14 0x55a6a4b8ad42 in duckdb::ClientContext::ExecuteTaskInternal(duckdb::ClientContextLock&, duckdb::BaseQueryResult&, bool) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/main/client_context.cpp:591
    #15 0x55a6a4bfebba in duckdb::PendingQueryResult::ExecuteTaskInternal(duckdb::ClientContextLock&) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/main/pending_query_result.cpp:68
    #16 0x55a6a4bff140 in duckdb::PendingQueryResult::ExecuteInternal(duckdb::ClientContextLock&) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/main/pending_query_result.cpp:75
    #17 0x55a6a4bffa76 in duckdb::PendingQueryResult::Execute() /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/main/pending_query_result.cpp:95
    #18 0x55a6a2db5af2 in duckdb_shell_sqlite3_print_duckbox /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/tools/sqlite3_api_wrapper/sqlite3_api_wrapper.cpp:270
    #19 0x55a6a2d2f669 in duckdb_shell::ShellState::ExecutePreparedStatement(sqlite3_stmt*) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/tools/shell/shell.cpp:1698
    #20 0x55a6a2d310ac in duckdb_shell::ShellState::ExecuteSQL(char const*, char**) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/tools/shell/shell.cpp:1831
    #21 0x55a6a2d4f164 in duckdb_shell::ShellState::RunOneSqlLine(char*) /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/tools/shell/shell.cpp:4406
    #22 0x55a6a2d506b9 in duckdb_shell::ShellState::ProcessInput() /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/tools/shell/shell.cpp:4537
    #23 0x55a6a2d54c8f in main /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/tools/shell/shell.cpp:5139
    #24 0x7f6e0b22a1c9  (/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9) (BuildId: 42c84c92e6f98126b3e2230ebfdead22c235b667)
    #25 0x7f6e0b22a28a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28a) (BuildId: 42c84c92e6f98126b3e2230ebfdead22c235b667)
    #26 0x55a6a2cb3024 in _start (/home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/duckdb+0x17ec9024) (BuildId: c426caaf3c3926080e2f5c43bc8ab451d99858a6)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/include/duckdb/common/helper.hpp:222 in unsigned long const duckdb::Load<unsigned long>(unsigned char const*)
==2595==ABORTING
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant