bzip2 file consists of blocks, which allows decompression from arbitrary block.
We are successfully using this feature in our software with original bzip2 v.1.0.8 library.
But we are getting errors with IPP-patched version.
In the attachment you will find CMake project with 3 apps and test archives which demonstrate these problems.
It will build the apps twice: with IPP and without IPP.
*.info files show the start offset and size of bzip2 blocks.
problem1_ipp: For sizes > 2GB, BZ2_bzCompress with IPP fails - it returns BZ_DATA_ERROR.
problem1_noipp: succeeds.
problem2_ipp: If we try to decompress several consecutive BZip2 blocks (but not entire file) the calls to BZ2 functions succeed but return less data than should.
problem2_noipp: succeeds.
problem3_ipp: Demonstrates the same problem as in problem2 but combines decompressed parts so that it becomes more obvious that some bytes are missing.
problem3_noipp: Combined decompressed file (ut_test_data_created_with_ipp.csv.bz2_combined_split_on_offset_39541_without_ipp) is identical to the original uncompressed file (ut_test_data.csv).
Steps to reproduce:
# Modify the following paths in `bzip2_ipp_example/CMakeLists.txt`:
IPPROOT
BZIP2_ROOT_WITH_IPP
BZIP2_ROOT_WITHOUT_IPP
cd bzip2_ipp_example
# Clean
rm -rf build
# Configure
cmake -B build .
# Build
cmake --build build -j
# Run
build/problem1_noipp/problem1_noipp
build/problem1_ipp/problem1_ipp
build/problem2_noipp/problem2_noipp
build/problem2_ipp/problem2_ipp
build/problem3_noipp/problem3_noipp
build/problem3_ipp/problem3_ipp
链接已复制
2020.3.304
I also downloaded 2021.1.1.47 but bzip2 patch in it is the same as in 2020.3.304.
Hi,
Have you been able to find the root cause of these problems?
Is there a date/version when the fix is planned?
Thank you for response.
Hi,
Thanks for the confirmation.
As the issue is resolved we are closing this thread from our end.
If you need any additional information from Intel, please post a new question as this thread will no longer be monitored.
Have a Good Day!
Regards,
Vidya.
