Skip to content

Fuzzing Crash: VortexError in file_io #7112

@github-actions

Description

@github-actions

Fuzzing Crash Report

Analysis

Crash Location: fuzz/fuzz_targets/file_io.rs:119:__libfuzzer_sys_run

Error Message:

Other error: Failed to match original array root: vortex.struct({={\u{5}=f64?, =f64?}, ={\u{5}=f64?, =f64?}}?, len=44) nbytes=8.11 kB (100.00%) [all_valid]
  metadata: EmptyMetadata
  : vortex.get_item({\u{5}=f64?, =f64?}, len=44) nbytes=4.06 kB (50.00%)
    metadata: 
    input: vortex.filter({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=44) nbytes=4.06 kB (100.00%)
      metadata: 44 / 77 => 0.5714285714285714
      child: vortex.chunked({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=77) nbytes=4.06 kB (100.00%)
        metadata: EmptyMetadata
        chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
          metadata: EmptyMetadata
          buffer: values host 32 B (align=8) (100.00%)
        chunks[0]: vortex.struct({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=3) nbytes=275 B (100.00%)
          metadata: EmptyMetadata
          La: vortex.decimal(decimal(43,-34)?, len=3) nbytes=97 B (35.27%) [nulls=1, min=decimal256(-7729317080536074800491998958182167867404720, precision=43, scale=-34), max=decimal256(-3178561360133126269660871047622721080983470, precision=43, scale=-34), sum=decimal256(-10907878440669201070152870005804888948388190, precision=53, scale=-34)]
            metadata: DecimalMetadata { values_type: I256 }
            buffer: values host 96 B (align=16) (98.97%)
            validity: vortex.bool(bool, len=3) nbytes=1 B (1.03%) [sum=2u64]
              metadata: BoolMetadata { offset: 0 }
              buffer: bits host 1 B (align=1) (100.00%)
          : vortex.chunked({\u{5}=f64?, =f64?}, len=3) nbytes=178 B (64.73%) [nulls=0]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 32 B (align=8) (100.00%)
            chunks[0]: vortex.struct({\u{5}=f64?, =f64?}, len=1) nbytes=82 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.chunked(f64?, len=1) nbytes=42 B (51.22%) [all_invalid]
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[1]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[2]: vortex.primitive(f64?, len=1) nbytes=10 B (100.00%) [all_invalid]
                  metadata: EmptyMetadata
                  buffer: values host 8 B (align=8) (80.00%)
                  validity: vortex.constant(bool, len=1) nbytes=2 B (20.00%)
                    metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                    buffer: scalar host 2 B (align=1) (100.00%)
              : vortex.chunked(f64?, len=1) nbytes=40 B (48.78%) [all_valid]
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[1]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[2]: vortex.primitive(f64?, len=1) nbytes=8 B (100.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 8 B (align=8) (100.00%)
            chunks[1]: vortex.struct({\u{5}=f64?, =f64?}, len=1) nbytes=16 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.primitive(f64?, len=1) nbytes=8 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 8 B (align=8) (100.00%)
              : vortex.primitive(f64?, len=1) nbytes=8 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 8 B (align=8) (100.00%)
            chunks[2]: vortex.struct({\u{5}=f64?, =f64?}, len=1) nbytes=48 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.primitive(f64?, len=1) nbytes=8 B (16.67%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 8 B (align=8) (100.00%)
              : vortex.chunked(f64?, len=1) nbytes=40 B (83.33%) [all_valid]
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[1]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[2]: vortex.primitive(f64?, len=1) nbytes=8 B (100.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 8 B (align=8) (100.00%)
        chunks[1]: vortex.struct({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=22) nbytes=1.13 kB (100.00%)
          metadata: EmptyMetadata
          La: vortex.chunked(decimal(43,-34)?, len=22) nbytes=738 B (65.54%) [nulls=6, min=decimal256(-9303053522920221758951158257866823010549760, precision=43, scale=-34), max=decimal256(7753142256085162736202944350382813277309900, precision=43, scale=-34), sum=decimal256(-50478038354528291811443049449773838489804542, precision=53, scale=-34)]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 32 B (align=8) (100.00%)
            chunks[0]: vortex.decimal(decimal(43,-34)?, len=5) nbytes=160 B (100.00%) [all_valid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 160 B (align=16) (100.00%)
            chunks[1]: vortex.decimal(decimal(43,-34)?, len=14) nbytes=450 B (100.00%)
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 448 B (align=16) (99.56%)
              validity: vortex.bool(bool, len=14) nbytes=2 B (0.44%) [nulls=0, min=false, max=true]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 2 B (align=1) (100.00%)
            chunks[2]: vortex.decimal(decimal(43,-34)?, len=3) nbytes=96 B (100.00%) [all_valid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 96 B (align=16) (100.00%)
          : vortex.struct({\u{5}=f64?, =f64?}, len=22) nbytes=388 B (34.46%) [nulls=0]
            metadata: EmptyMetadata
            �: vortex.primitive(f64?, len=22) nbytes=179 B (46.13%)
              metadata: EmptyMetadata
              buffer: values host 176 B (align=8) (98.32%)
              validity: vortex.bool(bool, len=22) nbytes=3 B (1.68%) [nulls=0, min=false, max=true]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 3 B (align=1) (100.00%)
            : vortex.chunked(f64?, len=22) nbytes=209 B (53.87%)
              metadata: EmptyMetadata
              chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                metadata: EmptyMetadata
                buffer: values host 32 B (align=8) (100.00%)
              chunks[0]: vortex.primitive(f64?, len=7) nbytes=56 B (100.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 56 B (align=8) (100.00%)
              chunks[1]: vortex.primitive(f64?, len=7) nbytes=57 B (100.00%)
                metadata: EmptyMetadata
                buffer: values host 56 B (align=8) (98.25%)
                validity: vortex.bool(bool, len=7) nbytes=1 B (1.75%) [nulls=0, min=false, max=true]
                  metadata: BoolMetadata { offset: 0 }
                  buffer: bits host 1 B (align=1) (100.00%)
              chunks[2]: vortex.primitive(f64?, len=8) nbytes=64 B (100.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 64 B (align=8) (100.00%)
        chunks[2]: vortex.struct({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=52) nbytes=2.62 kB (100.00%)
          metadata: EmptyMetadata
          La: vortex.chunked(decimal(43,-34)?, len=52) nbytes=1.70 kB (64.93%) [nulls=37, min=decimal256(-9999885238090640185064486477108489531009449, precision=43, scale=-34), max=decimal256(5172188503582603946699182657321557755035650, precision=43, scale=-34), sum=decimal256(-74934909280059105999794467619150684235667662, precision=53, scale=-34)]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 32 B (align=8) (100.00%)
            chunks[0]: vortex.decimal(decimal(43,-34)?, len=20) nbytes=643 B (100.00%)
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 640 B (align=16) (99.53%)
              validity: vortex.bool(bool, len=20) nbytes=3 B (0.47%) [nulls=0, min=false, max=true]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 3 B (align=1) (100.00%)
            chunks[1]: vortex.decimal(decimal(43,-34)?, len=16) nbytes=514 B (100.00%) [all_invalid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 512 B (align=16) (99.61%)
              validity: vortex.constant(bool, len=16) nbytes=2 B (0.39%)
                metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                buffer: scalar host 2 B (align=1) (100.00%)
            chunks[2]: vortex.decimal(decimal(43,-34)?, len=16) nbytes=514 B (100.00%) [all_invalid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 512 B (align=16) (99.61%)
              validity: vortex.constant(bool, len=16) nbytes=2 B (0.39%)
                metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                buffer: scalar host 2 B (align=1) (100.00%)
          : vortex.chunked({\u{5}=f64?, =f64?}, len=52) nbytes=920 B (35.07%) [nulls=0]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=3) nbytes=24 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 24 B (align=8) (100.00%)
            chunks[0]: vortex.struct({\u{5}=f64?, =f64?}, len=26) nbytes=480 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.chunked(f64?, len=26) nbytes=236 B (49.17%)
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=3) nbytes=24 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 24 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=13) nbytes=106 B (100.00%) [all_invalid]
                  metadata: EmptyMetadata
                  buffer: values host 104 B (align=8) (98.11%)
                  validity: vortex.constant(bool, len=13) nbytes=2 B (1.89%)
                    metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                    buffer: scalar host 2 B (align=1) (100.00%)
                chunks[1]: vortex.primitive(f64?, len=13) nbytes=106 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 104 B (align=8) (98.11%)
                  validity: vortex.bool(bool, len=13) nbytes=2 B (1.89%) [nulls=0, min=false, max=true]
                    metadata: BoolMetadata { offset: 0 }
                    buffer: bits host 2 B (align=1) (100.00%)
              : vortex.chunked(f64?, len=26) nbytes=244 B (50.83%)
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=8) nbytes=64 B (100.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 64 B (align=8) (100.00%)
                chunks[1]: vortex.primitive(f64?, len=9) nbytes=74 B (100.00%) [all_invalid]
                  metadata: EmptyMetadata
                  buffer: values host 72 B (align=8) (97.30%)
                  validity: vortex.constant(bool, len=9) nbytes=2 B (2.70%)
                    metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                    buffer: scalar host 2 B (align=1) (100.00%)
                chunks[2]: vortex.primitive(f64?, len=9) nbytes=74 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 72 B (align=8) (97.30%)
                  validity: vortex.bool(bool, len=9) nbytes=2 B (2.70%) [nulls=0, min=false, max=true]
                    metadata: BoolMetadata { offset: 0 }
                    buffer: bits host 2 B (align=1) (100.00%)
            chunks[1]: vortex.struct({\u{5}=f64?, =f64?}, len=26) nbytes=416 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.primitive(f64?, len=26) nbytes=208 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 208 B (align=8) (100.00%)
              : vortex.primitive(f64?, len=26) nbytes=208 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 208 B (align=8) (100.00%)
  : vortex.get_item({\u{5}=f64?, =f64?}, len=44) nbytes=4.06 kB (50.00%)
    metadata: 
    input: vortex.filter({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=44) nbytes=4.06 kB (100.00%)
      metadata: 44 / 77 => 0.5714285714285714
      child: vortex.chunked({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=77) nbytes=4.06 kB (100.00%)
        metadata: EmptyMetadata
        chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
          metadata: EmptyMetadata
          buffer: values host 32 B (align=8) (100.00%)
        chunks[0]: vortex.struct({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=3) nbytes=275 B (100.00%)
          metadata: EmptyMetadata
          La: vortex.decimal(decimal(43,-34)?, len=3) nbytes=97 B (35.27%) [nulls=1, min=decimal256(-7729317080536074800491998958182167867404720, precision=43, scale=-34), max=decimal256(-3178561360133126269660871047622721080983470, precision=43, scale=-34), sum=decimal256(-10907878440669201070152870005804888948388190, precision=53, scale=-34)]
            metadata: DecimalMetadata { values_type: I256 }
            buffer: values host 96 B (align=16) (98.97%)
            validity: vortex.bool(bool, len=3) nbytes=1 B (1.03%) [sum=2u64]
              metadata: BoolMetadata { offset: 0 }
              buffer: bits host 1 B (align=1) (100.00%)
          : vortex.chunked({\u{5}=f64?, =f64?}, len=3) nbytes=178 B (64.73%) [nulls=0]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 32 B (align=8) (100.00%)
            chunks[0]: vortex.struct({\u{5}=f64?, =f64?}, len=1) nbytes=82 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.chunked(f64?, len=1) nbytes=42 B (51.22%) [all_invalid]
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[1]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[2]: vortex.primitive(f64?, len=1) nbytes=10 B (100.00%) [all_invalid]
                  metadata: EmptyMetadata
                  buffer: values host 8 B (align=8) (80.00%)
                  validity: vortex.constant(bool, len=1) nbytes=2 B (20.00%)
                    metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                    buffer: scalar host 2 B (align=1) (100.00%)
              : vortex.chunked(f64?, len=1) nbytes=40 B (48.78%) [all_valid]
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[1]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[2]: vortex.primitive(f64?, len=1) nbytes=8 B (100.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 8 B (align=8) (100.00%)
            chunks[1]: vortex.struct({\u{5}=f64?, =f64?}, len=1) nbytes=16 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.primitive(f64?, len=1) nbytes=8 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 8 B (align=8) (100.00%)
              : vortex.primitive(f64?, len=1) nbytes=8 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 8 B (align=8) (100.00%)
            chunks[2]: vortex.struct({\u{5}=f64?, =f64?}, len=1) nbytes=48 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.primitive(f64?, len=1) nbytes=8 B (16.67%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 8 B (align=8) (100.00%)
              : vortex.chunked(f64?, len=1) nbytes=40 B (83.33%) [all_valid]
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[1]: vortex.primitive(f64?, len=0) nbytes=0 B (0.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 0 B (align=8) (0.00%)
                chunks[2]: vortex.primitive(f64?, len=1) nbytes=8 B (100.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 8 B (align=8) (100.00%)
        chunks[1]: vortex.struct({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=22) nbytes=1.13 kB (100.00%)
          metadata: EmptyMetadata
          La: vortex.chunked(decimal(43,-34)?, len=22) nbytes=738 B (65.54%) [nulls=6, min=decimal256(-9303053522920221758951158257866823010549760, precision=43, scale=-34), max=decimal256(7753142256085162736202944350382813277309900, precision=43, scale=-34), sum=decimal256(-50478038354528291811443049449773838489804542, precision=53, scale=-34)]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 32 B (align=8) (100.00%)
            chunks[0]: vortex.decimal(decimal(43,-34)?, len=5) nbytes=160 B (100.00%) [all_valid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 160 B (align=16) (100.00%)
            chunks[1]: vortex.decimal(decimal(43,-34)?, len=14) nbytes=450 B (100.00%)
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 448 B (align=16) (99.56%)
              validity: vortex.bool(bool, len=14) nbytes=2 B (0.44%) [nulls=0, min=false, max=true]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 2 B (align=1) (100.00%)
            chunks[2]: vortex.decimal(decimal(43,-34)?, len=3) nbytes=96 B (100.00%) [all_valid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 96 B (align=16) (100.00%)
          : vortex.struct({\u{5}=f64?, =f64?}, len=22) nbytes=388 B (34.46%) [nulls=0]
            metadata: EmptyMetadata
            �: vortex.primitive(f64?, len=22) nbytes=179 B (46.13%)
              metadata: EmptyMetadata
              buffer: values host 176 B (align=8) (98.32%)
              validity: vortex.bool(bool, len=22) nbytes=3 B (1.68%) [nulls=0, min=false, max=true]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 3 B (align=1) (100.00%)
            : vortex.chunked(f64?, len=22) nbytes=209 B (53.87%)
              metadata: EmptyMetadata
              chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                metadata: EmptyMetadata
                buffer: values host 32 B (align=8) (100.00%)
              chunks[0]: vortex.primitive(f64?, len=7) nbytes=56 B (100.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 56 B (align=8) (100.00%)
              chunks[1]: vortex.primitive(f64?, len=7) nbytes=57 B (100.00%)
                metadata: EmptyMetadata
                buffer: values host 56 B (align=8) (98.25%)
                validity: vortex.bool(bool, len=7) nbytes=1 B (1.75%) [nulls=0, min=false, max=true]
                  metadata: BoolMetadata { offset: 0 }
                  buffer: bits host 1 B (align=1) (100.00%)
              chunks[2]: vortex.primitive(f64?, len=8) nbytes=64 B (100.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 64 B (align=8) (100.00%)
        chunks[2]: vortex.struct({La=decimal(43,-34)?, ={\u{5}=f64?, =f64?}}, len=52) nbytes=2.62 kB (100.00%)
          metadata: EmptyMetadata
          La: vortex.chunked(decimal(43,-34)?, len=52) nbytes=1.70 kB (64.93%) [nulls=37, min=decimal256(-9999885238090640185064486477108489531009449, precision=43, scale=-34), max=decimal256(5172188503582603946699182657321557755035650, precision=43, scale=-34), sum=decimal256(-74934909280059105999794467619150684235667662, precision=53, scale=-34)]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 32 B (align=8) (100.00%)
            chunks[0]: vortex.decimal(decimal(43,-34)?, len=20) nbytes=643 B (100.00%)
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 640 B (align=16) (99.53%)
              validity: vortex.bool(bool, len=20) nbytes=3 B (0.47%) [nulls=0, min=false, max=true]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 3 B (align=1) (100.00%)
            chunks[1]: vortex.decimal(decimal(43,-34)?, len=16) nbytes=514 B (100.00%) [all_invalid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 512 B (align=16) (99.61%)
              validity: vortex.constant(bool, len=16) nbytes=2 B (0.39%)
                metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                buffer: scalar host 2 B (align=1) (100.00%)
            chunks[2]: vortex.decimal(decimal(43,-34)?, len=16) nbytes=514 B (100.00%) [all_invalid]
              metadata: DecimalMetadata { values_type: I256 }
              buffer: values host 512 B (align=16) (99.61%)
              validity: vortex.constant(bool, len=16) nbytes=2 B (0.39%)
                metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                buffer: scalar host 2 B (align=1) (100.00%)
          : vortex.chunked({\u{5}=f64?, =f64?}, len=52) nbytes=920 B (35.07%) [nulls=0]
            metadata: EmptyMetadata
            chunk_offsets: vortex.primitive(u64, len=3) nbytes=24 B (100.00%)
              metadata: EmptyMetadata
              buffer: values host 24 B (align=8) (100.00%)
            chunks[0]: vortex.struct({\u{5}=f64?, =f64?}, len=26) nbytes=480 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.chunked(f64?, len=26) nbytes=236 B (49.17%)
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=3) nbytes=24 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 24 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=13) nbytes=106 B (100.00%) [all_invalid]
                  metadata: EmptyMetadata
                  buffer: values host 104 B (align=8) (98.11%)
                  validity: vortex.constant(bool, len=13) nbytes=2 B (1.89%)
                    metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                    buffer: scalar host 2 B (align=1) (100.00%)
                chunks[1]: vortex.primitive(f64?, len=13) nbytes=106 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 104 B (align=8) (98.11%)
                  validity: vortex.bool(bool, len=13) nbytes=2 B (1.89%) [nulls=0, min=false, max=true]
                    metadata: BoolMetadata { offset: 0 }
                    buffer: bits host 2 B (align=1) (100.00%)
              : vortex.chunked(f64?, len=26) nbytes=244 B (50.83%)
                metadata: EmptyMetadata
                chunk_offsets: vortex.primitive(u64, len=4) nbytes=32 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 32 B (align=8) (100.00%)
                chunks[0]: vortex.primitive(f64?, len=8) nbytes=64 B (100.00%) [all_valid]
                  metadata: EmptyMetadata
                  buffer: values host 64 B (align=8) (100.00%)
                chunks[1]: vortex.primitive(f64?, len=9) nbytes=74 B (100.00%) [all_invalid]
                  metadata: EmptyMetadata
                  buffer: values host 72 B (align=8) (97.30%)
                  validity: vortex.constant(bool, len=9) nbytes=2 B (2.70%)
                    metadata: Scalar { dtype: Bool(NonNullable), value: Some(Bool(false)) }
                    buffer: scalar host 2 B (align=1) (100.00%)
                chunks[2]: vortex.primitive(f64?, len=9) nbytes=74 B (100.00%)
                  metadata: EmptyMetadata
                  buffer: values host 72 B (align=8) (97.30%)
                  validity: vortex.bool(bool, len=9) nbytes=2 B (2.70%) [nulls=0, min=false, max=true]
                    metadata: BoolMetadata { offset: 0 }
                    buffer: bits host 2 B (align=1) (100.00%)
            chunks[1]: vortex.struct({\u{5}=f64?, =f64?}, len=26) nbytes=416 B (100.00%)
              metadata: EmptyMetadata
              �: vortex.primitive(f64?, len=26) nbytes=208 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 208 B (align=8) (100.00%)
              : vortex.primitive(f64?, len=26) nbytes=208 B (50.00%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 208 B (align=8) (100.00%)
withroot: vortex.struct({={\u{5}=f64?, =f64?}, ={\u{5}=f64?, =f64?}}?, len=44) nbytes=2.13 kB (100.00%) [all_valid]
  metadata: EmptyMetadata
  : vortex.struct({\u{5}=f64?, =f64?}, len=44) nbytes=1.06 kB (50.00%)
    metadata: EmptyMetadata
    �: vortex.filter(f64?, len=44) nbytes=480 B (45.16%) [all_valid]
      metadata: 44 / 77 => 0.5714285714285714
      child: vortex.alp(f64?, len=77) nbytes=480 B (100.00%)
        metadata: ALPMetadata { exp_e: 16, exp_f: 9, patches: Some(PatchesMetadata { len: 41, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
        encoded: fastlanes.rle(i64?, len=77) nbytes=111 B (23.12%)
          metadata: RLEMetadata { values_len: 3, indices_len: 1024, indices_ptype: U8, values_idx_offsets_len: 1, values_idx_offsets_ptype: U8, offset: 0 }
          values: fastlanes.for(i64, len=3) nbytes=11 B (9.91%) [nulls=0, min=-3821166493053438464i64, max=-5958214435137254i64]
            metadata: Scalar { dtype: Primitive(I64, NonNullable), value: Some(Primitive(I64(-3821166493053438464))) }
            encoded: fastlanes.bitpacked(i64, len=3) nbytes=11 B (100.00%) [nulls=0, min=0i64, max=3815208278618301210i64]
              metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: Some(PatchesMetadata { len: 1, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
              buffer: packed host 0 B (align=8) (0.00%)
              patch_indices: vortex.primitive(u8, len=1) nbytes=1 B (9.09%) [nulls=0, min=1u8, max=1u8]
                metadata: EmptyMetadata
                buffer: values host 1 B (align=1) (100.00%)
              patch_values: vortex.constant(i64, len=1) nbytes=10 B (90.91%)
                metadata: Scalar { dtype: Primitive(I64, NonNullable), value: Some(Primitive(I64(3815208278618301210))) }
                buffer: scalar host 10 B (align=1) (100.00%)
          indices: fastlanes.delta(u8?, len=1024) nbytes=99 B (89.19%)
            metadata: DeltaMetadata { deltas_len: 1024, offset: 0 }
            bases: fastlanes.bitpacked(u8?, len=128) nbytes=3 B (3.03%) [nulls=0, min=0u8, max=2u8]
              metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: Some(PatchesMetadata { len: 1, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
              buffer: packed host 0 B (align=1) (0.00%)
              patch_indices: vortex.primitive(u8, len=1) nbytes=1 B (33.33%) [nulls=0, min=65u8, max=65u8]
                metadata: EmptyMetadata
                buffer: values host 1 B (align=1) (100.00%)
              patch_values: vortex.constant(u8?, len=1) nbytes=2 B (66.67%) [all_valid]
                metadata: Scalar { dtype: Primitive(U8, Nullable), value: Some(Primitive(U8(2))) }
                buffer: scalar host 2 B (align=1) (100.00%)
            deltas: vortex.sparse(u8?, len=1024) nbytes=96 B (96.97%)
              metadata: SparseMetadata { patches: PatchesMetadata { len: 44, offset: 0, indices_ptype: U16, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }, fill_value: Scalar { dtype: Primitive(U8, Nullable), value: None } }
              buffer: fill_value host 2 B (align=1) (2.08%)
              patch_indices: vortex.primitive(u16, len=44) nbytes=88 B (91.67%) [nulls=0, min=8u16, max=1008u16, strict]
                metadata: EmptyMetadata
                buffer: values host 88 B (align=2) (100.00%)
              patch_values: fastlanes.bitpacked(u8?, len=44) nbytes=6 B (6.25%) [nulls=0, min=0u8, max=0u8]
                metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: None }
                buffer: packed host 0 B (align=1) (0.00%)
                validity: vortex.bool(bool, len=44) nbytes=6 B (100.00%) [nulls=0, min=true, max=true, sum=44u64]
                  metadata: BoolMetadata { offset: 0 }
                  buffer: bits host 6 B (align=1) (100.00%)
          values_idx_offsets: vortex.primitive(u8, len=1) nbytes=1 B (0.90%) [nulls=0, min=0u8, max=0u8]
            metadata: EmptyMetadata
            buffer: values host 1 B (align=1) (100.00%)
        patch_indices: vortex.primitive(u8, len=41) nbytes=41 B (8.54%) [sorted]
          metadata: EmptyMetadata
          buffer: values host 41 B (align=1) (100.00%)
        patch_values: vortex.primitive(f64?, len=41) nbytes=328 B (68.33%) [all_valid]
          metadata: EmptyMetadata
          buffer: values host 328 B (align=8) (100.00%)
    : vortex.filter(f64?, len=44) nbytes=583 B (54.84%)
      metadata: 44 / 77 => 0.5714285714285714
      child: vortex.alp(f64?, len=77) nbytes=583 B (100.00%)
        metadata: ALPMetadata { exp_e: 16, exp_f: 9, patches: Some(PatchesMetadata { len: 54, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
        encoded: vortex.runend(i64?, len=77) nbytes=97 B (16.64%)
          metadata: RunEndMetadata { ends_ptype: U8, num_runs: 14, offset: 0 }
          ends: vortex.primitive(u8, len=14) nbytes=14 B (14.43%) [nulls=0, min=12u8, max=77u8, strict]
            metadata: EmptyMetadata
            buffer: values host 14 B (align=1) (100.00%)
          values: vortex.zigzag(i64?, len=14) nbytes=83 B (85.57%)
            metadata: EmptyMetadata
            encoded: fastlanes.bitpacked(u64?, len=14) nbytes=83 B (100.00%) [nulls=5, min=11916428840004273u64, max=7642332986106876927u64]
              metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: Some(PatchesMetadata { len: 9, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
              buffer: packed host 0 B (align=8) (0.00%)
              patch_indices: vortex.primitive(u8, len=9) nbytes=9 B (10.84%) [nulls=0, min=0u8, max=13u8, sorted]
                metadata: EmptyMetadata
                buffer: values host 9 B (align=1) (100.00%)
              patch_values: vortex.primitive(u64?, len=9) nbytes=72 B (86.75%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 72 B (align=8) (100.00%)
              validity: vortex.bool(bool, len=14) nbytes=2 B (2.41%) [nulls=0, min=false, max=true, sum=9u64]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 2 B (align=1) (100.00%)
        patch_indices: vortex.primitive(u8, len=54) nbytes=54 B (9.26%) [sorted]
          metadata: EmptyMetadata
          buffer: values host 54 B (align=1) (100.00%)
        patch_values: vortex.primitive(f64?, len=54) nbytes=432 B (74.10%) [all_valid]
          metadata: EmptyMetadata
          buffer: values host 432 B (align=8) (100.00%)
  : vortex.struct({\u{5}=f64?, =f64?}, len=44) nbytes=1.06 kB (50.00%)
    metadata: EmptyMetadata
    �: vortex.filter(f64?, len=44) nbytes=480 B (45.16%) [all_valid]
      metadata: 44 / 77 => 0.5714285714285714
      child: vortex.alp(f64?, len=77) nbytes=480 B (100.00%)
        metadata: ALPMetadata { exp_e: 16, exp_f: 9, patches: Some(PatchesMetadata { len: 41, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
        encoded: fastlanes.rle(i64?, len=77) nbytes=111 B (23.12%)
          metadata: RLEMetadata { values_len: 3, indices_len: 1024, indices_ptype: U8, values_idx_offsets_len: 1, values_idx_offsets_ptype: U8, offset: 0 }
          values: fastlanes.for(i64, len=3) nbytes=11 B (9.91%) [nulls=0, min=-3821166493053438464i64, max=-5958214435137254i64]
            metadata: Scalar { dtype: Primitive(I64, NonNullable), value: Some(Primitive(I64(-3821166493053438464))) }
            encoded: fastlanes.bitpacked(i64, len=3) nbytes=11 B (100.00%) [nulls=0, min=0i64, max=3815208278618301210i64]
              metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: Some(PatchesMetadata { len: 1, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
              buffer: packed host 0 B (align=8) (0.00%)
              patch_indices: vortex.primitive(u8, len=1) nbytes=1 B (9.09%) [nulls=0, min=1u8, max=1u8]
                metadata: EmptyMetadata
                buffer: values host 1 B (align=1) (100.00%)
              patch_values: vortex.constant(i64, len=1) nbytes=10 B (90.91%)
                metadata: Scalar { dtype: Primitive(I64, NonNullable), value: Some(Primitive(I64(3815208278618301210))) }
                buffer: scalar host 10 B (align=1) (100.00%)
          indices: fastlanes.delta(u8?, len=1024) nbytes=99 B (89.19%)
            metadata: DeltaMetadata { deltas_len: 1024, offset: 0 }
            bases: fastlanes.bitpacked(u8?, len=128) nbytes=3 B (3.03%) [nulls=0, min=0u8, max=2u8]
              metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: Some(PatchesMetadata { len: 1, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
              buffer: packed host 0 B (align=1) (0.00%)
              patch_indices: vortex.primitive(u8, len=1) nbytes=1 B (33.33%) [nulls=0, min=65u8, max=65u8]
                metadata: EmptyMetadata
                buffer: values host 1 B (align=1) (100.00%)
              patch_values: vortex.constant(u8?, len=1) nbytes=2 B (66.67%) [all_valid]
                metadata: Scalar { dtype: Primitive(U8, Nullable), value: Some(Primitive(U8(2))) }
                buffer: scalar host 2 B (align=1) (100.00%)
            deltas: vortex.sparse(u8?, len=1024) nbytes=96 B (96.97%)
              metadata: SparseMetadata { patches: PatchesMetadata { len: 44, offset: 0, indices_ptype: U16, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }, fill_value: Scalar { dtype: Primitive(U8, Nullable), value: None } }
              buffer: fill_value host 2 B (align=1) (2.08%)
              patch_indices: vortex.primitive(u16, len=44) nbytes=88 B (91.67%) [nulls=0, min=8u16, max=1008u16, strict]
                metadata: EmptyMetadata
                buffer: values host 88 B (align=2) (100.00%)
              patch_values: fastlanes.bitpacked(u8?, len=44) nbytes=6 B (6.25%) [nulls=0, min=0u8, max=0u8]
                metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: None }
                buffer: packed host 0 B (align=1) (0.00%)
                validity: vortex.bool(bool, len=44) nbytes=6 B (100.00%) [nulls=0, min=true, max=true, sum=44u64]
                  metadata: BoolMetadata { offset: 0 }
                  buffer: bits host 6 B (align=1) (100.00%)
          values_idx_offsets: vortex.primitive(u8, len=1) nbytes=1 B (0.90%) [nulls=0, min=0u8, max=0u8]
            metadata: EmptyMetadata
            buffer: values host 1 B (align=1) (100.00%)
        patch_indices: vortex.primitive(u8, len=41) nbytes=41 B (8.54%) [sorted]
          metadata: EmptyMetadata
          buffer: values host 41 B (align=1) (100.00%)
        patch_values: vortex.primitive(f64?, len=41) nbytes=328 B (68.33%) [all_valid]
          metadata: EmptyMetadata
          buffer: values host 328 B (align=8) (100.00%)
    : vortex.filter(f64?, len=44) nbytes=583 B (54.84%)
      metadata: 44 / 77 => 0.5714285714285714
      child: vortex.alp(f64?, len=77) nbytes=583 B (100.00%)
        metadata: ALPMetadata { exp_e: 16, exp_f: 9, patches: Some(PatchesMetadata { len: 54, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
        encoded: vortex.runend(i64?, len=77) nbytes=97 B (16.64%)
          metadata: RunEndMetadata { ends_ptype: U8, num_runs: 14, offset: 0 }
          ends: vortex.primitive(u8, len=14) nbytes=14 B (14.43%) [nulls=0, min=12u8, max=77u8, strict]
            metadata: EmptyMetadata
            buffer: values host 14 B (align=1) (100.00%)
          values: vortex.zigzag(i64?, len=14) nbytes=83 B (85.57%)
            metadata: EmptyMetadata
            encoded: fastlanes.bitpacked(u64?, len=14) nbytes=83 B (100.00%) [nulls=5, min=11916428840004273u64, max=7642332986106876927u64]
              metadata: BitPackedMetadata { bit_width: 0, offset: 0, patches: Some(PatchesMetadata { len: 9, offset: 0, indices_ptype: U8, chunk_offsets_len: None, chunk_offsets_ptype: None, offset_within_chunk: None }) }
              buffer: packed host 0 B (align=8) (0.00%)
              patch_indices: vortex.primitive(u8, len=9) nbytes=9 B (10.84%) [nulls=0, min=0u8, max=13u8, sorted]
                metadata: EmptyMetadata
                buffer: values host 9 B (align=1) (100.00%)
              patch_values: vortex.primitive(u64?, len=9) nbytes=72 B (86.75%) [all_valid]
                metadata: EmptyMetadata
                buffer: values host 72 B (align=8) (100.00%)
              validity: vortex.bool(bool, len=14) nbytes=2 B (2.41%) [nulls=0, min=false, max=true, sum=9u64]
                metadata: BoolMetadata { offset: 0 }
                buffer: bits host 2 B (align=1) (100.00%)
        patch_indices: vortex.primitive(u8, len=54) nbytes=54 B (9.26%) [sorted]
          metadata: EmptyMetadata
          buffer: values host 54 B (align=1) (100.00%)
        patch_values: vortex.primitive(f64?, len=54) nbytes=432 B (74.10%) [all_valid]
          metadata: EmptyMetadata
          buffer: values host 432 B (align=8) (100.00%)
Stack Trace
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/db3e99bbab28c6ca778b13222becdea54533d908/library/std/src/panicking.rs:689:5
   1: core::panicking::panic_fmt
             at /rustc/db3e99bbab28c6ca778b13222becdea54533d908/library/core/src/panicking.rs:80:14
   2: panic_display<vortex_error::VortexError>
             at /rustc/db3e99bbab28c6ca778b13222becdea54533d908/library/core/src/panicking.rs:259:5
   3: __libfuzzer_sys_run
             at ./fuzz/fuzz_targets/file_io.rs:119:9
   4: rust_fuzzer_test_input
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/src/lib.rs:363:60
   5: {closure#0}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/src/lib.rs:62:9
   6: do_call<libfuzzer_sys::test_input_wrap::{closure_env#0}, i32>
             at /rustc/db3e99bbab28c6ca778b13222becdea54533d908/library/std/src/panicking.rs:581:40
   7: __rust_try
   8: catch_unwind<i32, libfuzzer_sys::test_input_wrap::{closure_env#0}>
             at /rustc/db3e99bbab28c6ca778b13222becdea54533d908/library/std/src/panicking.rs:544:19
   9: catch_unwind<libfuzzer_sys::test_input_wrap::{closure_env#0}, i32>
             at /rustc/db3e99bbab28c6ca778b13222becdea54533d908/library/std/src/panic.rs:359:14
  10: test_input_wrap
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/src/lib.rs:60:22
  11: _ZN6fuzzer6Fuzzer15ExecuteCallbackEPKhm
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/libfuzzer/FuzzerLoop.cpp:619:13
  12: _ZN6fuzzer10RunOneTestEPNS_6FuzzerEPKcm
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/libfuzzer/FuzzerDriver.cpp:335:6
  13: _ZN6fuzzer12FuzzerDriverEPiPPPcPFiPKhmE
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/libfuzzer/FuzzerDriver.cpp:871:9
  14: main
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.12/libfuzzer/FuzzerMain.cpp:20:10
  15: <unknown>
  16: __libc_start_main
  17: _start

Summary

Reproduce

cargo +nightly fuzz run -D --sanitizer=none file_io ./fuzz/artifacts/file_io/crash-3704127de24645dd9776d53b204b7c0f42021fc9 -- -rss_limit_mb=0
Reproduction Steps
  1. Download the crash artifact: https://github.com/vortex-data/vortex/actions/runs/23376352424/artifacts/6038623199

  2. Assuming you download the zipfile to ~/Downloads, and your working directory is the repository root:

# Create the artifacts directory if you haven't already.
mkdir -p ./fuzz/artifacts

# Move the zipfile.
mv ~/Downloads/file_io-crash-artifacts.zip ./fuzz/artifacts/

# Unzip the zipfile.
unzip ./fuzz/artifacts/file_io-crash-artifacts.zip -d ./fuzz/artifacts/

# You can remove the zipfile now if you want to.
rm ./fuzz/artifacts/file_io-crash-artifacts.zip
  1. Reproduce the crash:
cargo +nightly fuzz run -D --sanitizer=none file_io ./fuzz/artifacts/file_io/crash-3704127de24645dd9776d53b204b7c0f42021fc9 -- -rss_limit_mb=0

If you want a backtrace:

RUST_BACKTRACE=1 cargo +nightly fuzz run -D --sanitizer=none file_io ./fuzz/artifacts/file_io/crash-3704127de24645dd9776d53b204b7c0f42021fc9 -- -rss_limit_mb=0
RUST_BACKTRACE=full cargo +nightly fuzz run -D --sanitizer=none file_io ./fuzz/artifacts/file_io/crash-3704127de24645dd9776d53b204b7c0f42021fc9 -- -rss_limit_mb=0
Single command to get a backtrace
mkdir -p ./fuzz/artifacts
mv ~/Downloads/file_io-crash-artifacts.zip ./fuzz/artifacts/
unzip ./fuzz/artifacts/file_io-crash-artifacts.zip -d ./fuzz/artifacts/
rm ./fuzz/artifacts/file_io-crash-artifacts.zip
RUST_BACKTRACE=1 cargo +nightly fuzz run -D --sanitizer=none file_io ./fuzz/artifacts/file_io/crash-3704127de24645dd9776d53b204b7c0f42021fc9 -- -rss_limit_mb=0

Auto-created by fuzzing workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA bug issuefuzzerIssues detected by the fuzzer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions