Closed Bug 1143028 Opened 7 years ago Closed 7 years ago

Opening WebIDE logs TypeError: this.connection is null app-manager.js:435:4

Categories

(DevTools Graveyard :: WebIDE, defect)

defect
Not set
normal

Tracking

(firefox39 fixed)

RESOLVED FIXED
Firefox 39
Tracking Status
firefox39 --- fixed

People

(Reporter: past, Assigned: jryans)

References

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

Seeing this on Nightly (Mac and Linux) every time I open WebIDE. I don't remember seeing this a while ago, but I'm not sure when it started.
I think this is breaking Valence. I can't connect to desktop Chrome with Nightly, but DevEdition works fine, for the same version of Valence.
Bug 1126432 is sharing and reusing app-manager.js in ways it was not expecting.

We'll need to change a few things to ensure it's always init()ed properly.
Assignee: nobody → jryans
Status: NEW → ASSIGNED
Attachment #8577361 - Flags: feedback?(jfong) → feedback+
Comment on attachment 8577361 [details] [diff] [review]
0001-Bug-1143028-Make-AppMan-reinitable-update-tab-list-w.patch

Only one review needed, whoever wants to grab it!
Attachment #8577361 - Flags: review?(poirot.alex)
Attachment #8577361 - Flags: review?(past)
Comment on attachment 8577361 [details] [diff] [review]
0001-Bug-1143028-Make-AppMan-reinitable-update-tab-list-w.patch

Review of attachment 8577361 [details] [diff] [review]:
-----------------------------------------------------------------

I'm taking it so that Alex can concentrate on reviewing my patch :)

::: browser/devtools/webide/modules/app-manager.js
@@ +37,5 @@
>    init: function() {
> +    if (this._initialized) {
> +      return;
> +    }
> +    this._initialized = true;

Define _initialized and _uninitialized outside of init/uninit to ensure AppManager doesn't get deoptimized by the JIT to dictionary mode.
Attachment #8577361 - Flags: review?(poirot.alex)
Attachment #8577361 - Flags: review?(past)
Attachment #8577361 - Flags: review+
(In reply to Panos Astithas [:past] from comment #6)
> Define _initialized and _uninitialized outside of init/uninit to ensure
> AppManager doesn't get deoptimized by the JIT to dictionary mode.

Okay, fixed!

Turns out that using separate flags is a terrible idea, since this module is a singleton that gets re-inited later.  So, I've also condensed to one flag.
https://hg.mozilla.org/mozilla-central/rev/e687d9ffd8a9
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 39
Product: Firefox → DevTools
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.