Ipfs: Ipfs 0.4.10 lumpuh saat menambahkan file yang lebih besar dari 50MB

Dibuat pada 13 Jul 2017  ·  9Komentar  ·  Sumber: ipfs/ipfs

OS: Arch Linux & MacOS

~ % ipfs version
ipfs version 0.4.10
~ % ipfs init
initializing IPFS node at /Users/user/.ipfs
generating 2048-bit RSA keypair...done
peer identity: Qme3fGyQWP4mf3J9Ln3EjofWyYhiGgVCZZ41jgVA9o78u7
to get started, enter:

    ipfs cat /ipfs/QmVLDAhCY3X9P2uRudKAryuQFPM5zqA3Yij1dY8FpGbL7T/readme

~ % ipfs daemon
Initializing daemon...
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.0.102/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready

Mari kita coba menambahkan video:

ipfs add raw_video.mkv
added Qmf6vier2j9rtG7hjA8Bf8ohzT5VYNmGfRntSc4zXsQyPL raw_video.mkv

Sekitar 15-20 detik kemudian, ipfs akan macet:
https://Gist.github.com/Netherdrake/4da51b24da82fe25ae476cffeb09cc31

Masalah ini terputus-putus - terkadang penambahan akan berhasil, dan saya dapat mengakses file di localhost:8080/ipfs/HASH/raw_video.mkv tanpa masalah, tetapi sebagian besar waktu, daemon akan macet.

Komentar yang paling membantu

oke, jadi ini adalah kasus penambahan file yang menyebabkan subsistem penyedia DHT terhubung ke terlalu banyak rekan. Jika Anda menghapus flag --routing=none , dan menggunakan ipfs add --local semuanya juga akan berfungsi dengan baik.

Saya sedang mengerjakan perbaikan untuk ini, semoga kami memiliki sesuatu di rilis berikutnya.

Semua 9 komentar

Anda dapat mengarahkan ulang dengan ipfs daemon 2>stderr.log

Saya juga tidak dapat mereproduksinya, saya telah mencoba sekitar 10x60MiB file.

Ternyata, ipfs akan macet saat menambahkan file besar apa pun .

Misalnya, ISO Ubuntu Resmi.

Di MacOS crash:

ipfs add ubuntu-16.04.2-desktop-amd64.iso
 488.00 MB / 1.45 GB [=============================>------------------------------------------------------------]  32.92% 20s17:54:27.509 ERROR commands/h: unexpected EOF client.go:247
Error: unexpected EOF

Di Linux error, tetapi proses daemon tampaknya terus berjalan:

~/Downloads % ipfs add ubuntu-16.04.2-desktop-amd64.iso 
 32.00 MB / 1.45 GB [=>----------------------------------------------------------------------------]   2.16% 30s17:53:01.534 ERROR commands/h: open /home/user/.ipfs/blocks/SF/put-579906520: too many open files client.go:247
Error: open /home/user/.ipfs/blocks/SF/put-579906520: too many open files
% ipfs daemon
Initializing daemon...
Adjusting current ulimit to 2048...
Successfully raised file descriptor limit to 2048.
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/172.17.0.1/tcp/4001
Swarm listening on /ip4/172.18.0.1/tcp/4001
Swarm listening on /ip4/172.19.0.1/tcp/4001
Swarm listening on /ip4/172.20.0.1/tcp/4001
Swarm listening on /ip4/172.21.0.1/tcp/4001
Swarm listening on /ip4/172.22.0.1/tcp/4001
Swarm listening on /ip4/172.23.0.1/tcp/4001
Swarm listening on /ip4/172.24.0.1/tcp/4001
Swarm listening on /ip4/192.168.1.107/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
17:53:01.534 ERROR commands/h: err: open /home/user/.ipfs/blocks/SF/put-579906520: too many open files handler.go:285

Saya telah mencoba menurunkan versi ke versi sebelumnya, dan satu-satunya versi yang tidak crash adalah 0.4.6 :

~/Downloads % ipfs add ubuntu-16.04.2-desktop-amd64.iso 
added QmTc9mzzoEChP2Wyc4uGWGkkifC99y8o4KmxwVyg18MP76 ubuntu-16.04.2-desktop-amd64.iso
~/Downloads % ipfs version
ipfs version 0.4.6
~/Downloads % pacman -Q go-ipfs
go-ipfs 0.4.6-1

Saya tidak dapat mereproduksi ini baik di macOS 10.12.5 dan Ubuntu 16.04 menggunakan ipfs 0.4.10.

$ truncate -s 500M testfile
added QmV7q5aTmvZtGWja4wpodiUTEpBVWYFkQGRQ8PmJMDPG62 testfile
$

Apakah build ipfs Anda dari sumber, manajer paket Anda, atau biner dari web? Mungkin mencobanya dengan direktori ~/.ipfs untuk melihat apakah masalah tetap ada.

Mereka semua dari manajer paket. Setiap output dalam pesan di atas dimulai dengan rm -rf ~/.ipfs && ipfs init .

@Netherdrake jika Anda menjalankan daemon Anda dengan opsi --routing=none , apakah masih gagal dengan cara yang sama?

Dengan --routing=none itu berfungsi dengan baik.

oke, jadi ini adalah kasus penambahan file yang menyebabkan subsistem penyedia DHT terhubung ke terlalu banyak rekan. Jika Anda menghapus flag --routing=none , dan menggunakan ipfs add --local semuanya juga akan berfungsi dengan baik.

Saya sedang mengerjakan perbaikan untuk ini, semoga kami memiliki sesuatu di rilis berikutnya.

Oh, saya juga menyadari masalah ini pada repo yang salah. Di masa mendatang, gunakan ipfs/go-ipfs untuk melaporkan masalah seperti ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat