Fix intermittent XZ errors#264
Conversation
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.
|
Thanks @oscarh . I've kicked off CI, let's see what it has to say. I know the issues have been intermittent, what kind of tests did you run to make sure they have been solved? |
|
Build was killed? The "integration test" takes quite some time, since XZ is rather slow and the file is rather large. |
I did try to run the Packaging.Targets.Tests/DebTaskIntegrationTests.cs in a loop in the shell. Sometimes it failed fast, sometimes not at all. Now I've built a NuGet package of this and I'm trying that out in my CI pipeline, where it would fail quite often before. I haven't seen any failures since, but it has only run maybe 10-15 times... |
|
Actually, I seem to have gotten the error again, with this version :'( |
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