-
Notifications
You must be signed in to change notification settings - Fork 2.2k
[BugFix] segmentation fault in parquet statistics reading #67004
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
[BugFix] segmentation fault in parquet statistics reading #67004
Conversation
|
@alvin-celerdata @Youngwb does above changes make sense? |
[Java-Extensions Incremental Coverage Report]✅ pass : 0 / 0 (0%) |
[FE Incremental Coverage Report]✅ pass : 0 / 0 (0%) |
[BE Incremental Coverage Report]❌ fail : 3 / 4 (75.00%) file detail
|
|
@cursor review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no bugs!
|
a similar fix #66864 |
|
closed via #66864 |
|
Hi @stdpain @trueeyu i am facing random issue when applied above patch(#66864), in intel output of simple query is same, but in graviton it is giving random for example sometime 0, sometime x number, sometime y number etc.. how to debug also one more thing i want to tell is same sigsev fault is not in 3.5, but in 4.x only, why? i also want to add, my patch is working |
Why I'm doing:
[BugFix] Fix SIGSEGV in Int32ToDateConverter for NULL values on ARM64
This crash was architecture-specific (ARM64/Graviton) because:
- ARM has stricter memory access patterns than x86_64
- Uninitialized memory contains different bit patterns on ARM
- x86_64 had the same latent bug but often didn't crash
What I'm doing:
Fixes #issue
Fix: Add null check before accessing data, consistent with other
converters (Int32ToTimeConverter, Int32ToDateTimeConverter).
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist:
Bugfix cherry-pick branch check:
Note
Guard Int32-to-Date parquet conversion against NULLs by copying nulls and only converting non-null rows, preventing SIGSEGV.
Int32ToDateConverter::convert:nullflags row-by-row and only setDatevalues for non-null entries.memcpyof null bitmap and unconditional writes todst_datathat accessed uninitialized memory.Written by Cursor Bugbot for commit 2ebd9f5. This will update automatically on new commits. Configure here.