Upload issues with recent libtorrent v0.15.4+svn

Bug #674867 reported by David Arnold
36
This bug affects 5 people
Affects Status Importance Assigned to Milestone
libtorrent-rasterbar
Unknown
Unknown
qBittorrent
Fix Released
Undecided
mkdib

Bug Description

using 2.4.4 about 6 to 10 peers would receive bits from my machine.
after upgrading to 2.4.10 only ONE peer gets upload bits from my machine.
MS-Windows XP Pro SP 3

Revision history for this message
klischee (klischee) wrote :

I can confirm this. Using same version on Windows 7 x64.

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

Ok, upload issues on Windows also reported on the forum: http://qbforums.shiki.hu/viewtopic.php?f=14&t=129

Apparently, the problem started with v2.4.9.1 and is still present in v2.4.10. The last working version is v2.4.9.

The only difference between v2.4.9 and v2.4.9.1 is a more recent libtorrent-rasterbar build. As a consequence, I will report this issue to the libtorrent author and we will update the windows binary as soon as it gets fixed.

Changed in qbittorrent:
assignee: nobody → mkdib (mohammad-dib)
status: New → Triaged
Revision history for this message
David Arnold (info-olivetreesoftware) wrote : RE: [Bug 674867] Re: only one peer upload target

Thank you for your attention to this. Sorry I didn't find the other report
of the same issue in the forum. I down graded to 2.4.4 because I still had
that on my machine and it works nicely.

-----Original Message-----
From: <email address hidden> [mailto:<email address hidden>] On Behalf Of
Christophe Dumez
Sent: Tuesday, November 16, 2010 1:02 AM
To: <email address hidden>
Subject: [Bug 674867] Re: only one peer upload target

Ok, upload issues on Windows also reported on the forum:
http://qbforums.shiki.hu/viewtopic.php?f=14&t=129

Apparently, the problem started with v2.4.9.1 and is still present in
v2.4.10. The last working version is v2.4.9.

The only difference between v2.4.9 and v2.4.9.1 is a more recent
libtorrent-rasterbar build. As a consequence, I will report this issue to
the libtorrent author and we will update the windows binary as soon as it
gets fixed.

--
only one peer upload target
https://bugs.launchpad.net/bugs/674867
You received this bug notification because you are a direct subscriber of
the bug.

Status in qBittorrent - An advanced bittorrent client in C++ / Qt4: New

Bug description:
using 2.4.4 about 6 to 10 peers would receive bits from my machine.
after upgrading to 2.4.10 only ONE peer gets upload bits from my machine.
MS-Windows XP Pro SP 3

To unsubscribe from this bug, go to:
https://bugs.launchpad.net/qbittorrent/+bug/674867/+subscribe

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

It seems to affect Linux too (I have packaged the same libtorrent version on Ubuntu to test). The libtorrent author has not figured out the issue yet but I will seriously look into it also.

summary: - only one peer upload target
+ Upload issues with recent libtorrent v0.15.4+svn
Revision history for this message
arvid Norberg (arvid-cs) wrote :

Can somebody provide some more details of what the problem is?

Does it affect only seeding torrents or downloading torrents as well? (i.e. are downloading torrents not uploading anything either?) If it affects downloading torrents I would imagine the download rate would be quite crappy.

Are there any peers connected at all on the torrents that are affected? Are there any peers connected that are "interested"? (i.e. the interested bit set).

Are there any peers that have been unchoked by qBittorrent on the torrents that are affected?

Is the upload rate literally 0? Is there any upload going to a handful of peers, but it's just lower than previous versions?

Revision history for this message
Shiki (shiki) wrote :

@Christophe: Is there a way to verbose debug the client on Windows? I'd like to help as much as possible but the log is not really helpful. Any other way?

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

@Me: No way to get more verbose output on Windows. Try at least to answer Arvid's question as well as possible. He is not able to reproduce the issue and neither do I. Without more information, it is hard to figure out the issue.

Revision history for this message
Shiki (shiki) wrote :

@Christophe: Well... my upload speeds are terrible too.
(Me = Shiki. :))

Revision history for this message
Neuro (neuro-picnics) wrote :

> Does it affect only seeding torrents or downloading torrents as well? (i.e. are downloading torrents not uploading anything either?) If it affects downloading torrents I would imagine the download rate would be quite crappy.

All torrents have no upload: old, new, downloading, seeding, different trackers.

> Are there any peers connected at all on the torrents that are affected? Are there any peers connected that are "interested"? (i.e. the interested bit set).

I see, that some (2-5) peers are connected. I think, they want download, cause have progress < 100%. When uploading work fine, I have >10 downloading peers constantly.

I see some DHT nodes; I know, that some torrents actual (and uploading on older version). When I download fresh torrent file and there are connections with other users, who downloading it with me, but I have upload = 0 kb/s.

> Is the upload rate literally 0? Is there any upload going to a handful of peers, but it's just lower than previous versions?

Absolutely 0. I dont remember strict, is there some bytes for service traffic. I will test it tomorrow one more time.

Now I have libtorrent-rasterbar6 0.15.4+svn.r5018-0ubuntu1 and qbittorrent 2.4.10+svn.r4722-0ubuntu2~maverick .
Could I make debug log, tcpdump or other for you?

Revision history for this message
arvid Norberg (arvid-cs) wrote :

It would be very helpful with verbose peer logs. That would require you to rebuild libtorrent with verbose logging enabled though.

If you manage to do this, please attach a zip of all the logfiles (make sure you don't have any before you start the run to keep them down). Also, don't run for too long, just long enough for you to have expected to be uploading to some peers.

the logfiles are created in current working directory under libtorrent_logs<listen-port>/

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

it is a shot in the dark but do you, by any chance, have the ip filter enabled?

Revision history for this message
Corinne (chf-msn) wrote :

I had the same problem after the upgrade of Qbittorrent under Linux.

Yesterday I tried something new: select under 'Global speed limits' ('settings' - 'speed') both upload and download and set them to high numbers (something around the maximum of your network). After this action the uploads suddenly started to work again and now the upstream is as high as it was before the upgrade!

Before this, the up- and download were set according the default settings of Qbittorrent: both not selected and in gray numbers of 50 (up) and 100 (down). I thought this meant that Qbittorrent would automatically choose the best settings (and it always did before the upgrade), but apparently it somehow set a very low maximum for the upstream.

Hopefully this will work for more users!

Revision history for this message
arvid Norberg (arvid-cs) wrote :

chris, what are the default settings set by qBittorrent?

Revision history for this message
Neuro (neuro-picnics) wrote :

> Yesterday I tried something new: select under 'Global speed limits' ('settings' - 'speed') both upload and download and set them to high numbers (something around the maximum of your network).

Its works for me too! Thanks!

@arvid Norberg
Sorry, I havent time for compiling libtorrent =(

Test steps:
1) Old version:
dpkg -l | grep torrent
ii libtorrent-rasterbar6 0.15.4+svn.r5036-0ubuntu1~maverick C++ bittorrent library by Rasterbar Software
ii qbittorrent 2.4.3-0ubuntu1 bittorrent client based on libtorrent-rasterbar with a Qt4 GUI

upload works fine

2) After update:
dpkg -l | grep torrent
ii libtorrent-rasterbar6 0.15.4+svn.r5036-0ubuntu1~maverick C++ bittorrent library by Rasterbar Software
ii qbittorrent 2.5.0~rc2-0ubuntu1~maverick bittorrent client based on libtorrent-rasterbar with a Qt4 GUI

No upload

3) Enable upload limit, set on 10000.
Upload starts immediately.

4) Disable upload limit.
All OK, upload working fine, new users connecting.

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

If I understand correctly, you get no upload only if you disable the upload limit in program preferences ? (i.e. you uncheck the checkbox on the left of (upload) and the field becomes greyed).

@hydri If they disable upload rate limit from program preferences, I call "s->set_upload_rate_limit(-1);" . I have just double-checked.

Revision history for this message
arvid Norberg (arvid-cs) wrote :

what is the upload rate limit set to by default?

It sounds from Neuro's post that he's enabling the limit.

Maybe there's something that's not initialized correctly, and if you don't call set_upload_rate_limit() at all, maybe it's broken. I'll look for that.

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

@hydri: default is at 50kb/s. I will check my code again but I don't believe it is possible I do not call set_upload_rate_limit().

Revision history for this message
arvid Norberg (arvid-cs) wrote :

you're sure that's properly turned into 50000 when passed to libtorrent, right?

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

@Arvid: It is turned into 51200 to be exact. Anyway, Corinne says she had the same issue when having no upload limit set.

Revision history for this message
Neuro (neuro-picnics) wrote :

> It sounds from Neuro's post that he's enabling the limit.
Yea, and it is carry on after I uncheck checkbox.

Also, it doesn't matter, what value set: upload starts anyway.

Revision history for this message
István Kondor (kondor) wrote :

I can confirm this on Ubuntu from Chris' ppa.

I did not have any speed limits, they were greyed out. After setting numbers roughly corresponding to my connection's speed as Corinne suggested upload started almost instantly.

FWIW, only on one torrent one guy was trying to grab it from me. It was shown in the peer list but there was no transfer at all. After setting the speed limits it miraculously started to work.

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

I will upload to my PPA tonight an older libtorrent-rasterbar version since it is taking way more time than anticipated to fix.
I will advise the Windows maintainer to do the same.

Everything should be back in order soon, sorry for the delay.

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

Is it still an issue with v2.5.0rc4? (for Ubuntu users). I cannot reproduce it.

Revision history for this message
Neuro (neuro-picnics) wrote :

During a hour with disabled limit just one peer connected with 1.3 kb/s. 3 minutes later after upload limit has been enabled, I got >200 kb/s upstream with >10 users.

Revision history for this message
István Kondor (kondor) wrote :

I just tried it again. Disabling (back) the limits -> restart -> no upload for about an hour (meaning 0 bytes) -> enabling limiting -> in less than 2 minutes the uploads resumed.

I'm currently using Maverick and your ppa, all up to date as of the time of writing.

I must mention though that I don't have this problem on Lucid with qBittorrent v2.4.11 on a 32 bit machine (the previous one is 64), so uploads seems to work fine. However, my download speeds are horrible with that one, it stays around 30-40kiB/s and only after a long time speeds up somewhat (I know for sure that I should get speeds around 3MiB/s).

Revision history for this message
Neuro (neuro-picnics) wrote :

OK. I have compiled libtorrent-rasterbar-0.15.4 Oct 05 with options '--enable-debug=yes --enable-logging=verbose' and have replaced it instead of /usr/lib/libtorrent-rasterbar.so.6.0.0 (and /usr/lib/libtorrent-rasterbar.so.6).
But when I tried to start qBt, I saw this:

$ qbittorrent
qbittorrent: symbol lookup error: qbittorrent: undefined symbol: _ZN10libtorrent7sessionC1ERKNS_11fingerprintEii

It's fail, sorry =(

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

@Neuro, if you recompile libtorrent, then you also need to recompile qBittorrent.
@Neuro, it was already shown that there is no issue with libtorrent v0.15.4, but it would of course be nice to have an additional confirmation

@Istvan, the qBittorrent version does not really matter since the issue seems to be in libtorrent. The thing is that on lucid, only libtorrent v0.14.x is provided while on maverick, we moved to v0.15.4+svn.

I have Ubuntu and I'm using my PPA and it is uploading fine here (except for some torrents that only have seeds but this is normal behavior). There must be something to trigger the issue (i.e. a different qBittorrent setting). I already tried to disable the upload limit but it does not seem to affect my upload speed, even after a restart.

Revision history for this message
István Kondor (kondor) wrote :

Then what do you want me to try? Or should I post my settings? (A list here or a config file?)

Revision history for this message
Neuro (neuro-picnics) wrote :

Seems that problem go away after last update

sudo dpkg -l | grep torrent
ii libtorrent-rasterbar6 0.15.4+svn.r5052+really0.15.4-0ubuntu1~maverick C++ bittorrent library by Rasterbar Software
ii qbittorrent 2.5.1-0ubuntu1~maverick bittorrent client based on libtorrent-rasterbar with a Qt4 GUI

There are few peers at time, but upload works fine. Thanks

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

@Neuro: Thanks for confirming. I downgraded the libtorrent to v0.15.4 (instead of v0.15.4+svn) in my PPA. This confirms that the issue was introduced in libtorrent SVN *after* v0.15.4 release. Unfortunately, I cannot reproduce the issue on my Ubuntu machine and I was unable to help the libtorrent author fix the issue (thus the decision to downgrade for now).

For Windows users, please be patient, the update (qBittorrent update and libtorrent downgrade in this case) is coming for you too. The Windows maintainer is slightly behind on his work (he is defending his PhD thesis soon).

Revision history for this message
István Kondor (kondor) wrote :

FWIW, I can confirm that downgrading solved the problem.

You guys have spent a lot of time to hunt down this bug. I suspect that there were not too many commits between the two versions. How could you not be able to bisect it? Well, if you couldn't even reproduce it then it's understandable. This one must be really nasty...

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

@Istvan, yes we have. Actually, there are not that many commits after v0.15.4 but we cannot bisect because we cannot reproduce the issue...

Revision history for this message
István Kondor (kondor) wrote :

Unfortunately I don't have any spare time at the moment, so all I can offer is that I'm willing to do a quick test for anything. So if you are willing to create debs for each new commit I could test them, but I really don't have the time to try to do it myself.

My apologies.

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

When updating to v2.5.2 (My Ubuntu PPA or Windows), you will get a libtorrent v0.15.4+svn snapshot again. We have chosen to update because it seems that the upload issues have been fixed (as well as several other important issues).

If it introduces the bug back, please report it as soon as possible and we will downgrade the libtorrent again.

tags: added: fixed-libtorrent-0.15.5
removed: peers
Changed in qbittorrent:
status: Triaged → Fix Released
Revision history for this message
Neuro (neuro-picnics) wrote :

Yep, trouble comes back =( Cheat with upload limit working.
ii libtorrent-rasterbar6 0.15.4+svn.r5101-0ubuntu1~maverick C++ bittorrent library by Rasterbar Software
ii qbittorrent 2.5.2-0ubuntu2~maverick bittorrent client based on libtorrent-rasterbar with a Qt4 GUI

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

Neuro, could you please set your upload limit back to unlimited, restart qBittorrent and then send me the following files?

~/.cache/qBittorrent/dht_state
~/.cache/qBittorrent/ses_state

Before you send me those files, please make sure that the upload is *not* working.

My mail is "chris <at> qbittorrent.org".

Revision history for this message
Neuro (neuro-picnics) wrote :

Hmm, I'm sorry.
Don't know, why it's not happened for a few hours of waiting last time, but yesterday upload starts OK, without limit set.

Revision history for this message
arvid Norberg (arvid-cs) wrote :

I checked in some fixes to (libtorrent) svn yesterday which fixed some uninitialized variables issues. These bugs were not new, and exists in the current 0.15.4 release, but there is a possibility that something triggered these problems to be more likely to happen (especially on some systems). If these uninitialized variables were not set to 0 (which normally is pretty likely), libtorrent would send invalid bittorrent messages, which would cause the other end to disconnect. This _may_ have caused this issue, but it's sort of far fetched.

I'm having another look through all changes from 0.15.4 -> svn r4958 to see if I can find anything else possibly causing this problem.

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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