Exit code: 1 (failure) Error: Failed to extract PDF No JSON output produced SHA256 mismatch on fingerprint-match.pdf This bead documents the failure and should NOT be closed until the root cause is identified and fixed.
87 lines
3.2 KiB
Markdown
87 lines
3.2 KiB
Markdown
# bf-3bnao-step4: Verify pdftract completed successfully
|
|
|
|
**Date:** 2026-07-06
|
|
**State:** FAIL
|
|
|
|
## Verification Results
|
|
|
|
### Exit Code Check
|
|
- **Expected:** 0 (success)
|
|
- **Actual:** 1 (failure)
|
|
- **Status:** ❌ FAIL
|
|
|
|
### Output Format Check
|
|
- **Expected:** Valid JSON or expected pdftract output format
|
|
- **Actual:** No JSON output (extraction failed before producing output)
|
|
- **Status:** ❌ FAIL
|
|
|
|
### Error Messages Check
|
|
- **Expected:** No error messages in stderr
|
|
- **Actual:** Error message present: "Failed to extract PDF"
|
|
- **Status:** ❌ FAIL
|
|
|
|
## Additional Test Results
|
|
|
|
### Test Run 2 (Direct verification)
|
|
```
|
|
Command: cargo run -- extract tests/fixtures/encoding/fingerprint-match.pdf --json -
|
|
Exit Code: 1
|
|
Error: Failed to extract PDF
|
|
```
|
|
**Status:** ❌ FAILED - Same error reproduced
|
|
|
|
### File Integrity Check
|
|
- **Expected SHA256:** bd9a3533c0f31fb20bf5532fcff4cb2ae399f8d2e22ea1d09538837410544c4a
|
|
- **Actual SHA256:** 2eaeba307f622ca6b6d6174bd1bdd9a1310268c7d4f101d3e2a222ba8b719689
|
|
- **Status:** ❌ MISMATCH - File has been modified or corrupted
|
|
|
|
### File Header Inspection
|
|
```
|
|
%PDF-1.4
|
|
1 0 obj
|
|
<<
|
|
/Type /Catalog
|
|
/Pages 2 0 R
|
|
```
|
|
**Status:** ✅ PDF header appears valid
|
|
|
|
## Command Output Summary
|
|
|
|
From step3 (bf-32by8-step3.md):
|
|
```
|
|
Command: unset RUST_LOG; cargo run -- extract tests/fixtures/encoding/fingerprint-match.pdf --json -
|
|
Exit Code: 1
|
|
Error: Failed to extract PDF
|
|
```
|
|
|
|
## Acceptance Criteria Status
|
|
|
|
- ❌ Exit code from the command is 0 (success) - **FAIL** (exit code was 1)
|
|
- ❌ Output contains valid JSON or expected pdftract output format - **FAIL** (no output produced)
|
|
- ❌ No error messages in stderr - **FAIL** (error: "Failed to extract PDF")
|
|
- ✅ Document verification results in notes/bf-3bnao-step4.md - **PASS** (this file)
|
|
|
|
## Conclusion
|
|
|
|
The pdftract command did **not** complete successfully. The PDF extraction failed with exit code 1 and error message "Failed to extract PDF". The failure has been reproduced across multiple test runs.
|
|
|
|
### Key Findings
|
|
|
|
1. **File Integrity Issue:** The SHA256 hash of `encoding/fingerprint-match.pdf` does not match the expected value in `tests/fixtures/PROVENANCE.md`
|
|
- Expected: `bd9a3533c0f31fb20bf5532fcff4cb2ae399f8d2e22ea1d09538837410544c4a`
|
|
- Actual: `2eaeba307f622ca6b6d6174bd1bdd9a1310268c7d4f101d3e2a222ba8b719689`
|
|
|
|
2. **PDF Structure:** Despite the hash mismatch, the file header appears valid (`%PDF-1.4`), suggesting the file is not completely corrupted but has been modified
|
|
|
|
3. **Reproducible Failure:** The extraction failure is consistent across multiple attempts, ruling out transient issues
|
|
|
|
### Root Cause Analysis
|
|
|
|
The most likely cause is that the PDF file `tests/fixtures/encoding/fingerprint-match.pdf` has been modified or corrupted. The SHA256 mismatch indicates the current file on disk differs from the version recorded in PROVENANCE.md. This could explain why pdftract fails to extract it.
|
|
|
|
**This bead should NOT be closed** until:
|
|
1. The correct `fingerprint-match.pdf` file is restored or
|
|
2. The root cause of the extraction failure is identified and fixed or
|
|
3. The pdftract code is updated to handle this file variant
|
|
|
|
The verification results are documented but the acceptance criteria are not met.
|