As a follow-up of this, I reproduced it again, this time with ~175 split files (~10 parts each) in a single AltBinz collection on the Download Queue. After the 25th download had completed I checked Altbinz and the par2 thread malfunctioned again. On the par2 tab, only the first 10 downloads were shown as 100% blocks, 11-15 were shown with ~0.5% blocks, and no par2 for 16-25 were listed at all.
I paused the downloads, and shortly after AltBinz jumped to 100% CPU and appears to be attempting to recover, but something is still broken. It's been an hour paused now, and it's only joined 4 new files, and added added all the blocks for 3 files to the par2 tab. I'll leave it alone for more hours and see it is able to fully recover. I dread what is going to happen for the remaining 150 files... I may literally need to leave Altbinz eating 100% CPU for days after everything finishes downloading... In the past I've also seen that removing par2 files from the par2 will also hang when Altbiz is in this bugged state.
Rdl, I hope you are able to track down the cause. PAR2 bug? Threading bug? Something else? The computer I'm seeing the bug on has an AMD X2 4800+ (939) dual-core, if that matters. I'm convinced the bug is triggered when downloading many files in a single collection. Unfortunately, it also may be easier to reproduce than I originally thought.
Update1: It did eventually join and add the blocks from the completed files to the par2 tab, but the bug remained when I resumed downloading. No new par2 files were added while downloading. Pausing still resulted in Altbinz using 100% CPU, slowly reading files for a long time, attempting to recover.
Update2: The bug remained after exiting and re-opening Altbiz and resuming downloading. This suggests Altbinz has bugged the entire collection. The par2 files didn't disappear either, possibly since I let Altbinz do its thing until it was idle.
Update3: After further investigation with Process Monitor, it looks like Altbinz is getting stuck in a loop when parsing files. It is doing ~30 loops reading each file part in 640KB chunks (which happens to be the par2 block size) at 1280KB offsets for a total of ~1500 read operations per file part in this case. This may explain the the cause of 100% CPU usage, and why this thread continues to fall way behind the other threads. Now you just need to find out why this abnormal behavior is happening. When this bug isn't happening, I am able to download things in Altbinz with downloading, par2 checking, par2 repair, joining, extracting all happening in succession.
Update4: I tried splitting the uncompleted part of the collection into a new collection, exiting and re-opening Altbinz and resuming download, but I still have the bug.
Update5: This time I tried exporting the collection to an NZB, deleting everything from the Download Queue, and re-adding the NZB. Still bugged... This definitely does seem like a par2 bug. As I mentioned previously these are multiple split files within a single collection, 25MB per part, yENC, and the par2 files being reported by Altbinz as 640000 bytes block size & created by par2cmdline 0.4.