[PR #264] [CLOSED] Fix intermittent XZ errors #328

Open
opened 2026-01-29 16:32:11 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/quamotion/dotnet-packaging/pull/264
Author: @oscarh
Created: 9/4/2025
Status: Closed

Base: masterHead: bugfix/intermittent_xz_errors


📝 Commits (1)

  • b000f5e Fix intermittent XZ errors

📊 Changes

14 files changed (+478 additions, -1692 deletions)

View changed files

Packaging.Targets.Tests/DebTaskIntegrationTests.cs (+295 -0)
📝 Packaging.Targets.Tests/IO/XZOutputStreamTests.cs (+0 -8)
Packaging.Targets/IO/LzmaAction.cs (+0 -136)
Packaging.Targets/IO/LzmaCheck.cs (+0 -34)
Packaging.Targets/IO/LzmaDecodeFlags.cs (+0 -47)
Packaging.Targets/IO/LzmaMT.cs (+0 -154)
Packaging.Targets/IO/LzmaResult.cs (+0 -230)
Packaging.Targets/IO/LzmaStream.cs (+0 -121)
Packaging.Targets/IO/LzmaStreamFlags.cs (+0 -98)
Packaging.Targets/IO/NativeMethods.cs (+0 -407)
Packaging.Targets/IO/XZHelper.cs (+24 -0)
📝 Packaging.Targets/IO/XZInputStream.cs (+109 -216)
📝 Packaging.Targets/IO/XZOutputStream.cs (+48 -240)
📝 Packaging.Targets/Packaging.Targets.csproj (+2 -1)

📄 Description

Replacing the custom NativeMethods P/Invoke code with Joveler.Compression.XZ. This seem to have gotten rid of my intermittent failures with large files. The Joveler.Compression.XZ doesn't expose lzma_stream_footer_decode (and the other functions used to read the uncompressed size). Instead this code is implemented in C#. It would of course be possible to add this to Joveler.Compression.XZ...

This approach also makes this library have less code to maintain.

Fixes #99


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/quamotion/dotnet-packaging/pull/264 **Author:** [@oscarh](https://github.com/oscarh) **Created:** 9/4/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `bugfix/intermittent_xz_errors` --- ### 📝 Commits (1) - [`b000f5e`](https://github.com/quamotion/dotnet-packaging/commit/b000f5ebf3e068536e163c827e7f144536b88976) Fix intermittent XZ errors ### 📊 Changes **14 files changed** (+478 additions, -1692 deletions) <details> <summary>View changed files</summary> ➕ `Packaging.Targets.Tests/DebTaskIntegrationTests.cs` (+295 -0) 📝 `Packaging.Targets.Tests/IO/XZOutputStreamTests.cs` (+0 -8) ➖ `Packaging.Targets/IO/LzmaAction.cs` (+0 -136) ➖ `Packaging.Targets/IO/LzmaCheck.cs` (+0 -34) ➖ `Packaging.Targets/IO/LzmaDecodeFlags.cs` (+0 -47) ➖ `Packaging.Targets/IO/LzmaMT.cs` (+0 -154) ➖ `Packaging.Targets/IO/LzmaResult.cs` (+0 -230) ➖ `Packaging.Targets/IO/LzmaStream.cs` (+0 -121) ➖ `Packaging.Targets/IO/LzmaStreamFlags.cs` (+0 -98) ➖ `Packaging.Targets/IO/NativeMethods.cs` (+0 -407) ➕ `Packaging.Targets/IO/XZHelper.cs` (+24 -0) 📝 `Packaging.Targets/IO/XZInputStream.cs` (+109 -216) 📝 `Packaging.Targets/IO/XZOutputStream.cs` (+48 -240) 📝 `Packaging.Targets/Packaging.Targets.csproj` (+2 -1) </details> ### 📄 Description Replacing the custom NativeMethods P/Invoke code with Joveler.Compression.XZ. This seem to have gotten rid of my intermittent failures with large files. The Joveler.Compression.XZ doesn't expose lzma_stream_footer_decode (and the other functions used to read the uncompressed size). Instead this code is implemented in C#. It would of course be possible to add this to Joveler.Compression.XZ... This approach also makes this library have less code to maintain. Fixes #99 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 16:32:11 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/dotnet-packaging#328