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

DuckDB Internal Error: Vector::Reference used on vector of different type #15444

Open
2 tasks done
SteveLeungYL opened this issue Dec 23, 2024 · 0 comments
Open
2 tasks done

Comments

@SteveLeungYL
Copy link

What happens?

The latest version of the DuckDB (latest main: v1.1.4-dev3741 ab8c909 and the latest released version: v1.1.3 1986445) triggers Internal Error when running the following SQL statement:

SET order_by_non_integer_literal=true;
CREATE TABLE v00 (c01 INT, c02 STRING);
INSERT INTO v00 (c01, c02) VALUES (0, 'abc');
SELECT DISTINCT ON ( 'string' ) 'string' ident FROM v00 AS ta03, ( SELECT c01 < 'string' ) CROSS JOIN v00 AS ta04 ASOF RIGHT JOIN v00 AS ta05 USING ( c02, c01 );

Here is the stack from ab8c909:

INTERNAL Error:
Vector::Reference used on vector of different type

#0  duckdb::InternalException::InternalException (this=0x60d00007d600, Python Exception <class 'gdb.error'> There is no member named _M_dataplus.:
msg=) at /home/duckdb/duckdb/src/common/exception.cpp:320
#1  0x00000000015f9619 in duckdb::Vector::Reference (this=0x7e97c13fc3a0, other=...) at /home/duckdb/duckdb/src/common/types/vector.cpp:135
#2  0x000000000275aff6 in duckdb::ExpressionExecutor::Execute (this=0x61b00002f6c8, expr=..., state=<optimized out>, sel=0x0, count=1, result=...)
    at /home/duckdb/duckdb/src/execution/expression_executor/execute_reference.cpp:21
#3  0x00000000030b037f in duckdb::ExpressionExecutor::Execute (this=0x61b00002f6b0, expr=..., state=<optimized out>, sel=<optimized out>,
    count=<optimized out>, result=...) at /home/duckdb/duckdb/src/execution/expression_executor.cpp:199
#4  0x00000000030ace07 in duckdb::ExpressionExecutor::ExecuteExpression (this=<optimized out>, expr_idx=<optimized out>, result=...)
    at /home/duckdb/duckdb/src/execution/expression_executor.cpp:102
#5  0x00000000030ac142 in duckdb::ExpressionExecutor::Execute (this=<optimized out>, input=0x606000104e40, result=...)
    at /home/duckdb/duckdb/src/execution/expression_executor.cpp:76
#6  0x000000000a3b93b4 in duckdb::PhysicalHashJoin::ExecuteInternal (this=0x61300005ebc0, context=..., input=..., chunk=..., gstate=..., state_p=...)
    at /home/duckdb/duckdb/src/execution/operator/join/physical_hash_join.cpp:865
#7  0x000000000311dfc1 in duckdb::CachingPhysicalOperator::Execute (this=0x61300005ebc0, context=..., input=..., chunk=..., gstate=..., state_p=...)
    at /home/duckdb/duckdb/src/execution/physical_operator.cpp:304
#8  0x0000000003d0017a in duckdb::PipelineExecutor::Execute (this=<optimized out>, input=..., result=..., initial_idx=<optimized out>)
    at /home/duckdb/duckdb/src/parallel/pipeline_executor.cpp:442
#9  0x0000000003cf7d91 in duckdb::PipelineExecutor::ExecutePushInternal (this=<optimized out>, input=..., chunk_budget=..., initial_idx=<optimized out>)
    at /home/duckdb/duckdb/src/parallel/pipeline_executor.cpp:318
#10 0x0000000003cdbda6 in duckdb::PipelineExecutor::Execute (this=0x6150002f6280, max_chunks=<optimized out>)
    at /home/duckdb/duckdb/src/parallel/pipeline_executor.cpp:250
#11 0x0000000003cdd7e0 in duckdb::PipelineExecutor::Execute (this=<optimized out>) at /home/duckdb/duckdb/src/parallel/pipeline_executor.cpp:278
#12 0x0000000003cd8c05 in duckdb::PipelineTask::ExecuteTask (this=0x6070000885f0, mode=<optimized out>) at /home/duckdb/duckdb/src/parallel/pipeline.cpp:51
#13 0x0000000003ca595c in duckdb::ExecutorTask::Execute (this=0x6070000885f0, mode=<optimized out>)
    at /home/duckdb/duckdb/src/parallel/executor_task.cpp:49
#14 0x0000000003d0f68f in duckdb::TaskScheduler::ExecuteForever (this=<optimized out>, marker=<optimized out>)
    at /home/duckdb/duckdb/src/parallel/task_scheduler.cpp:189
#15 0x00007e97c57eadf4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007e97c55aa609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x00007e97c54a8353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

To Reproduce

  1. Clone the DuckDB Git from the official repo.
  2. Checkout to the latest main (v1.1.4-dev3741 ab8c909).
  3. Compile the DuckDB binary by using make relassert or make debug.
  4. Run the compiled DuckDB and input the following SQL:
SET order_by_non_integer_literal=true;
CREATE TABLE v00 (c01 INT, c02 STRING);
INSERT INTO v00 (c01, c02) VALUES (0, 'abc');
SELECT DISTINCT ON ( 'string' ) 'string' ident FROM v00 AS ta03, ( SELECT c01 < 'string' ) CROSS JOIN v00 AS ta04 ASOF RIGHT JOIN v00 AS ta05 USING ( c02, c01 );

OS:

Ubuntu 24.04 LTS

DuckDB Version:

v1.1.3 1986445

DuckDB Client:

cli

Hardware:

No response

Full Name:

Yu Liang

Affiliation:

The Pennsylvania State University

What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.

I have tested with a stable release

Did you include all relevant data sets for reproducing the issue?

Yes

Did you include all code required to reproduce the issue?

  • Yes, I have

Did you include all relevant configuration (e.g., CPU architecture, Python version, Linux distribution) to reproduce the issue?

  • Yes, I have
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants