Closed
Bug 437529
Opened 17 years ago
Closed 17 years ago
Async.Generator errors: "missing a 'yield' call", "this.generator is null"
Categories
(Cloud Services :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
0.2
People
(Reporter: myk, Assigned: myk)
References
Details
Attachments
(1 file)
502 bytes,
patch
|
Details | Diff | Splinter Review |
I'm seeing a bunch of Async.Generator errors after syncing the same profile a few times:
2008-06-05 16:23:02 Async.Generator ERROR Async method 'Engine__sync' is missing a 'yield' call (or called done() after being finalized)
2008-06-05 16:23:02 Async.Generator ERROR Async method 'WeaveSvc__syncEngine' is missing a 'yield' call (or called done() after being finalized)
2008-06-05 16:23:02 Async.Generator ERROR Async method 'WeaveNotifyWrapper' is missing a 'yield' call (or called done() after being finalized)
2008-06-05 16:23:02 Async.Generator ERROR Async method 'WeaveSync__sync' is missing a 'yield' call (or called done() after being finalized)
2008-06-05 16:23:02 Async.Generator ERROR Async method 'WeaveNotifyWrapper' is missing a 'yield' call (or called done() after being finalized)
2008-06-05 16:23:02 Async.Generator ERROR Exception: TypeError: this.generator is null
2008-06-05 16:23:02 Async.Generator ERROR Exception: this.generator is null
2008-06-05 16:23:02 Async.Generator ERROR Async method 'WeaveLockWrapper' is missing a 'yield' call (or called done() after being finalized)
Assignee | ||
Comment 1•17 years ago
|
||
Removing TabStore_ApplyCommands, which overrides Store_ApplyCommands, got rid of "Exception: TypeError: this.generator is null", but the others are still there.
Assignee | ||
Comment 2•17 years ago
|
||
This turns out to be a regression from changeset 397c72376858 (2008-05-28 20:11 -0700), "Dan Mills - Add and start using an object to represent a remote resource (file), and a server object to hold them. Resources will attempt to retry network operations if they fail."
In the previous revision of engines.js, Engine::_sync yields after it puts the status file to the server. In the later revision, however, which changes the API for putting files, the function doesn't yield there, so it calls self.done() before the PUT request completes.
Then, when the PUT request completes, it attempts to call back the function, but the function has already been finalized, so the exception gets thrown.
Here's the fix that resolves the problem. I'll check this in shortly.
Assignee: nobody → myk
Status: NEW → ASSIGNED
Assignee | ||
Comment 3•17 years ago
|
||
changeset: 519:23744bd48479
date: Wed Jun 11 17:44:08 2008 -0700
summary: bug 437529: yield after starting to put the status file to the server so we don't finalize the sync until the PUT request completes
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Comment 4•17 years ago
|
||
Oops. Sorry for the regression!
Updated•16 years ago
|
Component: Weave → General
Product: Mozilla Labs → Weave
Updated•16 years ago
|
QA Contact: weave → general
You need to log in
before you can comment on or make changes to this bug.
Description
•