Limiter bug in DC++ 0.762 / 0.770

Bug #604983 reported by iceman50
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DC++
Fix Released
Low
Unassigned

Bug Description

In dc++ 0.762 and 0.770 I have a recurring bug with using the chat command (/download xx) and changing my download speed while having a download running, by doing this DC++ will reset my currently running downloads my operating system is Windows XP SP3 and as said this has been recreated on 0.770 (originally occured in 0.762 (im guessing this bug has been present ever since the limiter code was introduced)

Revision history for this message
iceman50 (bdcdevel) wrote :

Also Occuring in Win Server 2003 R2 SP2

Revision history for this message
eMTee (realprogger) wrote :

What do you mean by reset?
For me nothing happens except the speed changes accordingly...

Changed in dcplusplus:
status: New → Incomplete
Revision history for this message
iceman50 (bdcdevel) wrote :

When i'm upload and have my upload limiter set to x (x can be anything really) , and while someone is in the process of grabbing a file from if i were to change the speed to 0 via /upload 0 ... it will disconnect them totally, this happens about 70% of the time i do it but it is a little random, i notice it happens more with newer clients downloading from me

eMTee (realprogger)
Changed in dcplusplus:
status: Incomplete → Confirmed
importance: Undecided → Low
Revision history for this message
eMTee (realprogger) wrote :

I can confirm it with uploads the way described in #3

Revision history for this message
Big Muscle (bigmuscle) wrote :

When I wrote new code of limiter, there was a bug with speed set to zero. I fixed it later and sent a patch for DC++ (I think to cologic if I remember correctly). But it was "fixed" there in different way, which cause the problem described here.

Revision history for this message
cologic (cologic) wrote :

Big Muscle: I know that you provided a lot of patches regarding the limiter during its development (indeed, much of the code in it is yours), but I don't offhand recall that specific one; could you be more specific about your fix vs the apparently not-fix that actually happened, in the interest of fixing this bug?

Revision history for this message
Big Muscle (bigmuscle) wrote :

If I remember correctly, I fixed it by simple adding "upLimit == 0" into condition at the beginning of write() function (and similary downLimit in read()), but it is "upTokens == -1" in DC++.

StrongDC++'s upLimit and also DC++'s upTokens is set once a second. The difference is that I use upLimit also for getting current upload speed limit in write(), but DC++ always uses actual value from SettingsManager. The result is that setting upload speed limit to 0 B/s does not reflect actual value of upTokens (because it can be one second old).

I hope it is understandable.

cologic (cologic)
Changed in dcplusplus:
status: Confirmed → Fix Committed
Revision history for this message
poy (poy) wrote :

Fixed in DC++ 0.790.

Changed in dcplusplus:
status: Fix Committed → Fix Released
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.