On 08/02/2012 03:22 PM, Jim Blandy wrote:
For a long time, these have lived at:
http://hg.mozilla.org/users/jblandy_mozilla.com/archer-mozilla/ However,
I've started putting together a patch to integrate them into the Mozilla
tree, so that anyone who uses a Python-capable GDB will get them
automatically.

Does this sound like a good idea?

I don't know how people survive without these. I use them and love 'em.

I understand the reluctance to add even more flakiness to gdb. But in practice, I find that when a pretty-printer barfs on something, it's fairly clear what's going on (it'll insert an error message into the pretty-printed value's display, which doesn't prevent you from seeing the rest of the data.) The biggest problem I've had is that something can go wrong and I'll only get the hex address of certain types, without the type name. But as long as you notice that things are going off the rails, you just do a p/r.

   * Who can I bug when there's a problem? I volunteer to be on call for
     any GDB-Python related issues; there are some other folks on the
     team who've hacked on this as well, and I hope they'll volunteer too.

I volunteer to help.

   * How are we going to keep the pretty-printers up to date with the
     current SpiderMonkey code? SpiderMonkey has changed quickly over the
     last couple of years, and the printers have been prone to bit-rot.
     Here, I'm asking to impose on the rest of you: I suspect that having
     these printers in-tree will make problems show up more quickly, so
     we can stay on top of things.

We can do the same thing as we're doing the warnings-and-errors and rooting analysis builds -- create a single-platform job type on mozilla-inbound (at least) that only fires off when something is changed under js/src, and hide it by default. The hiding by default is unfortunate, but it's currently the recognized way to label something as "you don't have to backout if this fails. Yet."

Note that in practice, those hidden spidermonkey jobs are only moderately effective. We do seem to fix them when they break, but frequently there's a 1-2 week lag in doing so. And the gdb/python stuff could be a bit worse, since the pool of people familiar enough to fix them is smaller.

Come to think of it, we should teach tbpl to display a different type of build: visible by default but informational only. And create a persistent preference to display spidermonkey builds in that state. I could do the implementation part of that; not sure about the UI/design part.

My current work in progress is at
https://github.com/jimblandy/mozilla-central. In particular, take a look
at the integrate-archer
<https://github.com/jimblandy/mozilla-central/tree/integrate-archer> branch.

Oh, cool. I have a couple of things piled on top of your original archer-mozilla repo (eg stack frames and some stuff for moving GCthing pointers), currently in a half-broken state. I should switch over.

But... why is "archer" still in the name?

_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to