Skip to content

Fatal error: Unknown frame type in DiffOracle.parseFrameType during differential execution (DumplingDiffOracle)Β #552

@saqibwahab026-sys

Description

@saqibwahab026-sys

Summary

Fuzzilli crashes with a fatal error when the Dumpling differential oracle encounters an unknown frame type.

The crash happens in parseFrameType because a new/unknown frame prefix appeared in the dump that is not handled in the switch.

Crash Details

Fuzzilli/Oracle.swift:184: Fatal error: Unknown frame type
πŸ’£ Program crashed: Illegal instruction at 0x00007ad78b2e2af8

Platform: x86_64 Linux (Ubuntu 22.04.5 LTS)

Thread 5 crashed:
 0  _assertionFailure(_:_:file:line:flags:) + 264 in libswiftCore.so
 1  parseFrameType #1 (_:) in static DiffOracle.parseDiffFrame(_:_:_:_:) + 292
    at Sources/Fuzzilli/DumplingDiffOracle/Oracle.swift:184:17

   182β”‚ case "---D": .deoptTurbofan
   183β”‚ default:
   184β”‚     fatalError("Unknown frame type")
      β”‚     β–²
   185β”‚ }

... (full backtrace continues through parseFullFrames β†’ relate β†’ DiffExecution.diff β†’ executeDifferentialIfNeeded)

Backtrace key points:

  • DiffOracle.parseDiffFrame
  • DiffOracle.parseFullFrames
  • DiffOracle.relate(optIn:with:)
  • DiffExecution.diff(...)
  • Fuzzer.executeDifferentialIfNeeded β†’ Fuzzer.execute β†’ Fuzzer.importProgram

Actual Behavior

Hard fatalError β†’ immediate crash of the fuzzer process.

Commit ID

cbade79edaf1dae0c233890b7957f560008d2c63

Environment

  • Proxmox PVE Ubuntu 22.04 VM
  • 60 cores
  • 64 GB Ram
  • 150gb nvme

Command Used:

swift run -c release FuzzilliCli --profile=v8Dumpling --jobs=60 --storagePath=/home/saqib/Desktop/dump --swarmTesting --forDifferentialFuzzing /home/{$USER}/Desktop/v8/out/fuzzbuild/d8

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions