4 ms·
Actually, by the time it shipped, 80% of the crashes were due to insane reentrancy issues due to the componentized nature of IE. For example, when tearing down
by jbeda 15y ago
Actually, by the time it shipped, 80% of the crashes were due to insane reentrancy issues due to the componentized nature of IE.
For example, when tearing down a page, we would go ahead and release the laster of the references to the ActiveMovie COM objects. That component was using a separate thread and wanted to shut it down cleanly during clean up. It used windows messaging to communicate to the thread and had to run a message loop. That message loop would also dispatch messages to our top level window. If the wrong message came in at the wrong time in this situation we would have code dealing with a semi-destructed data structure and it would crash. I dealt with a lot of these issues by being very defensive when calling out to anything. Things like lots of null checks, saving references to be released until the end, etc. Of course there was a perf cost for each of these that we monitored closely.
I don't think that any of these were the root of security problems. Those were more due to the impedance mismatches at the level of the shell/browser host and the URL deliver services.