Skip to content

Fix issue with decoding truncated files that were compressed with Rust in 0.5.5#179

Merged
mcroomp merged 10 commits into
mainfrom
regressionold
Jan 27, 2026
Merged

Fix issue with decoding truncated files that were compressed with Rust in 0.5.5#179
mcroomp merged 10 commits into
mainfrom
regressionold

Conversation

@mcroomp

@mcroomp mcroomp commented Jan 23, 2026

Copy link
Copy Markdown
Collaborator

Due to the regression in decoding in 0.5.5 (fixed 0.5.6 and later) it is possible in some rare cases that the compression succeeded despite creating a invalid LEP file, ie one that cannot be decompressed correctly by any other version of client (although it can be decompressed by 0.5.5 version). This is because of the roundtrip verification, which would have succeeded with the 0.5.5 code, but not with any other version.

Added special handling for files produced by these versions so that they are decompressed correctly.

Also updated version to 5.8 and made individual config files refer to the workspace version so we don't need to update all the toml files every time we bump the version.

@github-actions

github-actions Bot commented Jan 23, 2026

Copy link
Copy Markdown

Test Results

190 tests  +7   190 ✅ +7   25m 43s ⏱️ +13s
  4 suites ±0     0 💤 ±0 
  2 files   ±0     0 ❌ ±0 

Results for commit cd572a1. ± Comparison against base commit f2501a8.

This pull request removes 22 and adds 29 tests. Note that renamed tests count towards both.
lepton_jpeg_root::end_to_end ‑ verify_decode::file_13___iphone__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_14___iphonecity__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_15___iphonecity_with_16KGarbage__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_16___iphonecity_with_1MGarbage__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_17___iphonecrop__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_18___iphonecrop2__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_19___iphoneprogressive__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_20___iphoneprogressive2__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_21___progressive_late_dht__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_22___out_of_order_dqt__
…
lepton_jpeg ‑ structs::lepton_file_reader::tests::test_truncated_with_bad_truncation_version
lepton_jpeg ‑ structs::lepton_file_reader::tests::test_truncated_with_ok_truncation_version
lepton_jpeg_root::end_to_end ‑ verify_decode::file_13___half_scan__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_14___half_scan_rust55__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_15___iphone__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_16___iphonecity__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_17___iphonecity_with_16KGarbage__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_18___iphonecity_with_1MGarbage__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_19___iphonecrop__
lepton_jpeg_root::end_to_end ‑ verify_decode::file_20___iphonecrop2__
…

♻️ This comment has been updated with latest results.

@mcroomp mcroomp changed the title Fix issue with decoding truncated files that were compressed with Rust between 0.5.4 and 0.5.5 Fix issue with decoding truncated files that were compressed with Rust between 0.5.3 and 0.5.5 Jan 23, 2026
@mcroomp mcroomp changed the title Fix issue with decoding truncated files that were compressed with Rust between 0.5.3 and 0.5.5 Fix issue with decoding truncated files that were compressed with Rust in 0.5.5 Jan 26, 2026
@gbrovman gbrovman self-requested a review January 26, 2026 21:49
@mcroomp mcroomp merged commit 90fdc27 into main Jan 27, 2026
7 checks passed
@mcroomp mcroomp deleted the regressionold branch January 27, 2026 04:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants