Skip to content

ABORT THROWN BY INTERNAL EXCEPTION: Assertion triggered in file "/home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types.cpp" on line 1980: type.id() == LogicalTypeId::GEOMETRY #4326

@fuzzerofducks

Description

@fuzzerofducks

Issue found by DuckFuzz (Functions) on git commit hash d8447 using seed 915198829.

To Reproduce

create table all_types as select * exclude(small_enum, medium_enum, large_enum) from test_all_types();
SELECT st_crs(NULL)

Error Message

ABORT THROWN BY INTERNAL EXCEPTION: Assertion triggered in file "/home/runner/work/duckdb-fuzzer-ci/duckdb-fuzzer-ci/src/common/types.cpp" on line 1980: type.id() == LogicalTypeId::GEOMETRY

Stack Trace

duckdb::StackTrace::GetStackTrace[abi:cxx11](unsigned long) 
duckdb::InternalException::InternalException(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) 
duckdb::InternalException::InternalException<char const*&, int&, char const*&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*&, int&, char const*&) 
duckdb::DuckDBAssertInternal(bool, char const*, char const*, int) 
duckdb::GeoType::HasCRS(duckdb::LogicalType const&) 
 
 
void std::__invoke_impl<void, void (*&)(duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&), duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&>(std::__invoke_other, void (*&)(duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&), duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&) 
std::enable_if<std::is_void<void>::value, void>::type std::__invoke_r<void, void (*&)(duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&), duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&>(void (*&)(duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&), duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&) 
std::_Function_handler<void (duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&), void (*)(duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&)>::_M_invoke(std::_Any_data const&, duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&) 
std::function<void (duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&)>::operator()(duckdb::DataChunk&, duckdb::ExpressionState&, duckdb::Vector&) const 
duckdb::ExpressionExecutor::Execute(duckdb::BoundFunctionExpression const&, duckdb::ExpressionState*, duckdb::SelectionVector const*, unsigned long, duckdb::Vector&) 
duckdb::ExpressionExecutor::Execute(duckdb::Expression const&, duckdb::ExpressionState*, duckdb::SelectionVector const*, unsigned long, duckdb::Vector&) 
duckdb::ExpressionExecutor::ExecuteExpression(unsigned long, duckdb::Vector&) 
duckdb::ExpressionExecutor::ExecuteExpression(duckdb::Vector&) 
duckdb::ExpressionExecutor::EvaluateScalar(duckdb::ClientContext&, duckdb::Expression const&, bool) 
duckdb::ExpressionExecutor::TryEvaluateScalar(duckdb::ClientContext&, duckdb::Expression const&, duckdb::Value&) 
duckdb::ConstantFoldingRule::Apply(duckdb::LogicalOperator&, duckdb::vector<std::reference_wrapper<duckdb::Expression>, true, std::allocator<std::reference_wrapper<duckdb::Expression> > >&, bool&, bool) 
duckdb::ExpressionRewriter::ApplyRules(duckdb::LogicalOperator&, duckdb::vector<std::reference_wrapper<duckdb::Rule>, true, std::allocator<std::reference_wrapper<duckdb::Rule> > > const&, duckdb::unique_ptr<duckdb::Expression, std::default_delete<duckdb::Expression>, true>, bool&, bool) 
duckdb::ExpressionRewriter::VisitExpression(duckdb::unique_ptr<duckdb::Expression, std::default_delete<duckdb::Expression>, true>*) 
 
 
 
 
std::function<void (duckdb::unique_ptr<duckdb::Expression, std::default_delete<duckdb::Expression>, true>*)>::operator()(duckdb::unique_ptr<duckdb::Expression, std::default_delete<duckdb::Expression>, true>*) const 
duckdb::LogicalOperatorVisitor::EnumerateExpressions(duckdb::LogicalOperator&, std::function<void (duckdb::unique_ptr<duckdb::Expression, std::default_delete<duckdb::Expression>, true>*)> const&) 
duckdb::LogicalOperatorVisitor::VisitOperatorExpressions(duckdb::LogicalOperator&) 
duckdb::ExpressionRewriter::VisitOperator(duckdb::LogicalOperator&) 
 
 
 
 
std::function<void ()>::operator()() const 
duckdb::Optimizer::RunOptimizer(duckdb::OptimizerType, std::function<void ()> const&) 
duckdb::Optimizer::RunBuiltInOptimizers() 
duckdb::Optimizer::Optimize(duckdb::unique_ptr<duckdb::LogicalOperator, std::default_delete<duckdb::LogicalOperator>, true>) 
duckdb::ClientContext::CreatePreparedStatementInternal(duckdb::ClientContextLock&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::PendingQueryParameters) 
duckdb::ClientContext::CreatePreparedStatement(duckdb::ClientContextLock&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::PendingQueryParameters, duckdb::PreparedStatementMode) 
duckdb::ClientContext::PendingStatementInternal(duckdb::ClientContextLock&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::PendingQueryParameters const&) 
duckdb::ClientContext::PendingStatementOrPreparedStatement(duckdb::ClientContextLock&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::shared_ptr<duckdb::PreparedStatementData, true>&, duckdb::PendingQueryParameters const&) 
duckdb::ClientContext::PendingStatementOrPreparedStatementInternal(duckdb::ClientContextLock&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::shared_ptr<duckdb::PreparedStatementData, true>&, duckdb::PendingQueryParameters const&) 
duckdb::ClientContext::PendingQueryInternal(duckdb::ClientContextLock&, duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::PendingQueryParameters const&, bool) 
duckdb::ClientContext::PendingQuery(duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, duckdb::BoundParameterData, duckdb::CaseInsensitiveStringHashFunction, duckdb::CaseInsensitiveStringEquality, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, duckdb::BoundParameterData> > >&, duckdb::QueryParameters) 
duckdb::ClientContext::PendingQuery(duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::QueryParameters) 
duckdb::ClientContext::Query(duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::QueryParameters) 
duckdb::Connection::SendQuery(duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>, duckdb::QueryParameters) 
duckdb_shell::ShellState::ExecuteStatement(duckdb::unique_ptr<duckdb::SQLStatement, std::default_delete<duckdb::SQLStatement>, true>) 
duckdb_shell::ShellState::ExecuteSQL(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) 
duckdb_shell::ShellState::RunOneSqlLine(duckdb_shell::InputMode, char*) 
duckdb_shell::ShellState::ProcessInput(duckdb_shell::InputMode) 
main 
_start

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions