Closed Bug 1093387 Opened 6 years ago Closed 6 years ago

Hard to debug connection failures / errors

Categories

(DevTools Graveyard :: WebIDE, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 38

People

(Reporter: jryans, Assigned: jryans)

References

(Depends on 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Several parts of the WebIDE connect to a runtime workflow fail to report useful errors and / or handle rejections, leading to unhelpful errors or no stacks when there is an issue.

Let's improve the error handling.
Dave, you mentioned seeing these issues.  If you have specific steps for the issue you are seeing, note them here, and I'll check them along with anything else I clean up.
Flags: needinfo?(dcamp)
Summary: Hard to debug connection failures → Hard to debug connection failures / errors
Assignee: nobody → jryans
Status: NEW → ASSIGNED
/r/2365 - Bug 1093387 - Better WebIDE runtime error handling. r=ochameau

Pull down this commit:

hg pull review -r 7ad6fbeb4e7704c094536e25d63ce8535f325374
Attachment #8547778 - Flags: review?(poirot.alex) → review+
https://reviewboard.mozilla.org/r/2363/#review1569

::: browser/devtools/webide/content/webide.js
(Diff revision 1)
> +             // |busyUntil| will listen for rejections.

This comment is a bit misleading.
You just want to ignore `initConnectionTelemetry` rejection, right?
While letting busyUntil handling connectToRuntime resolution.
If busyUntil listen for rejection, it will catch them.

::: browser/devtools/webide/modules/app-manager.js
(Diff revision 1)
> +      // |connectToRuntime| caller should listen for rejections.

Same thing here, you just want to ignore telemetry exceptions.
(In reply to Alexandre Poirot [:ochameau] from comment #5)
> https://reviewboard.mozilla.org/r/2363/#review1569
> 
> ::: browser/devtools/webide/content/webide.js
> (Diff revision 1)
> > +             // |busyUntil| will listen for rejections.
> 
> This comment is a bit misleading.
> You just want to ignore `initConnectionTelemetry` rejection, right?
> While letting busyUntil handling connectToRuntime resolution.
> If busyUntil listen for rejection, it will catch them.
> 
> ::: browser/devtools/webide/modules/app-manager.js
> (Diff revision 1)
> > +      // |connectToRuntime| caller should listen for rejections.
> 
> Same thing here, you just want to ignore telemetry exceptions.

As discussed on IRC, this is because uncaught promise tracking doesn't realize these rejection are handled elsewhere.

I filed bug 1121100 for this, and add the bug to these comments.  Also, I fixed a test failure.

Try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=bf3aa7fd5cb1
https://hg.mozilla.org/mozilla-central/rev/c2498519af6e
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 38
Flags: needinfo?(dcamp)
Attachment #8547778 - Attachment is obsolete: true
Attachment #8618545 - Flags: review+
Product: Firefox → DevTools
Product: DevTools → DevTools Graveyard
You need to log in before you can comment on or make changes to this bug.