Add a pointer to the exception value in JSErrorReport so it can be passed to window.onerror

ASSIGNED
Assigned to

Status

()

Core
JavaScript Engine
ASSIGNED
7 years ago
4 years ago

People

(Reporter: bz, Assigned: Waldo)

Tracking

(Blocks: 1 bug)

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:-, firefox26 wontfix)

Details

Brendan offered this as a way to punch a hole through the js layer between the xpconnect exception creator and the DOM error reporter exception consumer.  Then we can change the DOM code to use that info, and fix bug 482137.

Comment 1

7 years ago
Information leaks beware. Make sure this stashed value is wrapped properly to censor information leaks.
Wrapped in what sense?

I assume that we would censor it the same exact way we currently censor exceptions already in the dom error reporter, no?

Comment 3

7 years ago
Yeah. We just have to suddenly wrap where we didn't have to wrap before. Also, JSErrorReport is not going to keep the value alive. Are you sure it is rooted somewhere?
brendan hand-waved something about making sure it's rooted, yes... ;)

I'm still not sure where we need where we didn't have to wrap before...
The wrapping worry would be if an exception was uncaught and the reporter was called from a different compartment. But shouldn't the exception be wrapped as it throws across compartment boundaries?

I didn't hand-wave rooting, I said we need to root the thrown exception value!

brendan: bz: we can extend JSErrorReport with a copy of the pending exception value (need to make sure it's rooted, via stack conservatively if possible)

/be
The HTML spec just added a new argument to window.onerror: the original exception, so that .stack can be gotten from it.

We can't implement that unless this bug is fixed.
Summary: Add a pointer to the exception value in JSErrorReport → Add a pointer to the exception value in JSErrorReport so it can be passed to window.onerror

Updated

4 years ago
Blocks: 355430
This blocks getting stacks from JS errors, which is extremely useful for QA/Stability teams for Firefox OS, and which blocks bug 355430, so nominating for b2g.
blocking-b2g: --- → 1.3?
I'll take a look at this.
Status: NEW → ASSIGNED
Assignee: general → jwalden+bmo
status-firefox26: --- → wontfix
OS: Mac OS X → All
Hardware: x86 → All
(In reply to Gary Kwong [:gkw] [:nth10sd] (yes, still catching up on bugmail) from comment #7)
> This blocks getting stacks from JS errors, which is extremely useful for
> QA/Stability teams for Firefox OS, and which blocks bug 355430, so
> nominating for b2g.

This isn't a committed feature for 1.3, so this isn't a blocker.
blocking-b2g: 1.3? → -
You need to log in before you can comment on or make changes to this bug.