Monday, July 20, 2009

PeerBlock r61 Interim Release

We've got another build ready for official test. r61, which will hopefully be publicly released as v0.9.1.61 once y'all put it through its paces. Please don't post this release to the forums yet - I want to make sure we've managed to work out all the crashy bits before we "bless" it.

What's Changed

Since the last Interim Release (r52), here's what's new:

First off, we've got DisCoStu's installer work. The installer-package should have some spiffy custom graphics, install the correct variant of PeerBlock (Vista/Win7 vs. XP, x64 vs x86), automagically copy in the pg2.conf file from your original PG2 installation (if you installed it in the default C:\Program Files directory), and ask if you'd like to uninstall PG2 while you're at it.

I believe nearly all the app-crash causing bugs have been fixed. Primarily, these were crashing during list-updating, and crashing while exiting. If you experience any crashes, save aside your peerblock.log and .dmp files and send them to me ASAP!

I also have created new options in the .conf file to allow you to configure your tracelog functionality. In peerblock.conf, under the "TraceLog" heading you will find two new fields: Enabled and Level. Enabled can be either "yes" or "no" (defaults to yes), and Level can be one of the following values: 0 (disabled), 1 (Critical-severity only), 2 (Critical- or Error- severity only), 3 (Critical, Error, or Warning), 4 (Critical, Error, Warning, Success), 5 (Info, and all other higher-severity fields), 6 (Verbose, and all others), 7 (Debug, and all others). Basically, the higher the number, the more messages you'll see logged to peerblock.log; the default is, I believe, 5. For the initial few rounds of testing, please run it at level 5 or 6, as the extra messages will make it that much easier to figure out what's going on in the case of a problem.

Known Issues

Here are the list of issues that have been reported by various peoples in this release:
  1. Typo in Installer - The installer filename is "PeerBock" instead of "PeerBlock"
  2. Problems Installing if PeerBlock Running - If PeerBlock is currently running when you try to run the installer, it can't overwrite the peerblock.exe and peerblock.log files because they're already in use.
  3. Error Running PeerBlock as Last Step of Installer - The Installer asks you if you want to run PeerBlock after it's installed it, but if you try to it displays an error because PeerBlock requires Administrative Rights to run.
  4. Uninstall Leaves Dangling Files - After you Uninstall the program, it leaves some files left on your harddrive. These leftovers include the lists dir with lists inside, cache.p2b, history.db, peerblock.conf, peerblock.log, and peerblock.dmp (if it exists).
  5. PG2 Config Imported During Upgrade - When you're upgrading your PeerBlock install, if you have PG2 installed on your system the installer will copy PG2's pg2.conf file over top of your PeerBlock's peerblock.conf. This will cause any PeerBlock-specific settings you've updated to be overwritten.
  6. Hang While Updating "P2P" List - Only one reported instance of this, but PeerBlock hung while it was updating the "p2p" list. The user clicked Abort, at which point PeerBlock crashed.
  7. PeerBlock Running in Vista Compat Mode on Win7 - One reported instance of this happening; previous versions may have crashed a few times, causing Windows to automatically run the program in Vista Compatibility Mode.
  8. Crash During High Stress - One user has reported frequent crashes while his machine was performing lots of P2P activity. Early indications are that disabling tracelogging may have resolved this.
  9. Dumps - A couple of other app-crashes have been seen, the peerblock.dmp files generated will be undergoing triage soon.
These problems are all being looked into, and will hopefully be resolved within the next few days. After that we will generate another Interim Release, go through a quick 24-hour Sanity Test cycle, and if no new critical bugs are reported in that time we'll upgrade that to an official Public Release.

Things to Test

If we could all try to run through this list of tests, that would be greatly appreciated.
  1. Installer, Upgrade - If you installed the r52 Installer package that DisCoStu posted to the PG2 Forum, please try running this r61 installer and upgrading your installation. Make sure everything seems to be working, and that the main UI says "PeerBlock r61 - INTERNAL TESTING RELEASE". This is the experience that many of our current users will likely go through, I'd like for us to make sure it's working well for them.
  2. Installer, Fresh - Uninstall any previously-installed version of PeerBlock (even/especially if you've run through Test #1 above), and run the installer as if you're a new user. Verify that it installs where/how you tell it to, and again that the program is running correctly. Make sure that peerblock.log is created in the install-directory. Verify that it copied over the pg2.conf file from your previously existing PG2 install (if you have one), and that it uninstalled PG2 (if you selected it to).
  3. List Updating - Since many people have experienced crashes while attempting to update lists, test this out quite a lot. We do have a couple of patches in place that appear to fix the problem, but I'd like to make sure. Click the "Update Lists" button, make sure the app doesn't crash. Close PeerBlock, delete your list(s), restart PeerBlock and let it redownload the lists, make sure it doesn't crash. Close PeerBlock, delete your cache.db file, restart PeerBlock, make sure it "Generates List Cache" . . . and doesn't crash.
  4. Program Exit - Once again I believe I've nailed down that "app-crash while exiting the program" bug, but would like to make sure. Start PeerBlock up, wait a little while, then right-click on the taskbar icon and exit. Make sure it doesn't pop up one of those windows saying it crashed. Do this a whole bunch of times.
  5. Tracelog Options - Close PeerBlock, update the .conf file to have "Enabled" set to "no", restart PeerBlock, open up peerblock.log in notepad, and make sure that only a few messages (up to the point where it's loading the config-file, basically) are logged. Try different "Level" numbers, make sure you see more/less things logged. (I don't think I have too many "Debug" level tracelog messages, and you hopefully won't see anything logged at Critical/Error level.)

Get it Here

PeerBlock r61 Installer


Once again, thanks to all you guys for helping test these pre-release versions out. Without you guys sending in your error reports, the program definitely wouldn't be as far along as I think it is.

So keep on sending me any problem reports, or even any reports that it's running without problems!

        --- Mark ---

[Edited 7/22/09 to add Known Issues list]


  1. Thanks, actually installs and runs now!

  2. There are some very minor issues compiling the pbfilter project under XP box in debug mode.