Closed
Bug 694775
Opened 14 years ago
Closed 7 years ago
Crash [@ nsComputedDOMStyle::GetPropertyCSSValue]
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jruderman, Assigned: db48x)
References
Details
(Keywords: crash, testcase)
Crash Data
Attachments
(3 files)
The crash only happens on Windows (I don't know why), and only in debug builds (because http://hg.mozilla.org/mozilla-central/file/3b58a9df4c8c/layout/style/nsComputedDOMStyle.cpp#l514 is debug-only code).
Reporter | ||
Comment 1•14 years ago
|
||
![]() |
||
Comment 2•14 years ago
|
||
That's bizarre. The document proto should so not matter to this code...
Comment 3•12 years ago
|
||
No crash for me on Windows 7.
Reporter | ||
Comment 4•12 years ago
|
||
[21:45:52.837] TypeError: anonymous method called on incompatible Proxy @ file:///C:/Users/jruderman/Desktop/b.html:5
Looks like it's no longer possible to set document.__proto__. Is that intentional?
Comment 5•12 years ago
|
||
Sounds like something to do with HTMLDocument-on-WebIDL.
Comment 6•12 years ago
|
||
I think that might be a result of bug 770344. We might be able to support this (treating it as an expando on setting), but it'll need JS engine changes afaict.
![]() |
||
Comment 7•12 years ago
|
||
Er, wait. Why does the JS engine not allow setting __proto__ on proxies, exactly?
Flags: needinfo?(jwalden+bmo)
![]() |
||
Comment 8•12 years ago
|
||
We should probably spin off a separate bug on making __proto__ work here again, then revisit this one once that's fixed...
Comment 9•12 years ago
|
||
It's up to the proxy to make [[Prototype]] setting work. Doing so requires overriding the proxy nativeCall trap. Right now we've done it for the inside-the-engine proxy handlers (for new Proxy(), Proxy.create(), etc.) and for the wrapper classes that are basically engine-internal, but we haven't touched anything else. If you want your proxies to allow this stuff, you need to add that trap and implement it to allow the mutation attempt to proceed.
Flags: needinfo?(jwalden+bmo)
Reporter | ||
Comment 10•12 years ago
|
||
Do we actually want to allow it?
![]() |
||
Comment 11•12 years ago
|
||
Jesse: yes, since ES is adding proto-mutation in a standard way.
Jeff: what does "allow the mutation attempt to proceed" mean, exactly? How should an object that happens to be a proxy merely as an implementation detail go about mutating its proto?
![]() |
||
Updated•12 years ago
|
Flags: needinfo?(jwalden+bmo)
![]() |
||
Comment 12•12 years ago
|
||
Actually, I spun off the __proto__ thing into bug 889198.
Depends on: 889198
Flags: needinfo?(jwalden+bmo)
Assignee | ||
Comment 13•10 years ago
|
||
Bug 694775 - avoid crashing by simply not climbing past the top of the tree (debug only)
I've recently tripped across this one on live webpages while trying to debug other things.
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → db48x
Comment on attachment 8673967 [details]
MozReview Request: Bug 694775 - avoid crashing by simply not climbing past the top of the tree (debug only)
https://reviewboard.mozilla.org/r/22165/#review19763
OK, I guess. We'll still assert if that root style context isn't for a pseudo-element. And I think there are some obscure cases where we have style contexts that don't chain back up to the root element, where I suppose that's not a crazy thing to happen.
Attachment #8673967 -
Flags: review+
Assignee | ||
Updated•10 years ago
|
Keywords: checkin-needed
Comment 15•10 years ago
|
||
FWIW, the attached testcase doesn't crash even without this patch applied. Would be nice if we could get one that still does.
Flags: in-testsuite?
Comment 16•10 years ago
|
||
Hrm, it didn't crash locally for me (using a trunk win64 debug build), but it does crash on Try still.
https://treeherder.mozilla.org/logviewer.html#?job_id=13301032&repo=try
Flags: in-testsuite? → in-testsuite+
Keywords: checkin-needed
Comment 17•10 years ago
|
||
To be clear, the crashing Try link above includes the patch from this bug.
Assignee | ||
Comment 18•10 years ago
|
||
Nice. That's a slightly different stack so the patch is apparently just incomplete. I'll look into it.
I'll also try the testcase in the environment where I first saw this crash.
Comment 19•7 years ago
|
||
Pushed by mpalmgren@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d4d6f3565400
Add a crashtest. r=mats
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Comment 20•7 years ago
|
||
bugherder |
You need to log in
before you can comment on or make changes to this bug.
Description
•