Ipfs: Ipfs 0.4.10 plante lors de l'ajout de fichiers de plus de 50 Mo

Créé le 13 juil. 2017  ·  9Commentaires  ·  Source: ipfs/ipfs

OS : Arch Linux et 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

Essayons d'ajouter une vidéo :

ipfs add raw_video.mkv
added Qmf6vier2j9rtG7hjA8Bf8ohzT5VYNmGfRntSc4zXsQyPL raw_video.mkv

Environ 15 à 20 secondes plus tard, ipfs plantera :
https://gist.github.com/Netherdrake/4da51b24da82fe25ae476cffeb09cc31

Ce problème est intermittent - parfois, l'ajout réussit et je peux accéder aux fichiers sur localhost:8080/ipfs/HASH/raw_video.mkv sans problème, mais la plupart du temps, le démon plante.

Commentaire le plus utile

d'accord, il s'agit donc d'ajouter un fichier provoquant la connexion du sous-système du fournisseur DHTs à un trop grand nombre de pairs. Si vous supprimez le drapeau --routing=none et utilisez ipfs add --local choses devraient également fonctionner correctement.

Je travaille sur un correctif pour cela, nous espérons avoir quelque chose dans la prochaine version.

Tous les 9 commentaires

Vous pouvez rediriger par ipfs daemon 2>stderr.log

Je ne parviens pas non plus à le reproduire, j'ai essayé des fichiers environ 10x60Mo.

Il s'avère que ipfs plantera lors de l'ajout d' un fichier volumineux.

Par exemple, l'ISO officiel d'Ubuntu.

Sur MacOS, ça plante :

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

Sous Linux, des erreurs se produisent, mais le processus démon semble continuer à s'exécuter :

~/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

J'ai essayé de revenir aux versions précédentes, et la seule version qui ne plante pas est 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

Je ne parviens pas à reproduire cela sur macOS 10.12.5 et Ubuntu 16.04 en utilisant ipfs 0.4.10.

$ truncate -s 500M testfile
added QmV7q5aTmvZtGWja4wpodiUTEpBVWYFkQGRQ8PmJMDPG62 testfile
$

Votre version d'ipfs était-elle à partir des sources, de votre gestionnaire de packages ou du binaire du Web ? Essayez peut-être avec un répertoire ~/.ipfs propre pour voir si le problème persiste.

Ils proviennent tous des gestionnaires de paquets. Chaque sortie dans les messages ci-dessus a commencé par rm -rf ~/.ipfs && ipfs init .

@Netherdrake si vous exécutez votre démon avec l'option --routing=none , échoue-t-il toujours de la même manière ?

Avec --routing=none ça marche bien.

d'accord, il s'agit donc d'ajouter un fichier provoquant la connexion du sous-système du fournisseur DHTs à un trop grand nombre de pairs. Si vous supprimez le drapeau --routing=none et utilisez ipfs add --local choses devraient également fonctionner correctement.

Je travaille sur un correctif pour cela, nous espérons avoir quelque chose dans la prochaine version.

Oh, je me rends compte aussi que ce problème est sur le mauvais repo. À l'avenir, utilisez ipfs/go-ipfs pour signaler des problèmes comme celui-ci.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

RichardLitt picture RichardLitt  ·  31Commentaires

haarts picture haarts  ·  4Commentaires

myqq0000 picture myqq0000  ·  5Commentaires

jbenet picture jbenet  ·  34Commentaires

crazysoldier picture crazysoldier  ·  7Commentaires