If you are using script.aculo.us scripts to do some fancy web-apping, read this post.
I’ve implemented this library of scripts in one CMS app I built. On one hand you have a list of available files and you need to choose some and sort them out into groups. 100% perfect situation for draggable / droppable / sortable combo that scriptaculous implements.
However, at three different computers, IE 6 (XP SP1, fully patched) would crash as soon as the page opening starts. It crashes in iexplore.exe and kernel32.dll, giving away this lovely file as output (small sample given below).
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="IEXPLORE.EXE" FILTER="GRABMI_FILTER_PRIVACY">
<MATCHING_FILE NAME="HMMAPI.DLL" SIZE="36352" CHECKSUM="0x8DE5BA15"
BIN_FILE_VERSION="6.0.2800.1106" BIN_PRODUCT_VERSION="6.0.2800.1106"
PRODUCT_VERSION="6.00.2800.1106"
FILE_DESCRIPTION="Microsoft HTTP Mail Simple MAPI"
...
No matter what I tried to find the cause, it would crash. Sometimes it would show the page content, but then crash before finishes loading. Totally confusing, as I could not repeat this on any other computer I tried.
Thus, the last resort. I went to the crime scene last night to try to debug the damn thing. I spent just over 5h trying to figure this out until it ended on the most unexpected culprit of all.
One of the comps had Visual Studio installed and this turned out to be great help. Without it, I had no idea where to start looking but to disable one function at a time and see what happens.
Debugging the crush revealed that error thrown is R6025 pure virtual function call. As you can see, this returns 1000s of pages, which was not good sign at all, but at least was a start.
Sifting through all those pages, I tried many things. On one page someone said that if you have rel. positioned elements inside of scrolling div, IE would throw this error. I had exactly such situation, removed all such statements but it still happened. Then I encountered the page that sank my hopes even lower. IE’s engine seems to be broken more severely then I imagined. This was after 3h of searching, testing, trying.
In the meantime, purely by accident, we realized that IE crashes once the mouse has been moved. If I load the page but do not touch the mouse, page would load properly, no problems. As soon as the mouse was moved, IE goes crumbling down. Even more confusing.
Eventually, we found another computer that has the same WinXP/IE installation and tried there. Jaws were dropped when pages worked perfectly on that computer. I mean perfectly. This clearly meant that it isn’t IE alone, but in combination with something else. But to compare two PCs with dozens of apps was crazy. It would mean removing one app at the time and trying to figure out which one is the problem. Add to the fact that in Windows, uninstallation would not always remove all of app’s components or registry settings and this is not really an option to try.
More searching lead me to this Usenet post where one of Microsoft’s MVPs explained three things that lead IE to crash, and that one of them can be any of BHOs installed. BHO stands for Browser Helper Object – things like Google toolbar. The man recommends:
- open Tools / Internet Options, Advanced tab
- uncheck “enable third party browser extensions” – this will turn off all BHOs
After turning this off, everything worked perfectly. THe only thing was to figure out what was causing the crash. Enter BHO Deamon – nice little utility that lists out all the BHOs installed and allows you to disable some. There was just one BHO installed – it was Text Ware’s QuickFind. I tried looking for an update but it seems that this company is dead as their site is empty.
What I found is that it comes bundled with Cambridge Advanced Learner’s Dictionary on CD-ROM. What QuickFind does is that it detects mouse movements anywhere on the screen and detects displayed word in any active application and then gives you dictionary entry for it. Sounds quite handy, really, if it wasn’t for the fact that it caused IE to crash. And it was exactly in line with the previous discovery that IE crashes when mouse is moved. All pieces fitted together.
After disabling it, things were back in order and at 2am I got home.
Once again, if you have IE crashing consistently on particular web page – uncheck browser extensions support. It’s 99% chance that it will resolve the problem. You just need to figure out which BHO is giving you headache.





This bloody error drove me mad in the last days.
Thank you very much mate, i owe you (and Google :) one!
Thumbs up — You are right and the problem is fixed :)
Cause of you I only spent 2H on it (almost gave up) :)
Thank you,
Efi
This is a great explanation of the problem, but there is still no solution! Unless you are writing code that you will only use for yourself, turning off BHOs is not an option. I for one didn;t even realize there was a problem until I got to the client site and of course they are using IE.
Anyway, does anyone have a solution? Is scriptaculous useless?
There is no solution to this maze of inter-connecting problems. Scriptaculous is more than useful and all you can do is to provide the help for users having problems.
Hmm. Thanks for the response. I used scriptaculous before, but for this case I can just leave it out. Thank goodness prototype.js is working.
Cheers!
same bug (pure virtual function call) in ie (but hard to reproduce) — if on page use Many htc ie controls and for init each htc control use . some controls became hidden, and if mouseover them — get “pure virtual function call” error. to fix it i use , function Init() { if (element.readyState!=“complete”) return; … }. hope this will be useful for somebody…
sorry.. there no protection fom html in post :)
1 year past your post I started getting the same error.
Thank you for the solution. I found out that it is prototype.js that make ie crach. Even after installing ie7 the error was still there driving me mad. I even used to view pages using prototype with firefox.
Thank you for the solution
thnx so much mate…u helped me out…the error was re’lly annoyin..but cheers to u now its resolved!!!
This two step fix was the trick on the error: Runtime Error! … R6025 — pure virtual function call. I was not using anything scriptaculous related at all, but rather some PHP & Javascript of my own and encountered this error. I haven’t seen IE crash that hard in years, although, admittedly I don’t use it much except for browser compatibility development and testing. Robb
finally found a solution to my problem with the ie: I have used the cambridge dict as well and that’s the culprit in my case. thanx so much for your valuable input!
fantastic — you helped solve my prob — it was indeed the BHO of the cambridge dict.
thanx so much — marianne
thx very much mate.…. u have solved the problem. fantastic solution.
thx again
Great investigation! Great solution!
Thanks!
I unchecked “enable third party browser extensions”. IE works now!
I had headache when IE (last version) did’t work on some website, BUT another browser (Firefox) did.
Note. I have “Collins COBUILD Advanced Learner’s English Dictionary” installed on my computer. I’m not sure that problem is in this soft.
Thanks again and again.
I found the same error 2 years after :S
In my case I have that problem with IE7 and I thought that version of IE was the problem, but last night I turned off all components in my browser and scriptaculous pages work fine, now I know is BHO componets who causes teh problem.
:O
Thanks for the explanation.
Crashes also IE7 with XP SP2.
François
As someone stated here (I think), disabling HBOs entirely isn’t a solution for those of us who work with developing websites. We can’t just tell our clients clients to disable the HBOs in their browsers, many use i.e. the google toolbar.
What is Microsofts take on this, they totally ignore it? They must be since nothing happend for a very long time.
Is there ANY statistics of how many that got this dll installed?
This is VERY sad, since it makes it impossible for me to use the one library I really love. YUI is to big and overly complex. jQuery is good, but buggy, and doesn’t feel robust.
Yes I have had this problem for years and I have just find out the problem this morning. Yes you are right the problem is the quickfind complemente of Cambridge Klett Dictionary. Now in the Internet Explorer 7 you have a option in “Tools”-> “complements administration” where you can disable the BHO you want. And in this way I find out the problem.
I don’t know if this problem will have been solved in the new verions of Cambridge Dictionary.
You’re right. I disable the add-on “QuickFind BHO Object” which comes with Oxford Advanced Genie and the problem is gone.
Thank you