facebook / facebook/zstd

Educational decoder unable to decode real world .zst files?

Open
#2,573 2 comments 2 reactions 0 assignees View on GitHub
bug
Dominant language
C
Stars
27.9k
Forks
2.6k
Avg merge
1d 3h
Merged PRs (30d)
8

Description

**Describe the bug**
Hello, I'm new to Zstandard. I found the educational decoder can't decode real world .zst files. I'm not sure if educational decoder is expected to decode real world `.zst` files. If I'm wrong, please point out. Thank you!

**To Reproduce**
1. Downloads [linux-5.11.12.tar.xz](https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.12.tar.xz) and `xz -d linux-5.11.12.tar.xz`
2. `zstd linux-5.11.12.tar`
3. Compile educational decoder: `gcc -O2 -o harness harness.c zstd_decompress.c`
4. Decode using educational decoder: `./harness linux-5.11.12.tar.zst tmp`

**Expected behavior**
Output of the educational decoder (`tmp`) is same as input (`linux-5.11.12.tar`)

**Screenshots and charts**
```
$ ../../zstd linux-5.11.12.tar
linux-5.11.12.tar : 16.72% (1064488960 => 178014949 bytes, linux-5.11.12.tar.zst)
$ gcc -O2 -o harness harness.c zstd_decompress.c
$ ./harness linux-5.11.12.tar.zst tmp
Error: Corruption detected while decompressing
$
```

**Desktop (please complete the following information):**
- OS: Ubuntu 20.04
- Compiler: gcc
- Flags: default
- Build system: Makefile

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.