Client freezes on changing priority to any value from paused

Bug #1013429 reported by beefstick
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
LinuxDC++
New
Undecided
Unassigned

Bug Description

I found a rather annoying bug that is fully reproducible for me at least.

Description:
After adding several items to my queue (I started with 8000, reduced to 2000 problem remains) I set the status of all files to paused. After logging in to several (or just one hub that does not matter) I unpause the whole queue. Instant client freeze. I get in my case a client that shows that it is trying to open a connection to lets say 100 users but that is the last the whole thing does. It does not open the connection, it does not crash, it does simply nothing. This is confirmed when using the client via gdb. No output is given after the unpause.

Workaround that does not always work, disconnect all hubs, unpause everything, connect to the hubs again. Sometimes the client freezes when you enter the hub because to many connections are opened at the same time.

Other workaround that also does not always work, I can individually resume files/directories in the queue, although this sometimes also gives errors of a client freeze.
If I have a small queue (max 200 files or so) there seems to be no problem at all, or maybe it is not frequent enough with small queues to become apparent.

Steps to reproduce:
Add loads of files with loads of sources to your queue, pause the whole queue. Wait until all connections are out of the transfer window. Unpause all at once.

Expected result:
Starting downloads

Actual result:
Client freeze

Version:
Running the last bzr

OS:
Opensuse 12.1

No backtrace since no crash but freeze, I have to kill the program myself.

I think it might be that the program wants to start to many threads at the same time and I would maybe limit that to X per Y seconds or so.

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.