Welcome! Log In Create A New Profile


Windows 2000 stop screen (unhandled exception)

Posted by Anonymous User 
Anonymous User
Windows 2000 stop screen (unhandled exception)
January 25, 2010 11:28PM
I finally got tired of PG2 not updating and decided to install PeerBlock. It installed, asked my firewall program for permission to access the internet, updated successfully, got to "Generating List Cache" and when the progress bar reaches the end, terminates in a blue screen of death stop screen:

Stop: 0x0000001E (0xC0000005, 0x8046191a, 1, 0)
Address 0x8046191A - ntoskrnl.exe

I tested it repeatedly; it always occurs with both the stable release and 1.0r223 beta.
The OS is Windows 2000 SP2. (I can't use the latest SP4 because it makes my digital camera unable to download due to a camera driver bug).

I am wondering if it relies on any prerequisite software foundations, frameworks, etc. that I probably don't have installed. I'll be happy to follow any suggestions on how to debug or work around this, as I am unable to use the program despite wishing I could.
open | download - PeerBlock_crash.zip (30.5 KB)
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 12:01AM
Can't answer you question xblkx but I know that one of the devs will be along shortly to help you out. Just wanted to let you
know you are not going unnoticed.
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 12:20AM
Hmm, looks like we tried to access some memory which we weren't supposed to.  This may actually be a non-malicious instance of Issue #256, caused by too little memory in the kernel nonpaged memory pool.  How much RAM does your system have in it?

The next (hopefully soon-to-come) Beta Release should include a fix for this, but the only affect this is likely to have on you would be to NOT crash your machine - if that is in fact the problem you're hitting, I'd be surprised if it works.  Still, once we come out with that release I'd love to hear how/if things change on your system...  (I'd send you a pre-Beta private-build to test in the meantime, but our code is kind of in a funky state right now . . . hence why we haven't released anything for awhile.)

It might be worth trying to remove some of your lists, and try again with a minimal subset of them - avoid the P2P list at first, because it's so large.  In fact, start our by removing all lists, just so that it's using as little memory as possible.  (Note that you may need to delete your peerblock.conf in order to get PeerBlock to load in the first place . . . or at least delete the relevant <list> lines.)

Going forward we should also look into reducing the memory footprint of our driver...

Sorry you're being hit by this crash,

        ---  Mark  ---

Lead developer of PeerBlock
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 01:37AM
Hi Mark,
Thank you for your fast reply! My system has 256MB installed, of which Task Manager is reporitng approximately 40MB free Kernel Nonpaged.

I am a computer professional and formerly managed a software engineering development group, so I'm familiar with "code in a funky state." I'll offer you this, you may send me the pre-beta to try if the results of my trying it will be valuable to you. I mostly develop embedded, but would even be willing to operate this in a debugger if you helped me figure out how and were patient with me.

I also will do the experiments you suggested for reducing its memory usage. Today is the first time I've ever used this, I basically just took the program's defaults. I had used PG2 for quite a while, so I'll have a look in that configuration file right now and see if I can figure it out. Talk to you again shortly and thank you for your prompt attention, informative comments, and for supporting a genuine user need with your work.
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 01:58AM
Hi xblkx,

Just so you know, at the moment PB can use over 100mb of ram only during its cache generation process, depending on the lists you use. After this process PB will usually use usually no more than 2mb.

Try setting PB to only update manually, then prior to updating be sure to free as much ram as possible (closing other programs etc). One of our test team members can run PB successfully on win2000 with 256mb ram - so it is possible; just currently rather awkward.


Edited 1 time(s). Last edit at 01/26/2010 01:59AM by hoodadilly.
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 03:56AM
Hi Hoodadilly, thank you for that information. What you and MarkSide said appears to be consistent with what I am observing. For the most part, it is good news. [btw, this applies to PeerBlock 1.0+ (r223) - BETA RELEASE]

I first tried removing all of the lists, but I did it from my non-administrative user account and got the error that PB requires Administrator access. I'm fairly certain I had already read about that issue in the issue tracker, so I won't discuss it here other than to say "that's fine during installation, not fine other times" and know you already know that winking smiley

So I edited peerblock.conf, and set to "no" for all the lists, and it initialized fine with no stop screen. I can get it to run now and get to the main program, Protection, Settings tabs etc.

One thing I observed that perhaps someone with more than one day of experience (!) could check:
After I disabled these by editing the .conf file, if I go into the List Manager button and check and uncheck items in there (for example: I uncheck everything and then check the box for 'Advertising'), I don't think that it is doing anything:
- in the peerblock.conf file, section, Ads field, the attribute remains set to value "no" despite that I checked the checkbox in List Manager
- furthermore, if after I do that operation and close list manager, I press the button "Check Updates", it only checks for PeerBlock Update. It does not attempt to obtain a new Ads list update even though the checkbox is checked.

I have a feeling there is a disconnection between the checkboxes and the items in the .conf file as well as the internal variables in the program that retain these values for use. There is no Save button there. The Save button in 'Settings' tab did not save it to the .conf file either. (I did not test whether the Save button saved other settings or not).

My opinion of expected behavior is:
- consistent and immediate synchronization of the value of those checkboxes against the corresponding entries in the .conf file if that is where that information in stored nonvolatile. The only exception would be if you had a Cancel button that if you made changes it would query if you wanted to discard them.
- consistent synchronization of the value of those checkboxes against the behavior of the program itself, i.e. what gets updated when you press Check Updates, it should at very least check at that time the updates to which the user checked the checkboxes for lists enabled in List Manager.

I apologize if I am overcontributing or overthinking on my first day's experience.
I will now attempt to do the updates manually as suggested. I don't mind awkward. If I am successful, I will document my procedure for you.

Regarding the cache generation that appears to be the cause of my kernel exception:
Maybe the cache generation could be performed in blocks? There is no way on my system that I could conceivably free 100MB of ram even temporarily, but surely 2MB at the end is no problem. Some programs I can tell swap to virtual (disk) memory, that would be acceptable too because it only causes a one-time delay.

I did not immediately see any other problems other than it would nice to have a scroll bar for going back into the history window and knowing what "Lightning Source" means without looking it up... one of them appeared to be another of my computers on the local lan trying to make a VNC connection.

Also why don't you move the additional settings (accessed by 'Next' button) to a second Settings tab? Even I did not immediately see that button, it is odd -- usually programs use separate tabs or a Next/Prev structure but not a mix of the two. I found it a bit inconsistent.

I'll post an update about how manual list updates worked for me. The only apprehension I have is once I get it working, I fear I will get failures later. My usage model is like this:
I use the program only when desiring to use torrents, which I do only rarely. So most of the time, I would expect everything to always need all updates at once (and a lot of memory to do so) when I do this. I suppose if I could do all the updates incrementally and avoid BSOD, it would be okay.

thanks for your help
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 06:21AM
I have some more follow-up to add:

1. The issue I reported where the change to the checkboxes in List Manager only seems to apply to Advertising. If I change the settings of the other ones and then close List Manager, they seem to take effect immediately and update themselves even though I don't even press Check Updates. (I did not look in the .conf file to see if they are written there).

2. I am able from my regular-user account to do rightclick Run As (administrator) and have it run properly. Tolerable workaround for now.

3. I am able to get the lists to update and generate cache manually. I did them one at a time, this way:
(a) Edit the .conf file and change all of the Enabled values to "no".
(b) Program starts okay now.
(c) in List Manager, uncheck all checkboxes except 'Advertising' then click the X (close box) then press Check Updates. [Nothing happens]
(d) in List Manager, uncheck all checkboxes except 'Spyware' then click the X (close box) then press Check Updates. Updates occur, "generating list cache" occurs, OK
(e) in List Manager, uncheck all checkboxes except 'Edu' then click the X (close box) then press Check Updates. Updates occur, "generating list cache" occurs, OK
(f) in List Manager, uncheck all checkboxes except 'P2P' then click the X (close box) then press Check Updates. Updates occur, "generating list cache" occurs, OK

At this point you can enable all of the checkboxes and do Check Updates and (at least I have) no problem. It says "blocking 1000411651 IP's".

I had the Task Manager 'performance' tab open while I was doing this. I observed some, but not a lot, of increased memory usage. It stayed within the middle graph block except P2P which just barely made it into the next one.

If I were to give a semiprofessional opinion on this... I don't think the original stop screen came from running out of memory. It essentially stayed in the 40s megabyte range of free kernel nonpaged even when updating combinations of updates as I described above.

I would look into the issue of the the checkbox for updating 'Advertising' not connected to the .conf file and the update screen. I never see updates showing up in the update list.

One more thing:
After I enabled all this, I quit out (leaving all updates enabled). Then I typed this forum message in (of course saving it to a text file in case I got BSOD). I re-executed PB (shift right click Run As Administrator) and this time I get an error message instead of a blue screen. A screen shot is attached (very likely the same original error, possibly not manifesting as a stop screen because I am no longer a privileged user only running the program as such? or maybe less updating?). Happy to try to help with additional work direction or test versions from the experts.

open | download - pb_error.bmp (355.9 KB)
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 07:06AM
I retried these experiments a few more times, got a few more stop screens. It seems that the disconnect between the checkboxes and the file their state is saved in could be related. Sometimes, and update would complete fine, generate list caches, proceed. Sometimes the same update would blue screen a few seconds later. Could it be memory *de* allocation instead of a shortage of resources?
Another observation:
I am fairly sure that after I got the "Unhandled exception" shown in the bitmap, I went into Task Manager and still saw peerblock in the Processes list, still running after I pressed OK and it exited. I'm out of time today so I didn't look into it further if it does that at any other time, but if it does, you might wish to check on that.

I would respectfully recommend in this priority
- program can run as a standard non-admin user
- checkboxes exactly match internal variable and load/save correctly against the .conf file that stores their values
Only then can those issues be ruled out as cause of the stop screen. It is possible that the only reason *I* am seeing this is that my system has a reduced set of resources more likely to detect page faults than newer ones with 1000MB free memory, even though the same root cause might exist.

Another observation:
I have on my system for speed considerations disabled "fade" etc. visual effects on the desktop. I saw the graph bar for 'Generate List Cache" (when it finished successfully) appear to fade away on completion. Relevant or just cosmetic, I don't know. I did observe it though. It always seems to blue screen right at the moment when something is being redrawn. Could this be a display/graphical issue? It is odd that it crashes just at the very very end of the generate cache if it's memory allocation. I doubt it's resource shortage - I think it's either it's either memory deallocation, updating of internal variables or that file after update completion, or redrawing. If it was memory allocation and I have 49MB free and it's needs 100MB, wouldn't it gpf halfway, rather than after it's all done? good night.


Edited 1 time(s). Last edit at 01/26/2010 07:10AM by xblkx.
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 09:23AM
Heya xblkx.

I welcome you to this forum and thank you for your great contribution of your indepth experiment and analysis. Regarding PeerBlock, the current UI has been planned to be replaced with a newer UI to make it more user-friendly. I am suprised that you managed to find an anomaly among the lists. Logically thinking, Advertising should produce the same effect as like the other lists.

About the crashes. I'm using a Windows 2000 myself and my crashes seems to be perhaps bit different than yours. Mine doesn't crash at the very end of the cache generation process, but somewhere midway to above midway. I have observed with task manager on what happens during cache generation. First is that the CPU usage is staying violently at 100% and memory usage would increase as the cache generation process keeps going until the violent crash happens. I paid no attention to the nonpaged memory consumption though. Since nonpaged memory didn't seem to change significantly for you, you might be right about memory de-allocation.

I didn't quite understand, but since you managed to start PeerBlock by editing the .conf list values into "no". Have you ever managed to run through cache generation successfully? Did you experience crash only during start-up cache generation instead of cache generation after the UI was loaded?

As hoodadilly mentioned, PeerBlock has been ran successfully on a low end machine. Although not 256mb of ram, but 128mb of ram. Crash can be reproduced at will with having resources be in used (for instance firefox 3.0 browser open).

PS: Whee, 100th post!
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 01:11PM
xblkx Wrote:

> shortage of resources?

By any chance did you notice stack/heap status?
Are you running Google Desktop or another indexing service?

Edited 1 time(s). Last edit at 01/26/2010 02:34PM by fxm.
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 03:24PM
Tippy Wrote:

> that the CPU usage is staying violently at 100%
> and memory usage would increase as the cache
> generation process keeps going until the violent
> crash happens.

FWIW it is not unusual for GDI heap corruption to cause symptoms like that.
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 10:00PM
Greetings all,

To answer some questions:

Q: "Advertising should produce the same effect as like the other lists. ".
A: Yes, exactly. It doesn't seem to though. Possibility of a cut and paste error or a typo? I've done it myself lol

Q:"Have you ever managed to run through cache generation successfully?"
A: Yes. Logged in as Administrator (which I try to avoid), after I edited the .conf file changing everything to 'no', I enabled them one at a time. Cache generation completed on each one. Then I enabled all of them and it completed okay.
I attempted this from my user account, and I was not able to get through it with all of them enabled. I can do them individually though. This was actually one of those things that made me think it was possible (though not imho likely) that it was graphics related. I am using 800x600x32 display mode. I will try disabling hardware acceleration and other display modes to see if there is any effect. It's probably worth knowing. Also, admittedly, I did the experiment slightly differently, as the startup case was logged in as Administrator, and the other tests were from a user account and PB 'Run As' administrator. The programs that load in my startup on these two accounts are different, there is more loaded from my user account and I have a fairly large desktop picture on the user account. It could even be a shortage of display memory, possibly. I will check that and report back.

Q: "Did you experience crash only during start-up cache generation instead of cache generation after the UI was loaded?"
A: No. It crashes in both cases. But it does not always crash if I do not enable all of the lists.

Q: "By any chance did you notice stack/heap status?"
A: No, I'm not familiar with how to look at that, although I know what it is. So I will look it up now, and I will notice it in the experiments I am about to do. I did notice the 100% cpu as described in the replies.

Q: "Are you running Google Desktop or another indexing service?"
A: No. I do have a firewall (zonealarm pro), sophos antivirus, and RealVNC free edition running in service mode.

I'll be back with some more info soon.
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 26, 2010 11:57PM
OK, I have two really important questions now:

1. Have any Windows 2000 users who are not seeing crashes tried it using a different display resolution?
2. Have any XP users tested this using a variety of display modes especially 800x600 and 1280x1024?

The reason I ask this, is that on my system, I am observing no problems at all in 1024x768 resolution, and crashes in almost every other display mode! This is rather strong evidence that this is a graphical problem, likely a bug, and not a situation of running out of memory resources for a properly-operating list/cache/filter-driver ranges generation.

First I would like to share my test data:

1. Logged in as Administrator, use Windows Explorer to browse to the c:/program files/peerblock directory. Delete the three files cache.p2b, peerblock.conf, peerblock.log. Invoke Task Manager with ctrl-alt-del, choose the Performance tab, and move the window to the upper right corner of the display area.
2. In the Properties of the desktop, set the desired display mode. Close the properties dialog.
3. Run PeerBlock. Choose to do all four list updates. Observe results. (Note: cache.p2b when successful is about 7894Kcool smiley.


1024x768x256 Full Acceleration -- OK
1024x768x256 No Acceleration -- OK
1024x768x16-bit Full Acceleration -- OK
1024x768x32-bit Full Acceleration -- OK

1280x1024x256 Full Acceleration -- OK
1280x1024x256 No Acceleration -- OK
1280x1024x16-bit Full Acceleration -- Stop Screen
800x600x256 Full Acceleration -- Stop Screen
800x600x16-bit Full Acceleration -- Stop Screen
800x600x32-bit Full Acceleration -- Stop Screen
800x600x32-bit NoAcceleration -- Stop Screen

There are no working cases in 800x600.
There are no failing cases in 1024x768, including ones that require *much* more display memory than the 800x600 modes. This implies it is not running out of memory, and it could mean that an attempt has been erroneously made to draw at a location that is outside of the allowed display area, but is not of the display area in the modes with more screen area.

If, when it is working (any 1024x768 mode, which is probably the most common display mode in use which could explain why besides for 2000 (!) it is not such a common complaint), you carefully watch the PeerBlock update process dialogs, I can see the following behavior:
After list download, the progress meter for "Generating List Cache" and it is updated with a progress bar.
It is dismissed in a fade effect, even though I have desktop Effects disabled on my system.
At the moment it disappears, I can see that the PeerBlock main window outline get redrawn (should it be? It doesn't seem required). At some point right around this time, the Blocked IPs count also gets updated.

Exactly at the [*] point is where I see the crash in the failing cases. Once in a while, it takes a few seconds of 100% cpu after that point for the crash (probably the length of time it takes to consume all system resources or for the error to propagate). The log always ends with "[LoadLists] setting up filter-driver ranges" for this crash.

So that's my theory. The only conclusive way I would have to prove it however, would be to a test version that generates NO screen output at all (no progress bar, no update to the application window, etc.) but as I said, the fact that the current display mode affects the program at all, let alone to the point of work fine / crash always is strong evidence for a bug in presenting status information to the user, such as an incorrect window coordinate specified.

It would be good to know if anyone else affected by this crash can eliminate it by using a 1024x768x256 or 16-bit display mode, and if anyone can cause a crash by using uncommon display modes such as 800x600.

Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 27, 2010 03:13AM
I gave it a shot trying to find in the source code the problem with the save of the Ads enable/disable checkbox seeming disconnected from the .conf file, maybe an hour but C++ is not my language... I spent an hour+ but without the code on my computer so I can grep it, I can't figure it out and don't know where to look. I can't find a zip file to download, just a browse by individual files and I manually looked through maybe 20 of them and I don't see it. I'm not even sure if I found the right location(s). Unless *I* have made a mistake, which has been known to happen, it has to be a copy/paste error where an [index] or an IDS_ something etc. or just some similar text or call is copied into the Ads section and close but not quite right. A code inspection should find it with no debugging, but I don't know where to look. sorry. I'm good with validation and assembly languages and C but object oriented, can you say "whoosh"? lol
Re: Windows 2000 stop screen (unhandled exception)
January 28, 2010 10:26AM
That is a suprising discovery you made regarding resolutions, xblkx. May I request that you also post your dump files of when your windows crashed from having the "wrong resolution"?

Anyway, I tested with r255 (very similiar to r223) on 800x600 resolution (with 16-bit colors) and I'm afraid to say that I was unable to reproduce your problem. I hope the others in the PeerBlock would take the liberty to test the resolution too regardless of using non-Windows 2000 OS.
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
January 28, 2010 08:15PM
Attached are four minidumps of crashes in different display resolutions.
Also attached, is a screen shot of the System Event Log at the time of those four crashes. The event logs have errors that correlate exactly with the tests (compare the timestamp of the minidumps). The 'DIGIRPS' entries are not related (it's part of reboots). I have an ATI Radeon 7200 series card, so the "ati2mtag" entry (which in Description is a category WDM error, "MMTABLE failed invalid table content " and it shows some bytes too) is relevant. This is probably the fatal one.

I would be willing to share my system event log privately to anyone who can interpret it, but it has information about my system that I would not wish to release publicly in this forum and I cannot edit it down to only this date and time.

Regarding what you said that you cannot reproduce this, there are many possibilities: a different video card or video driver may handle or ignore the error and not crash; it may not actually be a graphical issue but an issue that is related in some way to it, it might depend on something as silly as fonts or the positions of windows or even icons on my desktop. If you would like me to try your current (test) build, I will do so. You might even have something in your Event Logs that shows something, but which did not cause a crash (maybe it just got ignored).

A suggestion I have is for those who are testing this, always check in Event Viewer to make sure that PeerBlock is not making any entries in there (or that there are other system things making entries in there during its execution) and if it is, that they are intended to be there.

I do not see any mention of PeerBlock in any of the logs, but if a test version existed that would make log entries, I could correlate the entries against the crashes to try to help narrow down exactly what is causing me to see this. Unfortunately, aside from the validation side, how to do that or how to debug this is exceeds my capabilities. Thanks for listening.
open | download - pb_crashes_minidumps.zip (130.7 KB)
open | download - pb_systemeventlog.jpg (239.4 KB)
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
February 06, 2010 06:58AM
I have dual-boot machine with Windows 2000 SP4 and Windows XP SP2, 3GB of RAM. No problem with Peerblock on both OS. I am not a computer guru but it seems to me this problem somehow related with insufficient memory. You have 256 MB only.
All the best.
Anonymous User
Re: Windows 2000 stop screen (unhandled exception)
February 06, 2010 10:57AM
What display resolution(s) did you try, and what video card do you have?

I might replace my video card with an Nvidia and retest, if there is more information to suggest that effort might be useful.

I would tend to agree with you that the amount of memory might be related to the problem, except for the fact that I still only have that same 256MB of system memory whether I'm using 800x600 or 1024x768 or 1280x1024.... and that the error in the system event log is a WDM event in what appears to be an ATI module. This evidence strongly suggests a display issue (rectangles, graphics, fonts), it could be a shortage of display memory, but it seems okay at 1024x768xanything and not okay at 800x600x16 so it isn't *strictly* display memory.
Sorry, only registered users may post in this forum.

Click here to login