Page 1 of 1
Not enough repair blocks error (when there are enough)
Posted: April 29th, 2013, 9:19 pm
by gnomehole
Increasingly I'm getting the "not enough repair blocks" error on downloads that I flag via nzbindex (not sure if the server is applicable but thought I'd mention it)
Finally I decided after another failed 20gb download to look at the contents of the file. Sure enough, there are plenty of repair PARs available... it seems sabnsbd is not going after the additional files and only downloading a single par2 file.
I can repair my files by looking at the contents via nzbindex and downloading the repair files separately, then finding the directory and copying them over to the previous failed download and re-processing.
What I'm wondering is... am I missing a flag that tells Sabnzbd to go after those files itself? I had thought in the past it would go after however many it needed to properly repair a file. That apparently has stopped working.
I'm running Sabnzbd version 0.7.11
Re: Not enough repair blocks error (when there are enough)
Posted: April 30th, 2013, 4:53 am
by shypike
Are the par2 files represented in the NZB file?
If not, there's no way SABnzbd can download them.
Set SABnzbd to paused., load such a NZB file and inspect it by clicking on the job title in the queue.
Re: Not enough repair blocks error (when there are enough)
Posted: June 22nd, 2013, 4:47 am
by bucker
I am getting errors with incompletes more often as well.
The par2 are listed in the nzb, but SABnzbd does not download par2 files after verification fails. In this case, the error was:
Failed
32 articles were missing
No additional par2 files were downloaded.
Here is the link to the collection:
http://binsearch.info/?b=Platane.S01E01 ... 29&max=250
It might have something to do with how binsearch creates collections. But I tried downloading just the nzb file from the collection to then download all the files from that nzb, and I had the same problem.
Best regards.
Re: Not enough repair blocks error (when there are enough)
Posted: June 22nd, 2013, 5:22 am
by bucker
I should add that if I download the par2 files manually, I am able to repair and extract the archive successfully.
I'm using version 0.7.13.
Re: Not enough repair blocks error (when there are enough)
Posted: June 22nd, 2013, 6:05 am
by shypike
bucker wrote:I am getting errors with incompletes more often as well.
Which Usenet provider are you using?
Works fine with either Astraweb or Supernews.
A full debug log of such a download would be needed.
(Status page)
Re: Not enough repair blocks error (when there are enough)
Posted: June 25th, 2013, 6:06 pm
by bucker
Here is a full debug log:
https://www.wetransfer.com/downloads/9a ... 336/727f6c
I'm using Supernews. SABnzbd is running on a QNAP NAS.
Re: Not enough repair blocks error (when there are enough)
Posted: June 25th, 2013, 6:16 pm
by bucker
Looking at the debug file, SABnzbd is doing a:
par2 r <dir>/<file>.par2 <dir>/*
But <dir> contains the __ADMIN__ directory and par2 doesn't like getting that directory as a source file and so fails without attempting a verification and SAbnzbd doesn't try to download par2 files.
Re: Not enough repair blocks error (when there are enough)
Posted: June 26th, 2013, 4:57 am
by bucker
I upgraded to a new version of the SABnzbd QPKG wrapper on QNAP from version 120725 to 130128 (same version of SABnzbd though 0.7.13), and now par2 doesn't choke on __ADMIN__ being given as a source, it just ignores it:
Old log:
2013-06-26 00:50:16,398::DEBUG::[newsunpack:938] Par2-classic = True
2013-06-26 00:50:16,430::DEBUG::[newsunpack:963] Starting par2: ['/opt/bin/par2', 'r', '/share/MD0_DATA/Download/sabnzbd/incomplete/Platane_S01E01-E06_FRENCH_DVDRip_XviD-JMT_sponsored partagedl_co/Platane.S01E01-E06.FRENCH.DVDRip.XviD-JMT.sponsored partagedl.com.par2', '/share/MD0_DATA/Download/sabnzbd/incomplete/Platane_S01E01-E06_FRENCH_DVDRip_XviD-JMT_sponsored partagedl_co/*']
2013-06-26 00:50:16,637::DEBUG::[newsunpack:1255] PAR2 output was
The source file does not exist: /share/MD0_DATA/Download/sabnzbd/incomplete/Platane_S01E01-E06_FRENCH_DVDRip_XviD-JMT_sponsored partagedl_co/__ADMIN__
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
New log:
2013-06-26 11:09:02,389::INFO::[newsunpack:1170] Repaired in 3 minutes 54 seconds
2013-06-26 11:09:02,399::DEBUG::[newsunpack:1255] PAR2 output was
Ignoring non-existent source file: /share/Download/sabnzbd/incomplete/Platane_S01E01-E06_FRENCH_DVDRip_XviD-JMT_sponsored partagedl_co.2/__ADMIN__
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Any idea what might cause this change in behavior? Hopefully, the old behavior won't come back.
The SABnzbd wrapper folks say that the new version enabled multi-core par2, but I'm not sure if that's the reason for the difference. The par2 version is still the same as 0.4 and the option multi-core par2 in SABnzbd's config switches is still grayed out in the Post-processing section. However the log entries in the SABnzbd log are different with respect to par2, particularly the statement "Par2-classic = True" no longer appears. So maybe par2 is running in multi-core mode even though I don't see it on in the config switches?
Re: Not enough repair blocks error (when there are enough)
Posted: June 26th, 2013, 11:29 am
by shypike
SABnzbd isn't aware of the kind of par2 program is installed.
It just picks the first one in the PATH and assumes that it behaves like the standard par2cmdline.
We only have support for multi-core versions on Windows and OSX, where we include the par2 programs in the distribution.
Both errors are caused by having an empty job folder, or so it seems.
Re: Not enough repair blocks error (when there are enough)
Posted: June 26th, 2013, 5:20 pm
by bucker
I realize I should have been more precise in my post: Since the upgrade of the SABnzbd QPKG wrapper I mentioned above, par2 now works because it ignores __ADMIN__ instead of failing on it, and so, SABnzbd downloads additional par2 files and the download and repair complete successfully.
The job folder is not empty, it contains all the rar parts. But inside the job folder is the __ADMIN__ folder created by SABnzbd. The bug in SABnzbd is that the __ADMIN__ directory is passed as an argument to par2 as one of the source files along with the all the actual source files in the job folder, but it shouldn't. __ADMIN__ is a private SABnzbd directory, not part of the source files to be fed to par2.
It'll work anyway if par2 ignores the bogus directory as it is doing now on my system since I upgraded the SABnzbd wrapper. But the __ADMIN__ directory really should not be getting passed as a source file argument to par2 it in the first place. It causes problems.
I hope this helps.
Re: Not enough repair blocks error (when there are enough)
Posted: June 27th, 2013, 1:36 pm
by shypike
bucker wrote:But the __ADMIN__ directory really should not be getting passed as a source file argument to par2 it in the first place. It causes problems.
That's right, but it doesn't seem to bother any other implementation of par2cmdline.
Re: Not enough repair blocks error (when there are enough)
Posted: July 25th, 2013, 6:18 am
by Thom-
Hi, I'm having the same troubles with Sabnzbd on my Synology NAS.
The par2 implementation there seems to have troubles with the __ADMIN__ folder, too. It seems strange, that two different systems (Qnap and Synology) would have the same "strange" implementation of par2cmdline.
I'm getting the following information in my debug log:
Code: Select all
2013-07-25 12:01:56,055::DEBUG::[newsunpack:950] Par2-classic = True
2013-07-25 12:01:56,078::DEBUG::[newsunpack:975] Starting par2: ['/usr/local/sabnzbd/bin/nice', '-n15', '/usr/local/sabnzbd/bin/ionice', '-c2', '-n4', '/usr/local/sabnzbd/bin/par2', 'r', '/volume1/Daten/Downloads/nzb/incomplete/{nzb_file}/{nzb_file}.par2', '/volume1/Daten/Downloads/nzb/incomplete/{nzb_file}/*']
2013-07-25 12:01:56,158::INFO::[downloader:664] Thread 2@usenet.premiumize.me:1119: forcing disconnect
2013-07-25 12:01:56,200::DEBUG::[newsunpack:1267] PAR2 output was
The source file does not exist: /volume1/Daten/Downloads/nzb/incomplete/{nzb_file}/__ADMIN__
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Do you have any idea in how to avoid this problem? I didn't find any "ignore these files"-parameter in par2 and I couldn't find a different implementation of par2 for synology (I even tried the one from the ipkg packages, but it has still the same problems... the filesize is different, but it's still version 0.4).
Is there any way to configure Sabnzbd to create the __ADMIN__ folder in some different directory? Or maybe Sabnzbd could pass all filenames as parameter instead of /*?
Which version of par2 does Sabnzbd need, to work properly?
Re: Not enough repair blocks error (when there are enough)
Posted: July 27th, 2013, 3:19 pm
by masc
shypike wrote:bucker wrote:But the __ADMIN__ directory really should not be getting passed as a source file argument to par2 it in the first place. It causes problems.
That's right, but it doesn't seem to bother any other implementation of par2cmdline.
this is also broken for gentoo/sabayon and mostprobably any other distro using the official par2cmdline (
http://parchive.sourceforge.net) since the filemask was changed somewhere >0.7.3.
it was mentioned before.
http://forums.sabnzbd.org/viewtopic.php ... 4&start=15.