ipfs / ipfs/kubo

Error: archive/tar: write too long

Open
#4,667 15 comments 0 reactions 0 assignees View on GitHub
kind/bug
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

#### Version information:
go-ipfs version: 0.4.13-
Repo version: 6
System version: amd64/windows
Golang version: go1.9.2

#### Type: Bug

#### Description:
File: /ipfs/QmWfLgAopxBBpnPsMeQWQhcVfHHEo7natWgtcX5yzw7My3

When get this file from browser:
`http://127.0.0.1/ipfs/QmWfLgAopxBBpnPsMeQWQhcVfHHEo7natWgtcX5yzw7My3 200 Ok`

Result is valid tar archive: [test tar.tar.gz](https://github.com/ipfs/go-ipfs/files/1700847/test.tar.tar.gz) (it gziped for upload to GitHub)
Blocks of this file: [blocks.tar.gz](https://github.com/ipfs/go-ipfs/files/1700817/blocks.tar.gz)

When get from console:
```
>ipfs get QmWfLgAopxBBpnPsMeQWQhcVfHHEo7natWgtcX5yzw7My3
Saving file(s) to QmWfLgAopxBBpnPsMeQWQhcVfHHEo7natWgtcX5yzw7My3
2.28 KB / 2.28 KB [==============================================] 100.00% 0s
Error: archive/tar: write too long
```
Why "ipfs get" try to read tar?

#### Additional information:

```
>ipfs dag get QmWfLgAopxBBpnPsMeQWQhcVfHHEo7natWgtcX5yzw7My3
{"data":"CAIYgBAggAgggAQggAQ=","links":[{"Cid":{"/":"QmbTswUf339CVJsqB6rSeNum7hrnUsNqFbgkth8g3u2chX"},"Name":"","Size":1165},{"Cid":{"/":"zb2rhX9DvypVUCrp1SyoB6JpvdNEGcujJm7RZ6btt1zJBvnKq"},"Name":"","Size":512},{"Cid":{"/":"zb2rhX9DvypVUCrp1SyoB6JpvdNEGcujJm7RZ6btt1zJBvnKq"},"Name":"","Size":512}]}
```
decode of data field:
```
"data":{
"Type": 2, // It's file
"filesize": 2048, // sum of blocksizes
"blocksizes": [
1024, // file header size + file data size + file padding size
512, // padding block size
512 // padding block size
]
}
```

```
>ipfs dag get QmbTswUf339CVJsqB6rSeNum7hrnUsNqFbgkth8g3u2chX
{"data":"CAISgAR0ZXN0IHRhci50eHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDc3NwAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDAwNDQAMTMyMzY0MDYzMTAAMDExNTM3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyADAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAAMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiACCAkINwD","links":[{"Cid":{"/":"zb2rhfY128Mz2bimXoxi7aZuc5NPQMWaLPJYVSTLoYWs7rsdz"},"Name":"","Size":36},{"Cid":{"/":"zb2rhX9DvypVUCrp1SyoB6JpvdNEGcujJm7RZ6btt1zJBvnKq"},"Name":"","Size":512}]}
```
decode of data field:
```
data: {
"Type": 2, // It's file
"Data": "test tar.txt...", // 512 bytes tar file header
"filesize": 1024, // file header size + file data size + file padding size
"blocksizes": [
36, // file data size
476 // file padding size (it's hack)
]
}
```

[zb2rhfY128Mz2bimXoxi7aZuc5NPQMWaLPJYVSTLoYWs7rsdz](https://github.com/ipfs/go-ipfs/files/1701076/zb2rhfY128Mz2bimXoxi7aZuc5NPQMWaLPJYVSTLoYWs7rsdz.gz) (36) - file data raw block
```
>ipfs block get zb2rhfY128Mz2bimXoxi7aZuc5NPQMWaLPJYVSTLoYWs7rsdz
This is "test tar.txt" file content.
```

[zb2rhX9DvypVUCrp1SyoB6JpvdNEGcujJm7RZ6btt1zJBvnKq](https://github.com/ipfs/go-ipfs/files/1701078/zb2rhX9DvypVUCrp1SyoB6JpvdNEGcujJm7RZ6btt1zJBvnKq.gz) (512) - padding raw block
```
> ipfs block get zb2rhX9DvypVUCrp1SyoB6JpvdNEGcujJm7RZ6btt1zJBvnKq
```

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.