Ratio mal initialisé si seulement seed

Bug #364730 reported by Bardok
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qBittorrent
Fix Released
Medium
Christophe Dumez

Bug Description

Bonjour,

je rencontre un léger souci sur qb en version 1.4.0 beta2, le ratio me semble mal initialisé dans le cas où je ne veux faire que du seed.
J'explique : j'ai eu un léger problème et j'ai perdu les torrents, je les ai donc rajouter dans qb et il a fait un check dessus voyant qu'ils étaient déjà présent et terminés, il les a mis dans l'onglet 'Terminé' mais les a aussitôt supprimés.
J'ai trouvé pourquoi.
En effet j'ai coché la case 'Supprimer les torrents terminés lorsque leur ratio atteint' en l'occurence 1.2. Seulement dans le cas où un torrent est remis juste pour du seed, le ratio dans l'onglet terminé est à l'infini, je suppose que qb voit l'infini plus grand que 1.2 (et il a raison en plus) et donc les supprime automatiquement. Sans la case cochée les torrents restent en place.

Est ce normal?

Merci.
Christophe.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Ce qui se passe:
- Les torrents sont nouveaux => (total_download == 0)

Ratio = Total_upload / total_download

Division par 0, on obtient donc l'infini. Pour qBittorrent, c'est logique ;) Je peux comprendre que cela perturbe ceci dit. Je ne sais pas si le comportement des autres logiciels est different ou pas, il faut que je me renseigne.

Que proposes-tu comme amélioration sinon?

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

Le comportement semble correct, au regard de cette definition: http://btfaq.com/serve/cache/23.html

share rating
    If you are using the experimental client with the stats-patch, you will see a share rating displayed on the GUI panel. This is simply the ratio of your amount uploaded divided by your amount downloaded. The amounts used are for the current session only, not over the history of the file. If you achieve a share ratio of 1.0, that would mean you've uploaded as much as you've downloaded. The higher the number, the more you have contributed. If you see a share ratio of "oo", this means infinity, which will happen if you open a BT client with a complete file (i.e., you seed the file.) In this case you download nothing since you have the full file, and so anything you send will cause the ratio to reach infinity. Note: The share rating is just a number that is displayed for your convenience. It does not directly affect any aspect of the client at all. In general, out of courtesy to others you should strive to keep this ratio as high as possible, of course.

Surtout:
[...]If you see a share ratio of "oo", this means infinity, which will happen if you open a BT client with a complete file[...]

Revision history for this message
Bardok (bardok) wrote :

Je suis d'accord pour le fonctionnement du ratio, c'est tout à fait normal.

Ce que je voudrais c'est que qb ne supprime pas de ma liste, automatiquement quand la case 'Supprimer les torrents terminés lorsque leur ratio atteint' est coché, les torrents terminés quand le ratio est à l'infini car cela empèche le partage.

La solution que j'ai trouvée c'est décocher la case et faire le ménage à la main dans les terminés.

Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

I have just commited a fix for this in svn:
- BUGFIX: Torrents with an infinite ratio are no longer affected by ratio_limit set in program preferences

Thank you for the report :)

Changed in qbittorrent:
assignee: nobody → Christophe Dumez (hydr0g3n)
importance: Undecided → Medium
milestone: none → 1.3.4
status: New → Fix Committed
Revision history for this message
Christophe Dumez (hydr0g3n) wrote :

v1.3.4 was released.

Changed in qbittorrent:
status: Fix Committed → Fix Released
Revision history for this message
phorane (phorane) wrote :

Non ce n'est pas un comportement normal, le ratio doit être calculé par rapport à total_done et non pas total_download, en tout cas c'est comme ça que font tous les autres clients que j'ai déjà utilisé, y compris le client officiel (et aussi les trackers).

De toute manière un ratio de partage infini n'a aucun sens, et certainement pas celui de dire que lorsqu'on n'a rien téléchargé alors on a partagé à l'infini !

Donc pour moi C'EST un bug, non seulement dans qbittorrent, mais aussi dans cette faq citée plus haut (car oui il y a aussi des bugs dans les specs -- qui expliquent une bonne partie des bugs dans les programmes)

Et puis il faut être pragmatique: en étant le seul client à se référer a une telle définition, tu n'as pas fini d'avoir des rapports de bugs là dessus. Et deuxième raison pragmatique: à quoi ça sert d'avoir un truc qui reste bloqué sur l'infini? Personnellement (et je pense pour beaucoup d'autres) le ratio me sert à savoir qu'est-ce que j'ai envoyé (1, 2, 3, 10 fois le fichier?) et quand c'est moi qui débute le seed c'est une information que je veux vraiment avoir. Hors si on active le DHT par exemple, ce n'est pas le (ou les) tracker qui pourra donner une information correcte là-dessus, seulement mon client bt.

C'est très simple à corriger: (par rapport aux sources de la version 2.2.0beta4) remplacer dans Bittorrent::getRealRatio les 3 occurrences de all_time_upload par total_done et donc ajouter total_done à qtorrenthandle.h et qtorrenthandle.cpp pusiqu'il n'y ait pas déjà.

Ce serait quand même dommage que ce soit ceux qui sont capables de corriger eux-mêmes ce bug qui en profite alors que ce sont ceux qui en ont le plus besoin qui ne pourront pas le corriger.

On va quand même pas faire un fork pour ça !

Si ça te dérange à ce point de contrarier la btfaq alors ajoute au moins une colonne supplémentaire qui donne le «ratio de seed» (?) calculé avec total_done qui est le seul réellement intéressant.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.