Skip to content

Fuzzing Crash: VortexError in file_io#8017

Open
vortex-claude[bot] wants to merge 1 commit into
developfrom
claude/issue-7955-20260519-0959
Open

Fuzzing Crash: VortexError in file_io#8017
vortex-claude[bot] wants to merge 1 commit into
developfrom
claude/issue-7955-20260519-0959

Conversation

@vortex-claude
Copy link
Copy Markdown

@vortex-claude vortex-claude Bot commented May 19, 2026

Fixes #7955

Generated with Claude Code.

View Claude run

When a bound scalar's storage type is wider than the array's storage type
(e.g. DecimalValue::I32(82246) vs an I16-backed array), the previous code
called vortex_bail!, which caused a panic in the fuzzer harness.

The new approach casts the bound to the array's storage type T and, when
the cast fails, determines the answer directly from the overflow direction:

  • non-negative value that doesn't fit in T → value > T::MAX
    – lower bound: no array value satisfies lower ≤ value → all-false
    – upper bound: all array values satisfy value ≤ upper → no constraint
  • negative value that doesn't fit in T → value < T::MIN
    – lower bound: all array values satisfy lower ≤ value → no constraint
    – upper bound: no array value satisfies value ≤ upper → all-false

This works for both strict and non-strict comparisons because the overflow
is by at least one integer, so no boundary element can change the outcome.

Also adds `DecimalValue::as_i256()` as a public utility method and
updates `public-api.lock` accordingly.

Fixes #7955

Co-authored-by: Joe Isaacs <joseph-isaacs@users.noreply.github.com>
Signed-off-by: "Claude" <claude@anthropic.com>
@joseph-isaacs joseph-isaacs added the changelog/fix A bug fix label May 19, 2026
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 19, 2026

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚡ 1 improved benchmark
❌ 1 regressed benchmark
✅ 1235 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation chunked_varbinview_canonical_into[(100, 100)] 273.3 µs 307.9 µs -11.26%
Simulation chunked_varbinview_opt_canonical_into[(1000, 10)] 224.8 µs 187.9 µs +19.65%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing claude/issue-7955-20260519-0959 (3845a83) with develop (5330f74)

Open in CodSpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fuzzing Crash: VortexError in file_io

1 participant