Closed
Bug 764688
Opened 12 years ago
Closed 12 years ago
TypeError: can't redefine non-configurable property 'console'
Categories
(Add-on SDK Graveyard :: General, defect)
Add-on SDK Graveyard
General
Tracking
(Not tracked)
RESOLVED
FIXED
1.9
People
(Reporter: KWierso, Assigned: irakli)
References
Details
Attachments
(1 file)
165 bytes,
text/html
|
Details |
Starting with this push: https://hg.mozilla.org/integration/mozilla-inbound/rev/2ddb6278d1de all Jetpack test runs on Inbound became orange with the error "can't redefine non-configurable property 'console'" Inbound was then merged back to m-c and all JP tests there are orange as well. For an example test: https://tbpl.mozilla.org/php/getParsedLog.php?id=12615843&tree=Mozilla-Inbound&full=1
Comment 1•12 years ago
|
||
Why are you attempting to redefine the "console" property, and could you provide a link to the code in question? That said, it's possible that window.console shouldn't be non-configurable. Meh.
Reporter | ||
Comment 2•12 years ago
|
||
(In reply to Jeff Walden [:Waldo] (busy, try to prefer other reviewers if possible) from comment #1) > Why are you attempting to redefine the "console" property, and could you > provide a link to the code in question? > > That said, it's possible that window.console shouldn't be non-configurable. > Meh. Here's the "where" we override the console property: https://github.com/mozilla/addon-sdk/blob/96c836227648407595e26d8906623064f1d9aece/packages/test-harness/lib/harness.js#L311 which goes into https://github.com/mozilla/addon-sdk/blob/96c836227648407595e26d8906623064f1d9aece/packages/test-harness/lib/loader.js#L12 which attempts to get frozen here: https://github.com/mozilla/addon-sdk/blob/53eaebafc76df3f81c7d6db72c479bfc3cf369f4/packages/api-utils/lib/loader.js#L85 Irakli will have to answer the "why".
Reporter | ||
Comment 3•12 years ago
|
||
So, would us trying to set console's prototype to 'undefined' trigger this?
Comment 4•12 years ago
|
||
It shouldn't. Only redefining window.console somehow would do it. Or setting window.console, if you've made the property non-configurable yourself -- which would happen if you froze the global object, which it seems plausible you might have done.
Assignee | ||
Comment 5•12 years ago
|
||
(In reply to Jeff Walden [:Waldo] (busy, try to prefer other reviewers if possible) from comment #4) > It shouldn't. Only redefining window.console somehow would do it. Or > setting window.console, if you've made the property non-configurable > yourself -- which would happen if you froze the global object, which it > seems plausible you might have done. I don't thin we intent do redefine non-configurable properties and if we do that's a bug in our code I'll try to digg into this to find out why / where this happens.
Assignee | ||
Updated•12 years ago
|
Assignee: nobody → rFobic
Assignee | ||
Comment 6•12 years ago
|
||
I looked into stack traces of the failures: File "resource://anonid0-annotator-at-jetpack/api-utils/lib/timer.js", line 28, in notify callback.apply(null, args); File "resource://anonid0-annotator-at-jetpack/test-harness/lib/run-tests.js", line 59, in onDone: onDone}); File "resource://anonid0-annotator-at-jetpack/test-harness/lib/harness.js", line 311, in runTests console: new TestRunnerConsole(new ptc.PlainTextConsole(print), options) File "resource://anonid0-annotator-at-jetpack/test-harness/lib/loader.js", line 12, in globals = override(override({}, require('api-utils/globals')), globals || {}); File "resource://anonid0-annotator-at-jetpack/api-utils/lib/loader.js", line 85, in override return defineProperties(target, getOwnPropertyDescriptors(properties)); TypeError: can't redefine non-configurable property 'console' And it looks like SDK code is not up to date. For example: File "resource://anonid0-annotator-at-jetpack/api-utils/lib/loader.js", line 85, in override return defineProperties(target, getOwnPropertyDescriptors(properties)); No longer exists, https://github.com/mozilla/addon-sdk/blob/master/packages/api-utils/lib/loader.js#L85 pointed out by KWierso, is not actually not an override function :) Also `defineProperties(target, ...` is no longer used either. Can we re-run those tests with up to date SDK ?
Reporter | ||
Comment 7•12 years ago
|
||
(In reply to Irakli Gozilalishvili [:irakli] [:gozala] from comment #6) > I looked into stack traces of the failures: > > > File "resource://anonid0-annotator-at-jetpack/api-utils/lib/timer.js", > line 28, in notify > > callback.apply(null, args); > > File > "resource://anonid0-annotator-at-jetpack/test-harness/lib/run-tests.js", > line 59, in > > onDone: onDone}); > > File > "resource://anonid0-annotator-at-jetpack/test-harness/lib/harness.js", line > 311, in runTests > > console: new TestRunnerConsole(new ptc.PlainTextConsole(print), options) > > File "resource://anonid0-annotator-at-jetpack/test-harness/lib/loader.js", > line 12, in > > globals = override(override({}, require('api-utils/globals')), globals > || {}); > > File "resource://anonid0-annotator-at-jetpack/api-utils/lib/loader.js", > line 85, in override > > return defineProperties(target, getOwnPropertyDescriptors(properties)); > > TypeError: can't redefine non-configurable property 'console' > > > And it looks like SDK code is not up to date. For example: > > File "resource://anonid0-annotator-at-jetpack/api-utils/lib/loader.js", > line 85, in override > > return defineProperties(target, getOwnPropertyDescriptors(properties)); > > No longer exists, > https://github.com/mozilla/addon-sdk/blob/master/packages/api-utils/lib/ > loader.js#L85 pointed out by KWierso, is not actually not an override > function :) > Also `defineProperties(target, ...` is no longer used either. > > Can we re-run those tests with up to date SDK ? Sure, I'll push an update in a few minutes.
Reporter | ||
Updated•12 years ago
|
Priority: -- → P1
Reporter | ||
Comment 8•12 years ago
|
||
Okay, I pushed this to m-c: http://hg.mozilla.org/mozilla-central/rev/9bbc55b71de8 We'll see how it goes: https://tbpl.mozilla.org/?noignore=1&jobname=jetpack&rev=9bbc55b71de8
Reporter | ||
Comment 9•12 years ago
|
||
(In reply to Wes Kocher (:KWierso) from comment #8) > Okay, I pushed this to m-c: > http://hg.mozilla.org/mozilla-central/rev/9bbc55b71de8 > > We'll see how it goes: > https://tbpl.mozilla.org/?noignore=1&jobname=jetpack&rev=9bbc55b71de8 And the Opt builds seem to be coming up green, so I'd say this is fixed. The remaining debug oranges are bug 763381.
Status: NEW → RESOLVED
Closed: 12 years ago
Priority: P1 → --
Resolution: --- → FIXED
Comment 10•12 years ago
|
||
This issue which has been automagically fixed by some changeset in 1.9 branch means that 1.8.1 isn't able to run tests with nightly (and aurora ?). $ cfx test ... TypeError: can't redefine non-configurable property 'console' ... I got pinged by various people about this error and thought that something was wrong with their addon... Wouldn't it be worth having a 1.8.2 to fix this (and the panel issue) ?
OS: Windows 8 → All
Hardware: x86_64 → All
Target Milestone: --- → 1.9
Comment 11•12 years ago
|
||
I gave it a try and found that cfx test was broken on all versions but FF14, so it is being broken on Beta, Aurora and Nightly.
Comment 12•12 years ago
|
||
This is bad - I'm thinking we should do a 1.8.2 to fix this.
Comment 13•12 years ago
|
||
This bug was marked as resolved fixed as it has been fixed by new loader changeset landed in 1.9 branch. But it will need some fix for release/1.8 branch. Here is one.
Attachment #645345 -
Flags: review?(rFobic)
Updated•12 years ago
|
Attachment #645345 -
Flags: review?(rFobic)
You need to log in
before you can comment on or make changes to this bug.
Description
•