facebook / facebook/zstd

cannot write block : Broken pipe, when cutting pipe in windows

Đang mở
#4,563 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C
Star
27.9k
Fork
2.6k
Merge trung bình
1 ngày 3 giờ
Pull request đã merge (30 ngày)
8

Mô tả

**Describe the bug**
In windows (here: 7, x64) decompressing to stdout and piping it to head or dd ends with an error if they don't consume all input.

**To Reproduce**
Tested on [ep_meps.json.zst](https://parltrack.org/dumps/ep_meps.json.zst) from [parltrack dumps](https://parltrack.org/dumps/ep_meps.json.zst).

```
$ zstd -V
*** Zstandard CLI (64-bit) v1.5.7, by Yann Collet ***

$ zstd -dc ep_meps.json.zst > ep_meps.json

$ zstd -dc ep_meps.json.zst | head -c 1000 > ep_meps.json.1k
zstd: error 70 : Write error : cannot write block : Broken pipe

$ zstd -dc ep_meps.json.zst | head -c 1000000 > ep_meps.json.1M
zstd: error 70 : Write error : cannot write block : Invalid argument

$ zstd -dc ep_meps.json.zst | head -c 10000000 > ep_meps.json.10M
zstd: error 70 : Write error : cannot write block : Broken pipe

$ zstd -dc ep_meps.json.zst | head -c 100000000 > ep_meps.json.100M
zstd: error 70 : Write error : cannot write block : Broken pipe
```

Which in my opinion is not an error.

Others don't do that:

```
$ gzip -dc ep_meps.json.gz | head -c 1000000 > nul

$ bzip2 -dc ep_meps.json.bz2 | head -c 1000000 > nul

$ unzip -p ep_meps.json.zip | head -c 1000000 > nul
```

Although some do:

```
$ pigz -dc ep_meps.json.gz | head -c 1000000 > nul
error on (Invalid argument)

$ 7z x -so ep_meps.json.gz | head -c 1000000 > nul
ERROR: The pipe is being closed.

$ lzip -dc ep_meps.json.lz | head -c 1000000 > nul
lzip: Write error: Broken pipe
```

Which is weird.

I cannot compare it wit \*nix, as I can't jump switch to linux just like that, nor just for that, but I don't remember ever having such issue there.

**Expected behavior**
I don't consider it error. If something than maybe warning, but not an error as it suggests that something wrong happened when it's not the case.

**Desktop (please complete the following information):**
- OS: Windows 7, x64
- Compiler: ? (release downloaded from github or sourceforge)
- Flags: default

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.