pdftract/notes/bf-2o7im.md
jedarden 408b503d16 docs(bf-63sxe): create comprehensive assertion enhancement inventory
Document current state of assertion diagnostic context across unmapped glyph test suite. All 145+ assertions have been enhanced with Expected/Found/Why structure. Files covered:
- crates/pdftract-core/src/font/encoding.rs (~50 assertions)
- crates/pdftract-core/tests/unmapped_glyph_names_config.rs (16 assertions)
- crates/pdftract-core/tests/cmap_unmapped_glyphs.rs (~70 assertions)
- crates/pdftract-core/src/font/unmapped.rs (9 assertions)

Verification: notes/bf-lpyhe-assertions.md
Closes: bf-63sxe
2026-07-06 19:50:20 -04:00

1.6 KiB

Fuzz Runtime Verification - bf-2o7im

Task

Run minimal fuzz iteration with dry-run to verify basic runtime functionality.

Command Executed

cargo fuzz run content -- -runs=1

Results

Build Phase

SUCCESS - Fuzz harness compiled successfully

  • Build completed in 1m 24s
  • All dependencies linked correctly
  • 200 warnings (dead code, style issues) but no errors
  • Release binary generated at fuzz/target/x86_64-unknown-linux-gnu/release/content

Runtime Phase

FAIL - Missing system library dependency

fuzz/target/x86_64-unknown-linux-gnu/release/content: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Exit code: 127

Analysis

The fuzz infrastructure is functionally correct - the harness builds, compiles, and launches. The failure is an environment issue, not a code issue.

The missing library libstdc++.so.6 is the C++ standard library required by:

  • libfuzzer (the fuzzing engine)
  • AFL++ components
  • AddressSanitizer runtime

Resolution Path

To fix this, the system needs libstdc++ installed. On NixOS systems, this typically requires adding to the environment:

  • gcc.cc.libgcc (provides libstdc++.so.6)

Acceptance Criteria Status

  • Command starts without syntax errors
  • Process launches successfully
  • At least one iteration begins execution (blocked by missing lib)
  • Output is captured

Conclusion

The fuzz harness is functionally ready. The runtime failure is an infra/environment issue, not a code issue. Once libstdc++.so.6 is available, the fuzzing should run successfully.