Hangs with multiple servers

Report & discuss bugs found in SABnzbd
Forum rules
Help us help you:
  • Are you using the latest stable version of SABnzbd? Downloads page.
  • Tell us what system you run SABnzbd on.
  • Adhere to the forum rules.
  • Do you experience problems during downloading?
    Check your connection in Status and Interface settings window.
    Use Test Server in Config > Servers.
    We will probably ask you to do a test using only basic settings.
  • Do you experience problems during repair or unpacking?
    Enable +Debug logging in the Status and Interface settings window and share the relevant parts of the log here using [ code ] sections.
Post Reply
Haskell Noob
Newbie
Newbie
Posts: 9
Joined: December 11th, 2008, 6:44 pm

Hangs with multiple servers

Post by Haskell Noob »

I've configured three news-servers and all works well until one of them becomes unresponsive. Then sabnzbd+ is not able to use the remaining two servers, it justs sits there presumably waiting for a timeout. However it never recovers.

Something with the server-connection / timeout handling seems to be the problem.

I'm using 0.4.6RC2 but 0.4.5 behaves exactly the same way. I'm on Debian/lenny.
User avatar
sander
Release Testers
Release Testers
Posts: 9061
Joined: January 22nd, 2008, 2:22 pm

Re: Hangs with multiple servers

Post by sander »

I sometimes have this problem too. To workaround it, I restart SAB and/or change the queue order and/or limit the number of active servers to one.
If you like our support, check our special newsserver deal or donate at: https://sabnzbd.org/donate
User avatar
shypike
Administrator
Administrator
Posts: 19774
Joined: January 18th, 2008, 12:49 pm

Re: Hangs with multiple servers

Post by shypike »

This is a known problem, that we cannot solve without some fundamental changes in the downloader.
This will take time.

See discussion:
http://forums.sabnzbd.org/index.php?topic=1445.0
Haskell Noob
Newbie
Newbie
Posts: 9
Joined: December 11th, 2008, 6:44 pm

Re: Hangs with multiple servers

Post by Haskell Noob »

Since you're already using non-blocking sockets, you'd have to implement some sort of select() handling that identifies whether the socket in question will be readable on the next recv() given a certain amount of timeout.

I agree, this can be tedious.
Post Reply