You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C++][Gandiva] Gandiva crashes when casting a large batch from int32 to decimal with JIT optimization disabled #55277
Describe the bug, including details regarding any error messages, version, and platform.
To reproduce:
Create 524,288 int32 rows.
Build a projector with one cast to decimal128(10, 0).
Use gandiva::Configuration(false).
Evaluate the batch.
This crashes with SIGSEGV on macOS ARM64 with LLVM 21.1.7. With optimization enabled, it passes. Evaluation should work with either setting.
DecimalIR::CallDecimalFunction creates two stack slots for the decimal result. These allocations are inside the record loop, so each row uses more stack. The stack is only released when the function returns. DecimalIR::AddLarge has the same allocation pattern.
Moving the allocations to the function entry block should fix the crash.
changed the title [-]Gandiva crashes when casting a large batch from int32 to decimal with JIT optimization disabled[/-][+][C++][Gandiva] Gandiva crashes when casting a large batch from int32 to decimal with JIT optimization disabled[/+]on Oct 27, 2026
Activity
[-]Gandiva crashes when casting a large batch from int32 to decimal with JIT optimization disabled[/-][+][C++][Gandiva] Gandiva crashes when casting a large batch from int32 to decimal with JIT optimization disabled[/+]apacheGH-55277: [C++][Gandiva] Allocate decimal return slots in the e…
apacheGH-55277: [C++][Gandiva] Allocate decimal return slots in the e…