zlib.error: Error -3 while decompressing data: too many length or distance symbols

Question:

Encountering this error for decompressing chunks of a file.

I already decompressed successfully about 5 chunks of data.
But there is just one range of data that doens’t get decompressed.
The header should be right.

Header 78 9C

This is only a chunk of the whole file. The file itself consists of multiple compressed chunks.

78 9C D4 1E B8 5B 98 25 4F E6 3D 40 84 1A 0D A2 B8 DF 5D 7E 70 76 16 BD 30 50 41 C6 BC 51 CA A7 7B 38 86 EB 0C D4 D0 33 00 B4 7C 8C 64 A5 FD EE 47 CE F6 BA CC E2 98 6E CA F8 5A CE A9 E0 0D 20 87 1E 5C FA A9 32 2B EB EB E9 AB 2E CB C4 7D 39 F6 5E 23 E4 98 A4 9A FA 5B B9 A6 EB D7 04 DB 32 C7 C4 09 85 5F 12 24 18 6D A9 13 6B D0 4F 07 AE 9D EA F3 BA 44 3C 7B D2 2A DF FA B4 3B C6 A6 A1 D0 AD CE B3 23 13 E4 4C F3 42 12 E3 71 86 AF A9 7A C0 CF 52 70 41 D3 06 A7 32 FA DC 48 BF 3F 9C 43 C2 85 1F 4F 20 E1 38 A4 D0 3A DE CE 41 A4 E5 27 AD BA 3D F5 D3 E3 20 A8 C3 EF E9 E3 60 75 BF 27 79 36 8A 81 D2 9C 96 B4 C7 93 21 C1 AC DA 8D 19 C7 02 66 AC BF 86 C3 DC 9A 8F A9 15 4C 34 70 96 F8 79 4B 4E 6B 6D AE 7D D8 D5 71 D4 00 96 FA FB E1 1E F0 D2 97 52 EC 41 CD 65 C0 29 F4 92 29 3D BA AB 19 29 E6 FF 1E FE 4E 3C 97 1E BA B3 8E FD C3 4A 7F FF 88 93 83 EA 5A 2F 21 BE C6 44 B5 66 4D 39 B8 1E DE 18 53 26 FD 7E 54 E4 C1 8A 20 C4 FC 0D 34 CA E4 86 50 C0 A8 EE 23 A6 48 66 04 8D FF 21 73 60 C8 DC BE E4 90 91 B2 CD 8A D7 77 FC 75 55 BA D2 EA 57 1E DF 47 29 DD 04 C3 09 3D 2F 13 08 12 DA 92 2E 4A 15 C6 9B 52 E6 4F 87 06 A3 6C D1 C2 95 F5 D3 8B B3 A1 AA 27 14 A6 D4 30 47 6B 80 0A C8 9A 61 93 81 83 47 76 2D 2E 53 56 50 0E 93 71 FF 56 12 95 1A 45 19 05 7D 74 3B CF 59 16 AC CB AD 43 18 1B 45 19 51 05 B5 69 8E F2 98 5D 69 AE B1 BC EA A7 D7 6A D0 FA 73 54 80 96 16 B9 E5 06 B7 3A 8E A8 F1 7F BE 62 B9 9E 51 FF 08 09 95 90 B7 0B 33 1A ED 90 8E A0 ED FD 6D 7F 28 A7 8C 93 96 F6 7C 14 C9 8E 18 F4 D0 70 B9 EE 70 8D 00 1C DB 92 4B CA 19 87 84 20 70 7C 3B 2F 86 91 5B F5 C8 35 7E A0 65 03 30 B1 7D C3 62 61 0C 03 10 91 E5 E3 0A 52 6B C2 E9 5E 84 A5 1E 29 E5 97 4B B8 DE 6F 13 CA 74 81 C0 8A 18 74 1D 05 35 78 FC F8 7D C0 FB 3C 70 4D 00 C1 E3 48 66 23 27 FC EF AF E5 63 BF A0 C5 5B 48 18 A6 9B E2 B2 64 50 32 14 A4 DD EE 72 3A D4 89 13 20 4E 9B 24 94 D6 D2 91 33 7E 2D 1E BB C9 3D A1 62 DB B5 CA 3D 59 05 84 DA 7B 38 1E EE 78 7C CA A8 BA 8A 79 CE 44 B9 5E F2 7A 3D 9C 51 0D 0A 9C 69 9F 5E 9D 54 75 BC A5 B4 FE 72 5A FE 5C 70 2C F1 75 B2 59 73 5F F1 F1 40 05 21 7D DF CD 04 10 C8 9E B4 E9 3B CA C7 07 6A 90 E5 E1 73 12 2A B9 F6 50 19 35 21 35 CC EF AE 97 72 FA C4 A9 42 7A 3C CB 3A D6 09 10 23 5F 1F FB 70 4F FB 09 47 B7 D7 C5 18 C6 0C 82 46 7F DB 41 B7 C1 39 E8 65 B4 65 02 A8 D8 F1 A2 D0 0B EB 15 9F 03 84 22 DF 7F B9 8C 0D 03 7A E1 ED 52 40 9E 5F 71 8E 6E 8D 8D 3F 3E 47 7D 83 DA C3 BA 5D 9E A4 82 82 E5 AA BD 4F 30 39 4E D2 10 43 FE B6 9C A6 47 DA 04 91 D2 CE D4 7C 4C 87 7F C9 57 C5 25 34 89 6B 3A 40 58 3F 51 3F 7D 5D 00 6A FB 84 2A 49 18 31 06 33 DC 65 72 4B 4D B6 4F 8F 46 D8 91 E2 7E FF 35 A7 EA 63 10 90 23 65 E7 83 80 D0 74 ED 26 6D F4 03 E1 35 38 1D BC E2 97 5A 0F 69 76 60 36 4E 6F F5 36 C6 32 45 11 6B 1A BD 45 B6 4D 75 E4 40 63 84 FF 50 99 0D 10 EB 49 A4 18 CA 60 CF 33 9A F7 CF 03 E3 E0 C1 58 1F 1B 67 99 67 BE 75 05 A7 A3 0A 62 D0 4B 56 72 77 C2 3D 6E F4 36 20 C9 51 C9 30 E8 0A 15 EA D1 C4 96 46 F7 01 09 0A DA 48 69 7F 2A A1 4E 98 DC E5 3C 14 CF 34 52 A6 4D 0F BB 49 FE 98 6F 59 AE F4 C8 59 0F 43 40 5A F0 3E 69 DA 1F 4B 2D C0 C6 4B 42 03 9A 07 98 31 F1 41 8D 97 E4 F2 47 2A F5 BA AE CC 18 CC 1C 26 8E 59 33 30 66 9B F9 B8 1C A3 6A 1D 37 7E 08 64 63 8A 4B 6D E0 B0 D4 6E 1F 85 DF 57 23 1C FD 7B FB 57 BA AC FD 1C D7 38 36 32 97 DA A1 60 1E 96 E6 2C 92 05 21 09 17 74 FF C7 2D 6D 1F 3B 51 96 BF B2 31 3D 46 B2 6D D6 C1 40 CC B2 11 B4 58 13 82 60 2D 3D 25 3F 31 12 66 FF F6 DF A8 C9 DB 47 33 94 7C 7D E8 FF 01 C7 2D 05 76

My IDLE history:

file.seek(0) 
data = file.read()

decomp = zlib.decompress(data)


Traceback (most recent call last):
  File "<pyshell#123>", line 1, in <module>
    t1 = zlib.decompress(data)
zlib.error: Error -3 while decompressing data: too many length or distance symbols



The outcome should look like this:

0:100:76:mot/pc/sk_c001_lt/lsdpack.bin 

I searched already for this and found out that there is a newer version of zlib that maybe should fix that. (Now 1.12.12) (New 1.12.13)

Any clues?

Asked By: Aedn

||

Answers:

That is a valid zlib header, but the deflate data that follows has an error in the first two bytes. Your data was corrupted somehow.

Answered By: Mark Adler