Intermittent tests/test-places-bookmarks.testResolution | snapshots have different update times - true == false | resolve handles results - "a new title" == "updated title"

RESOLVED FIXED in Firefox 25

Status

Add-on SDK
General
P1
normal
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: emorley, Assigned: jsantell)

Tracking

({intermittent-failure})

unspecified
mozilla25
x86
Windows XP
intermittent-failure

Firefox Tracking Flags

(firefox24 unaffected, firefox25 fixed)

Details

Attachments

(1 attachment)

(Reporter)

Description

4 years ago
Introduced by bug 889157.

Windows XP 32-bit mozilla-inbound pgo test jetpack on 2013-07-11 00:36:57 PDT for push 3d800f929d54

slave: t-xp32-ix-118

https://tbpl.mozilla.org/php/getParsedLog.php?id=25160369&tree=Mozilla-Inbound

{
TEST-START | tests/test-places-bookmarks.testResolution
TEST-PASS | tests/test-places-bookmarks.testResolution | bookmark has updated time
TEST-UNEXPECTED-FAIL | tests/test-places-bookmarks.testResolution | snapshots have different update times - true == false
TEST-INFO | Traceback (most recent call last):
  File "resource://gre/modules/commonjs/sdk/timers.js", line 31, in notify
    callback.apply(null, args);
  File "resource://gre/modules/commonjs/sdk/lang/functional.js", line 66, in invoke
    function invoke(callee, params, self) callee.apply(self, params);
  File "resource://gre/modules/commonjs/sdk/addon/events.js", line 27, in null
    else request.resolve(clone(data));
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 155, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/places/bookmarks.js", line 143, in save/preCommitItem/<
    emit(emitter, 'data', savedItem, item);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 85, in emit
    for each (let item in emit.lazy.apply(emit.lazy, arguments)) {
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 112, in lazy
    if (~state.indexOf(listener)) yield listener.apply(target, args);
  File "resource://extensions.modules.03556d19-5f89-4a02-938f-9f8d5e20ad28-at-jetpack.commonjs.path.tests/test-places-bookmarks.js", line 525, in exports.testResolution/</<
    assert.ok(firstSave.updated < secondSave.updated, 'snapshots have different update times');
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 103, in ok
    operator: "=="
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 89, in fail
    this._log.fail(message);
  File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 84, in fail
    this.console.testMessage(false, false, this.test.name, message);
  File "resource://gre/modules/commonjs/sdk/test/harness.js", line 523, in testMessage
    this.trace();
TEST-UNEXPECTED-FAIL | tests/test-places-bookmarks.testResolution | resolve handles results - "a new title" == "updated title"
TEST-INFO | Traceback (most recent call last):
  File "resource://gre/modules/commonjs/sdk/timers.js", line 31, in notify
    callback.apply(null, args);
  File "resource://gre/modules/commonjs/sdk/lang/functional.js", line 66, in invoke
    function invoke(callee, params, self) callee.apply(self, params);
  File "resource://gre/modules/commonjs/sdk/addon/events.js", line 27, in null
    else request.resolve(clone(data));
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 155, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 155, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 187, in resolve
    result.then(observer.resolve, observer.reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 45, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 120, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/places/bookmarks.js", line 163, in commitComplete
    emit(emitter, 'end', results);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 85, in emit
    for each (let item in emit.lazy.apply(emit.lazy, arguments)) {
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 112, in lazy
    if (~state.indexOf(listener)) yield listener.apply(target, args);
  File "resource://extensions.modules.03556d19-5f89-4a02-938f-9f8d5e20ad28-at-jetpack.commonjs.path.tests/test-places-bookmarks.js", line 540, in exports.testResolution/</</<
    assert.equal(result.title, 'a new title', 'resolve handles results');
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 125, in equal
    operator: "=="
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 89, in fail
    this._log.fail(message);
  File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 84, in fail
    this.console.testMessage(false, false, this.test.name, message);
  File "resource://gre/modules/commonjs/sdk/test/harness.js", line 523, in testMessage
    this.trace();
TEST-END | tests/test-places-bookmarks.testResolution
}
(Reporter)

Comment 1

4 years ago
https://tbpl.mozilla.org/php/getParsedLog.php?id=25162195&tree=Mozilla-Inbound
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(Assignee)

Updated

4 years ago
Assignee: nobody → jsantell
Created attachment 777706 [details]
GH PR 1121

Hoping this does the trick
Attachment #777706 - Flags: review?(evold)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Attachment #777706 - Attachment mime type: text/plain → text/html
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Priority: -- → P1
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment on attachment 777706 [details]
GH PR 1121

It's probably better if Irakli reviews, since he reviewed it initally and I don't have docs, nor do I see this `update` property mentioned in the JEP https://github.com/mozilla/addon-sdk/wiki/JEP-Places-API
Attachment #777706 - Flags: review?(evold) → review?(rFobic)
(In reply to Erik Vold [:erikvold] [:ztatic] from comment #52)
> Comment on attachment 777706 [details]
> GH PR 1121
> 
> It's probably better if Irakli reviews, since he reviewed it initally and I
> don't have docs, nor do I see this `update` property mentioned in the JEP
> https://github.com/mozilla/addon-sdk/wiki/JEP-Places-API

s/`update`/`updated`
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment on attachment 777706 [details]
GH PR 1121

r+ With comments in pull request addressed.
Attachment #777706 - Flags: review?(rFobic) → review+

Comment 57

4 years ago
Commit pushed to master at https://github.com/mozilla/addon-sdk

https://github.com/mozilla/addon-sdk/commit/d9ceb0476d1bcefb5cd9f42fe267814acf188da6
Merge pull request #1121 from jsantell/892408-fix-intermittent-bookmarks-resolution

fix bug 892408 fix intermittent bookmarks resolution errors, r=@gozala

Updated

4 years ago
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
status-firefox24: --- → unaffected
status-firefox25: --- → fixed
Target Milestone: --- → mozilla25
You need to log in before you can comment on or make changes to this bug.