Closed
Bug 1273343
Opened 8 years ago
Closed 8 years ago
POST failures uploading outgoing items don't log a failure reason
Categories
(Firefox :: Sync, defect, P1)
Firefox
Sync
Tracking
()
RESOLVED
FIXED
Firefox 51
Tracking | Status | |
---|---|---|
firefox51 | --- | fixed |
People
(Reporter: markh, Assigned: markh)
Details
(Whiteboard: [sync-quality])
Attachments
(1 file)
via TPS we are seeing logs like:
> 1463445396414 Sync.Collection DEBUG POST Length: 9471
> 1463445396608 Sync.Status DEBUG Status for engine prefs: error.engine.reason.unknown_fail
> 1463445396609 Sync.Status DEBUG Status.service: success.status_ok => error.sync.failed_partial
> 1463445396609 Sync.ErrorHandler DEBUG prefs failed: Error (resource://services-sync/resource.js:405:19) JS Stack trace: waitForSyncCallback@async.js:98:7 < Res__request@resource.js:398:14 < Res_post@resource.js:439:12 < newPostQueue/poster@record.js:635:14 < flush@record.js:703:23 < SyncEngine.prototype._uploadOutgoing@engines.js:1506:7 < SyncEngine.prototype._sync@engines.js:1557:7 < WrappedNotify@util.js:146:21 < Engine.prototype.sync@engines.js:670:5 < _syncEngine@enginesync.js:213:7 < sync@enginesync.js:163:15 < onNotify@service.js:1262:7 < WrappedNotify@util.js:146:21 < WrappedLock@util.js:101:16 < _lockedSync@service.js:1252:12 < sync/<@service.js:1244:14 < WrappedCatch@util.js:75:16 < sync@service.js:1232:5 < TPS__Sync@tps.jsm:926:5 < TPS.RunNextTestAction@tps.jsm:607:7 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < Res_post@resource.js:439:12 < newPostQueue/poster@record.js:635:14 < flush@record.js:703:23 < SyncEngine.prototype._uploadOutgoing@engines.js:1506:7 < SyncEngine.prototype._sync@engines.js:1557:7 < WrappedNotify@util.js:146:21 < Engine.prototype.sync@engines.js:670:5 < _syncEngine@enginesync.js:213:7 < sync@enginesync.js:163:15 < onNotify@service.js:1262:7 < WrappedNotify@util.js:146:21 < WrappedLock@util.js:101:16 < _lockedSync@service.js:1252:12 < sync/<@service.js:1244:14 < WrappedCatch@util.js:75:16 < sync@service.js:1232:5 < TPS__Sync@tps.jsm:926:5 < TPS.RunNextTestAction@tps.jsm:607:7 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5
> 1463445396610 Sync.Engine.Passwords DEBUG First sync, uploading all items
> 1463445396610 Sync.Engine.Passwords INFO 0 outgoing items pre-reconciliation
> 1463445396612 Sync.BrowserIDManager DEBUG _ensureValidToken already has one
> 1463445396791 Sync.Status DEBUG Status for engine passwords: error.engine.reason.unknown_fail
> 1463445396791 Sync.Status DEBUG Status.service: error.sync.failed_partial => error.sync.failed_partial
> 1463445396791 Sync.ErrorHandler DEBUG passwords failed: Error (resource://services-sync/resource.js:405:19) JS Stack trace: waitForSyncCallback@async.js:98:7 < Res__request@resource.js:398:14 < Res_get@resource.js:425:12 < SyncEngine.prototype._processIncoming@engines.js:1135:18 < SyncEngine.prototype._sync@engines.js:1555:7 < WrappedNotify@util.js:146:21 < Engine.prototype.sync@engines.js:670:5 < _syncEngine@enginesync.js:213:7 < sync@enginesync.js:163:15 < onNotify@service.js:1262:7 < WrappedNotify@util.js:146:21 < WrappedLock@util.js:101:16 < _lockedSync@service.js:1252:12 < sync/<@service.js:1244:14 < WrappedCatch@util.js:75:16 < sync@service.js:1232:5 < TPS__Sync@tps.jsm:926:5 < TPS.RunNextTestAction@tps.jsm:607:7 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < Res_get@resource.js:425:12 < SyncEngine.prototype._processIncoming@engines.js:1135:18 < SyncEngine.prototype._sync@engines.js:1555:7 < WrappedNotify@util.js:146:21 < Engine.prototype.sync@engines.js:670:5 < _syncEngine@enginesync.js:213:7 < sync@enginesync.js:163:15 < onNotify@service.js:1262:7 < WrappedNotify@util.js:146:21 < WrappedLock@util.js:101:16 < _lockedSync@service.js:1252:12 < sync/<@service.js:1244:14 < WrappedCatch@util.js:75:16 < sync@service.js:1232:5 < TPS__Sync@tps.jsm:926:5 < TPS.RunNextTestAction@tps.jsm:607:7 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5 < TPS.RunNextTestAction@tps.jsm:633:5
From which we can deduce that a POST failed, but can't deduce why. We need to ensure the logs capture the reasons - at least for the obvious 2 of "can't connect" and "http request failed". I'm fairly sure this isn't limited to POSTs
Flags: firefox-backlog+
Updated•8 years ago
|
Priority: P2 → P1
Whiteboard: [sync-quality]
Updated•8 years ago
|
Assignee: nobody → markh
Comment hidden (mozreview-request) |
Assignee | ||
Comment 2•8 years ago
|
||
mozreview-review |
Comment on attachment 8784728 [details] Bug 1273343 - make more log noise on resource exceptions and errors. https://reviewboard.mozilla.org/r/74062/#review71954 ::: services/sync/modules/resource.js:391 (Diff revision 1) > return Async.waitForSyncCallback(cb); > } catch (ex) { > if (Async.isShutdownException(ex)) { > throw ex; > } > + this._log.warn("request to ${url} failed: ${ex}", {url: this.uri.spec, ex}); This will typically cause 2 stacks to be written twice - once here, and once at the call site - but the one written here is before it is mangled a few lines below - and this one here does include details of the network error. Indeed, I think that mangling is the main reason we don't see a sane error already, and the stack here looks fine to me - so I'm really not sure what the code below exists for, but I'm really not up for shaving that yak currently.
Comment 3•8 years ago
|
||
mozreview-review |
Comment on attachment 8784728 [details] Bug 1273343 - make more log noise on resource exceptions and errors. https://reviewboard.mozilla.org/r/74062/#review72050 Looks good to me. Eventually getting rid of the mangling might be worthwhile, but it doesn't bother me much either way. nit: we try and have spaces inside the `{` and `}` of object literals right? r=me if I'm misremembering this or if I'm not and it's fixed.
Attachment #8784728 -
Flags: review?(tchiovoloni) → review+
Assignee | ||
Comment 4•8 years ago
|
||
(In reply to Thom Chiovoloni [:tcsc] from comment #3) > nit: we try and have spaces inside the `{` and `}` of object literals right? Given how many times I've nitted you on exactly that, that's some sweet justice for you :) Fixed! I also added "action" to the log messages. Thanks!
Comment hidden (mozreview-request) |
Pushed by mhammond@skippinet.com.au: https://hg.mozilla.org/integration/autoland/rev/ed6a8987ada4 make more log noise on resource exceptions and errors. r=tcsc
Comment 7•8 years ago
|
||
Backed out in https://hg.mozilla.org/integration/autoland/rev/673dcdb03f73 for https://treeherder.mozilla.org/logviewer.html#?job_id=2592265&repo=autoland
Comment hidden (mozreview-request) |
Pushed by mhammond@skippinet.com.au: https://hg.mozilla.org/integration/autoland/rev/717ef7ea17e8 make more log noise on resource exceptions and errors. r=tcsc
Comment 10•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/717ef7ea17e8
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox51:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 51
You need to log in
before you can comment on or make changes to this bug.
Description
•