Page 1 of 1

PAR2 fails, but in the end the files are OK.

Posted: July 4th, 2018, 5:15 pm
by zion2k
Hi,

since 2 or 3 month I have several releases with fail the par2 check. "Repairing failed, Repair Failed."
If I double check the files with my Windows PC (Multipar v1.2.9.7) they are ok. Also if I use the sfv files everything seems to be ok.

Debian 9 Stretch
Sabnzbd 2.3.4 [2a113f7]
Multicore Par2 (par2cmdline v0.4)

Code: Select all

2018-06-29 10:36:11,991::INFO::[newsunpack:1124] Scanning "/mnt/daten/#temp/CENSORED.par2"
2018-06-29 10:36:12,052::INFO::[newsunpack:1247] Starting par2: ['/usr/bin/par2', 'r', '', CENSORED']
2018-06-29 10:36:14,137::INFO::[newsunpack:1322] Verified in 2 seconds, repair is required
2018-06-29 10:36:14,142::INFO::[newsunpack:1519] Repairing failed, Repair Failed.
2018-06-29 10:36:14,142::INFO::[newsunpack:1144] Par verify failed on /mnt/daten/#temp/CENSORED.par2!
2018-06-29 10:36:14,142::INFO::[postproc:724] Verification and repair finished for CENSORED
2018-06-29 10:36:14,144::INFO::[postproc:566] Cleaning up CENSORED (keep_basic=True)
2018-06-29 10:36:14,144::INFO::[nzbstuff:1726] [N/A] Purging data for job CENSORED (keep_basic=True, del_files=False)
2018-06-29 10:36:14,163::INFO::[database:272] Added job CENSORED to history
Any ideas how to solve this problem? Or anyone else who has similar problems?

Re: PAR2 fails, but in the end the files are OK.

Posted: July 4th, 2018, 11:43 pm
by sander
What if you check with a (manual) par (and then rar) from the Debian command line? Does that work?

Re: PAR2 fails, but in the end the files are OK.

Posted: July 5th, 2018, 12:47 am
by safihre
Could you enable Debug logging so we can see the par2 output? Seems like an unexpected error from par2.

Re: PAR2 fails, but in the end the files are OK.

Posted: July 15th, 2018, 4:56 pm
by zion2k
Sorry, I have been kept busy with other things and lost focus on this.

Here are the outputs of two releases and both tools. par2cmdline and Multipar.

Code: Select all

par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Modifications for concurrent processing, Unicode support, and hierarchial
directory support are Copyright (c) 2007-2015 Vincent Tan.
Concurrent processing utilises Intel Thread Building Blocks 4.3 Update 1,
Copyright (c) 2007-2014 Intel Corp.
Executing using the x64 (64-bit) instruction set.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Processing verifications and repairs concurrently using up to 8 logical CPUs.
Loading "00-RELEASENAME.par2".
Loaded 43 new packets
Loading "00-RELEASENAME.vol00+01.par2".
Loading "00-RELEASENAME.vol01+02.par2".
Loading "00-RELEASENAME.vol03+04.par2".
Loading "00-RELEASENAME.vol07+08.par2".
Loading "00-RELEASENAME.vol15+16.par2".
Loading "00-RELEASENAME.vol31+02.par2".
Loaded 2 new packets including 2 recovery blocks
Loaded 1 new packets including 1 recovery blocks
Loaded 4 new packets including 4 recovery blocks
Loaded 2 new packets including 2 recovery blocks
Loaded 6 new packets including 6 recovery blocks
Loaded 16 new packets including 16 recovery blocks

There are 21 recoverable files and 0 other files.
The block size used was 768000 bytes.
There are a total of 174 data blocks.
The total size of the data files is 124214075 bytes.

Verifying source files:

Target: "00-RELEASENAME.m3u" - empty.
Target: "00-RELEASENAME.jpg" - found.
Target: "00-RELEASENAME.nfo" - found.
Target: "00-RELEASENAME.sfv" - found.
Target: "00-RELEASENAME.srr" - found.
Target: "03-RELEASENAME.mp3" - found.
Target: "04-RELEASENAME.mp3" - found.
Target: "01-RELEASENAME.mp3" - found.
Target: "05-RELEASENAME.mp3" - found.
Target: "06-RELEASENAME.mp3" - found.
Target: "02-RELEASENAME.mp3" - found.
Target: "08-RELEASENAME.mp3" - found.
Target: "07-RELEASENAME.mp3" - found.
Target: "10-RELEASENAME.mp3" - found.
Target: "09-RELEASENAME.mp3" - found.
Target: "15-RELEASENAME.mp3" - found.
Target: "12-RELEASENAME.mp3" - found.
Target: "13-RELEASENAME.mp3" - found.
Target: "11-RELEASENAME.mp3" - found.
Target: "16-RELEASENAME.mp3" - found.
Target: "14-RELEASENAME.mp3" - found.

Scanning extra files:


Repair is required.
1 file(s) exist but are damaged.
20 file(s) are ok.
You have 174 out of 174 data blocks available.
You have 31 recovery blocks available.
Repair is possible.
You have an excess of 31 recovery blocks.
None of the recovery blocks will be used for the repair.


Wrote 0 bytes to diska

Verifying repaired files:

Target: "00-RELEASENAME.m3u" - empty.
Repair Failed.
Image

Code: Select all

par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Modifications for concurrent processing, Unicode support, and hierarchial
directory support are Copyright (c) 2007-2015 Vincent Tan.
Concurrent processing utilises Intel Thread Building Blocks 4.3 Update 1,
Copyright (c) 2007-2014 Intel Corp.
Executing using the x64 (64-bit) instruction set.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Processing verifications and repairs concurrently using up to 8 logical CPUs.
Loading "RELEASENAME.par2".
Loaded 41 new packets
Loading "RELEASENAME.vol00+01.par2".
Loading "RELEASENAME.vol01+02.par2".
Loading "RELEASENAME.vol03+04.par2".
Loading "RELEASENAME.vol07+08.par2".
Loading "RELEASENAME.vol15+01.par2".
Loaded 1 new packets including 1 recovery blocks
Loaded 1 new packets including 1 recovery blocks
Loaded 2 new packets including 2 recovery blocks
Loaded 4 new packets including 4 recovery blocks
Loaded 8 new packets including 8 recovery blocks

There are 20 recoverable files and 0 other files.
The block size used was 4608000 bytes.
There are a total of 164 data blocks.
The total size of the data files is 728383263 bytes.

Verifying source files:

Target: "Subs/RELEASENAME.idx" - found.
Target: "RELEASENAME.nfo" - found.
Target: "Subs/RELEASENAME.sub" - found.
Target: "RELEASENAME.r00" - found.
Target: "RELEASENAME.r03" - found.
Target: "RELEASENAME.r07" - found.
Target: "RELEASENAME.r01" - found.
Target: "RELEASENAME.r05" - found.
Target: "RELEASENAME.r06" - found.
Target: "RELEASENAME.r04" - found.
Target: "RELEASENAME.r02" - found.
Target: "RELEASENAME.sample.mkv" - missing.
Target: "RELEASENAME.sfv" - found.
Target: "RELEASENAME.r13" - found.
Target: "RELEASENAME.r08" - found.
Target: "RELEASENAME.r09" - found.
Target: "RELEASENAME.r10" - found.
Target: "RELEASENAME.r12" - found.
Target: "RELEASENAME.r11" - found.
Target: "RELEASENAME.rar" - found.

Scanning extra files:


Repair is required.
1 file(s) are missing.
19 file(s) are ok.
You have 164 out of 164 data blocks available.
You have 16 recovery blocks available.
Repair is possible.
You have an excess of 16 recovery blocks.
None of the recovery blocks will be used for the repair.


Wrote 0 bytes to diska

Verifying repaired files:

Target: "RELEASENAME.sample.mkv" - empty.
Repair Failed.
Image

It seems as if par2cmdline has problems with 0 byte files. Multipar does not bother those files.

Re: PAR2 fails, but in the end the files are OK.

Posted: July 16th, 2018, 1:33 am
by safihre
Maybe you can switch to the par2cmdline-mt version? It is more updated, although a bit slower.
https://sabnzbd.org/wiki/installation/multicore-par2

Re: PAR2 fails, but in the end the files are OK.

Posted: July 16th, 2018, 1:33 pm
by zion2k
Hi,
after missing dependency I went straight to the latest par2 version (v0.8.0). But nothing changed...

Code: Select all

Repair is required.
1 file(s) exist but are damaged.
8 file(s) are ok.
You have 104 out of 104 data blocks available.
You have 19 recovery blocks available.
Repair is possible.
You have an excess of 19 recovery blocks.
None of the recovery blocks will be used for the repair.


Wrote 0 bytes to diska

Verifying repaired files:

Target: "00_RELEASENAME.jpg" - empty.
Repair Failed.
Am I right, that I don't have the required recovery files or the recovery files for the .jpg have not been created and par2 is failing because of this.
Multipar on the other hand seems to repair everything where a recovery file is available and all other files are ignored?

At the moment my brain fails of the fact that par2 knows that the .jpg is corrupt and Multipar doesn't?
Is there a difference because Multipar supports Par3?

Re: PAR2 fails, but in the end the files are OK.

Posted: July 17th, 2018, 2:10 am
by safihre
It seems par2cmdline can't handle empty files. Nothing to do about it but to report a bug to par2cmdline: https://github.com/Parchive/par2cmdline/issues