Skip to content

Adjust v1.5.0 for z/OS#1

Closed
DNikolaevAtRocket wants to merge 1 commit intov1.5-variegatafrom
v1.5-zos
Closed

Adjust v1.5.0 for z/OS#1
DNikolaevAtRocket wants to merge 1 commit intov1.5-variegatafrom
v1.5-zos

Conversation

@DNikolaevAtRocket
Copy link
Copy Markdown
Owner

No description provided.

@DNikolaevAtRocket DNikolaevAtRocket marked this pull request as draft March 11, 2026 11:47
@DNikolaevAtRocket DNikolaevAtRocket marked this pull request as ready for review March 11, 2026 11:47
@DNikolaevAtRocket DNikolaevAtRocket marked this pull request as draft March 11, 2026 16:46
@DNikolaevAtRocket DNikolaevAtRocket marked this pull request as ready for review March 11, 2026 16:46
Signed-off-by: Dmitry Nikolaev <dnikolaev@rocketsoftware.com>
DNikolaevAtRocket pushed a commit that referenced this pull request Apr 14, 2026
Closes duckdb/ducklake#977

When I was using DuckLake I met certain issue
```sh
memory D ATTACH ':memory:' AS dl (TYPE ducklake, DATA_INLINING_ROW_LIMIT 1000);
memory D CREATE TABLE dl.test(id INTEGER, val TEXT);
memory D INSERT INTO dl.test VALUES (1, 'a'), (2, 'b'), (3, 'c');
memory D BEGIN;
memory D ALTER TABLE dl.test ALTER COLUMN id TYPE BIGINT;
memory D UPDATE dl.test SET val = 'X' WHERE id = 1;
=================================================================
==83726==ERROR: AddressSanitizer: heap-use-after-free on address 0x6160001cffb8 at pc 0x00010bf6c580 bp 0x00016f1a3cf0 sp 0x00016f1a3ce8
READ of size 1 at 0x6160001cffb8 thread T5
    #0 0x00010bf6c57c in duckdb::LogicalType::operator==(duckdb::LogicalType const&) const types.cpp:2071
    #1 0x000106c89ab8 in duckdb::StatisticsPropagator::CanPropagateCast(duckdb::LogicalType const&, duckdb::LogicalType const&) propagate_cast.cpp:31
    #2 0x00010a635dcc in duckdb::TryCastTableFilter(duckdb::TableFilter const&, duckdb::MultiFileIndexMapping&, duckdb::LogicalType const&) multi_file_column_mapper.cpp:1014
    duckdb#3 0x00010a632458 in duckdb::MultiFileColumnMapper::CreateFilters(std::__1::map<unsigned long long, std::__1::reference_wrapper<duckdb::TableFilter>, std::__1::less<unsigned long long>, std::__1::allocator<std::__1::pair<unsigned long long const, std::__1::reference_wrapper<duckdb::TableFilter>>>>&, duckdb::ResultColumnMapping&) multi_file_column_mapper.cpp:1104
```

I don't have too much knowledge on `MultiFileColumnMapper`, but
considering (1) the invalid memory access is 1 byte; (2) stacktrace code
location more or less indicates its logical type reference stored within
`MultiFileColumnMapper` gets invalid.
Turning it into value fixes the ASAN complaint.
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

Successfully merging this pull request may close these issues.

1 participant