New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could not read frame info: ERROR_frameHeader_incomplete #4
Comments
Thanks for bringing that up. |
@Drako works locally, did you forget pushing changes? ^^ |
@LittleFox94 that would not make any sense. |
@Drako tsm says that bug is already known. Calling that sample multiple times results in that error on our machines. use Compress::LZ4Frame;
for(1..10000){
my $sample_data = pack( 'H*', '04224d186040822901000014000100ff0b01080cc120a6f701000000015e7b08a6d5ffffffff000107f6580100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc5505858585858130000001f580100ffffffffffffffff0750585858585800000000');
my $x = length(Compress::LZ4Frame::decompress($sample_data));
} |
@LittleFox94 nice to learn that it was known already, lol |
also does the error appear on the second iteration or sometime later? |
Hi, the is problem is only recently know and I should have reported it earlier. My bad, sorry. BTT... use Compress::LZ4Frame;
for(1..10000){
my $sample_data = pack( 'H*', '04224d186040822901000014000100ff0b01080cc120a6f701000000015e7b08a6d5ffffffff000107f6580100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc5505858585858130000001f580100ffffffffffffffff0750585858585800000000');
my $x = length(Compress::LZ4Frame::decompress($sample_data));
} , just ran into an out of memory on a very small machine. |
On my environment in fails even w/o any iterations, with plenty of free memory. |
Ok, new insights. If you uncompress the faulty file/content and (re)compress it by As far I can see there are a bunch of fixes in the lz4 core lib. May an upgrade of the lz4.c will do the trick. |
This is what I intended to try first anyways. |
BTW: kafka used bad implementation of LZ4Frame in first versions. But that data came from new 'fixed' version of Kafka. And cli tool lz4 (quite old actually) uncompress that data w/o any problems, so i doubt that kafka is the reason.
P.S. May be I should try to uncompress that with new version of lz4 and it will also fail? :D PPS. Checked - newest version of lz4 also decompress that w/o problems. |
I seem to have a bug in the handling of frames with no content size header. |
yep, found the issue, the loop condition was bad :D |
uncompressing a single frame with unknown size would return too early which would result in a second frame to be read, which does not exist.
okay, 0.012001 release is uploaded and should be available in a few hours. |
Thank you guys, you're awesome. Now everything work as expected 👍 |
Sample case:
Outputs:
At the same time i can decompress the same data with commandline tool alse based on lz4frame lib:
The text was updated successfully, but these errors were encountered: