July 12, 2004

Now I know why it's called "ah_crap_handler"...

I've just found a crasher bug in Mozilla 1.7 RC1. It's bad enough to block what I had called a required feature for Abacus 0.1.

It is the worst kind of crash I can imagine:
* A single untested line of JS makes a DOM call to insert a node.
* That single line executes several XBL bindings (<constructor/>).
* These bindings have been repeatedly tested and work perfectly.
* A run through the JavaScript Debugger shows that these lines do not cause the crash.
* Immediately after all these tested lines run, JSD returns to this one untested line... and THEN Mozilla crashes.

In other words, though it's definitely 100% reproducible, a "minimal testcase" from this code is virtually impossible. Just to run the current testcase, you have to have Abacus installed... and of course, I'm the only one in the entire world who has Abacus installed. Under these circumstances, filing a bug at Bugzilla is a waste of time, more so because I cannot connect to the Internet from my home computer, where Abacus is being built. So I can't even use Talkback to give a stack trace to mozilla.org.

What was this blocked feature?

Well, one goal of Abacus is to allow you to create new MathML semantics "branches" (I don't know what else to call them), which (aside from the first branch) are children of annotation-xml elements that the reader can choose from. The first branch is the content MathML encoding (which is never rendered), and the others are XML-based annotations (for instance, a MathML-Presentation annotation in the en-US language).

To create them, Abacus has to have some idea of how the already-existing branches could be created using Abacus. So I've spent a couple weeks figuring out just how the user can teach Abacus to do that. (The assumption is that Abacus could be used to edit MathML generated by another application.)

One key portion of this special user-interface just went thermonuclear.

Needless to say, I am not happy.

Posted by WeirdAl at July 12, 2004 10:41 AM
Comments

Do you have the disk space to build debug and get a stack?

Posted by: Boris at July 13, 2004 12:25 AM

On the Linux side of things, I do. My time is seriously cramped at the moment, but if you want a stack trace, I can put one together in less than two weeks. :) (That's how cramped my time is.)

Posted by: Alex Vincent at July 13, 2004 10:42 AM