# pdfjs conformance triage

Reference: PDFium libpdfium.so (sha256 f728930966f50365) (1.5 px/pt unless golden images fix the size). Pass at ≤0.20% mismatched pixels. Corpus: `/home/runner/work/safe-pdf/safe-pdf/target/conformance/corpora/pdfjs` at df863ae9c48f6c44362622125288bd3de34e933f.

1174 documents: 991 pass, 13 read_error, 5 timeout, 165 unavailable. Read only, no page compared.

## Regressions against the baseline

- issue17190: new -> timeout (timeout: time limit exceeded (stage safe-read))
- issue17190_1: new -> timeout (timeout: time limit exceeded (stage safe-read))
- issue19517: new -> timeout (timeout: time limit exceeded (stage safe-read))
- issue2618: new -> timeout (timeout: time limit exceeded (stage safe-read))
- issue8078: new -> timeout (timeout: time limit exceeded (stage safe-read))

## Failure clusters

Each cluster groups failures with the same signature, so one fix may resolve all of them. Start with the largest cluster. Each case links to its `summary.md`.

### 5 failures in 5 documents: `timeout: time limit exceeded (stage safe-read)`

- [issue17190](cases/issue17190-7d1f41e1/summary.md)
- [issue17190_1](cases/issue17190_1-3cb79dd8/summary.md)
- [issue19517](cases/issue19517-219e151d/summary.md)
- [issue2618](cases/issue2618-7b1f26de/summary.md)
- [issue8078](cases/issue8078-21e03b38/summary.md)

### 3 failures in 3 documents: `read_error: type mismatch: expected Dictionary, found Null @ pdf-object-reader::TypeMismatch`

- [Brotli-Prototype-FileA](cases/Brotli-Prototype-FileA-86551de2/summary.md)
- [issue13783](cases/issue13783-6368b6f4/summary.md)
- [issue15833](cases/issue15833-7af68839/summary.md)

### 2 failures in 2 documents: `read_error: invalid annotation entry '/[N, N, N, N, N, N]': expected an array with at least N numbers @ pdf-annotation-core::InvalidEntry`

- [issue15719](cases/issue15719-21d67727/summary.md)
- [issue20914](cases/issue20914-dc85a6bf/summary.md)

### 2 failures in 2 documents: `read_error: invalid annotation entry '…': expected a stream for each normal state @ pdf-annotation-core::InvalidEntry`

- [checkbox-bad-appearance](cases/checkbox-bad-appearance-f321186d/summary.md)
- [issue15557](cases/issue15557-7203ac83/summary.md)

### 1 failures in 1 documents: `read_error: Missing startxref marker in PDF @ pdf-parser::MissingStartXref`

- [bug1250079](cases/bug1250079-93940da7/summary.md)

### 1 failures in 1 documents: `read_error: failed to resolve N object(s); first unresolved at byte offset N @ pdf-document::UnresolvedObjects`

- [issue9418](cases/issue9418-86e7d29c/summary.md)

### 1 failures in 1 documents: `read_error: required dictionary key PdfName([N, N, N, N, N]) was not found @ pdf-object-reader::MissingDictionaryKey`

- [bug1978317](cases/bug1978317-cc19418e/summary.md)

### 1 failures in 1 documents: `read_error: required dictionary key PdfName([N, N, N, N]) was not found @ pdf-object-reader::MissingDictionaryKey`

- [issue9105_other](cases/issue9105_other-7d133650/summary.md)

### 1 failures in 1 documents: `read_error: unable to initialize document decryption: invalid encrypted data: V=N /O entry must contain N bytes @ pdf-document::DecryptionSetup`

- [protected-stamp-editor-save-print](cases/protected-stamp-editor-save-print-e941214d/summary.md)

### 1 failures in 1 documents: `read_error: unable to initialize document decryption: unsupported security handler: FlateDecode @ pdf-document::DecryptionSetup`

- [issue7303](cases/issue7303-b1599df3/summary.md)

