Closed Bug 971964 Opened 10 years ago Closed 10 years ago

Intermittent places/main.test bookmark-item-moved | correct previousParentId - 5 == 3 | correct previousIndex - 0 == 1 | correct currentIndex - 0 == 4

Categories

(Add-on SDK Graveyard :: General, defect, P1)

x86_64
macOS
defect

Tracking

(firefox29 unaffected, firefox30 fixed, firefox31 fixed, firefox-esr24 unaffected)

RESOLVED WORKSFORME
mozilla31
Tracking Status
firefox29 --- unaffected
firefox30 --- fixed
firefox31 --- fixed
firefox-esr24 --- unaffected

People

(Reporter: KWierso, Assigned: jsantell)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

This seems to only affect OSX 10.6 debug builds, just like bug 969616 did...

https://tbpl.mozilla.org/php/getParsedLog.php?id=34571697&tree=Fx-Team#error0
slave: talos-r4-snow-098



TEST-PASS | places/main.test bookmark-item-changed | correct data in bookmark-added event
TEST-END | places/main.test bookmark-item-changed
TEST-START | places/main.test bookmark-item-moved
TEST-PASS | places/main.test bookmark-item-moved | correct type in bookmark-item-moved event
TEST-PASS | places/main.test bookmark-item-moved | correct data in bookmark-item-moved event
TEST-PASS | places/main.test bookmark-item-moved | correct id in bookmark-item-moved event
TEST-UNEXPECTED-FAIL | places/main.test bookmark-item-moved | correct previousParentId - 5 == 3
TEST-INFO | Traceback (most recent call last):
  File "resource://gre/modules/commonjs/sdk/timers.js", line 70, in dispatcher
    try { immediate(); }
  File "resource://gre/modules/commonjs/sdk/timers.js", line 79, in setImmediate/<
    immediates.set(id, _ => callback.apply(callback, params));
  File "resource://gre/modules/commonjs/sdk/lang/functional.js", line 68, in invoke
    const invoke = (callee, params, self) => callee.apply(self, params);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 43, in transform/<
    on(input, "data", data => f(data, next));
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 53, in filter/<
    next(data);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 36, in transform/next
    const next = data => receive(output, data);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 115, in receive
    emit(input, "data", message);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js", line 206, in null
    promised(EVENT_MAP[event])(data).then(res => {
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 281, in promised
    then(execute);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 153, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 153, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 43, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 118, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 118, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 250, in execute
    function execute(args) { return call.apply(call, args) }
  File "resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js", line 125, in saveBookmarkItem
    bmsrv.moveItem(id, data.group, data.index || -1);
  File "resource://gre/modules/commonjs/sdk/places/events.js", line 86, in createHandler/<
    data: data
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://test-places-at-jetpack/places/tests/test-places-events.js", line 90, in handler
    'correct previousParentId');
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal
    operator: "=="
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail
    this._log.fail(message);
  File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail
    this.console.testMessage(false, false, this.test.name, message);
  File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage
    this.trace();
TEST-PASS | places/main.test bookmark-item-moved | correct currentParentId
TEST-UNEXPECTED-FAIL | places/main.test bookmark-item-moved | correct previousIndex - 0 == 1
TEST-INFO | Traceback (most recent call last):
  File "resource://gre/modules/commonjs/sdk/timers.js", line 70, in dispatcher
    try { immediate(); }
  File "resource://gre/modules/commonjs/sdk/timers.js", line 79, in setImmediate/<
    immediates.set(id, _ => callback.apply(callback, params));
  File "resource://gre/modules/commonjs/sdk/lang/functional.js", line 68, in invoke
    const invoke = (callee, params, self) => callee.apply(self, params);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 43, in transform/<
    on(input, "data", data => f(data, next));
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 53, in filter/<
    next(data);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 36, in transform/next
    const next = data => receive(output, data);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 115, in receive
    emit(input, "data", message);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js", line 206, in null
    promised(EVENT_MAP[event])(data).then(res => {
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 281, in promised
    then(execute);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 153, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 153, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 43, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 118, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 118, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 250, in execute
    function execute(args) { return call.apply(call, args) }
  File "resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js", line 125, in saveBookmarkItem
    bmsrv.moveItem(id, data.group, data.index || -1);
  File "resource://gre/modules/commonjs/sdk/places/events.js", line 86, in createHandler/<
    data: data
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://test-places-at-jetpack/places/tests/test-places-events.js", line 93, in handler
    assert.equal(data.previousIndex, 0, 'correct previousIndex');
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal
    operator: "=="
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail
    this._log.fail(message);
  File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail
    this.console.testMessage(false, false, this.test.name, message);
  File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage
    this.trace();
TEST-UNEXPECTED-FAIL | places/main.test bookmark-item-moved | correct currentIndex - 0 == 4
TEST-INFO | Traceback (most recent call last):
  File "resource://gre/modules/commonjs/sdk/timers.js", line 70, in dispatcher
    try { immediate(); }
  File "resource://gre/modules/commonjs/sdk/timers.js", line 79, in setImmediate/<
    immediates.set(id, _ => callback.apply(callback, params));
  File "resource://gre/modules/commonjs/sdk/lang/functional.js", line 68, in invoke
    const invoke = (callee, params, self) => callee.apply(self, params);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 43, in transform/<
    on(input, "data", data => f(data, next));
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 53, in filter/<
    next(data);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 36, in transform/next
    const next = data => receive(output, data);
  File "resource://gre/modules/commonjs/sdk/event/utils.js", line 115, in receive
    emit(input, "data", message);
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js", line 206, in null
    promised(EVENT_MAP[event])(data).then(res => {
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 281, in promised
    then(execute);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 153, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 153, in then
    result.then(resolve, reject);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 43, in then
    return { then: function then(fulfill) { fulfill(value); } };
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 118, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 118, in resolve
    deferred.resolve(onFulfill ? onFulfill(value) : value);
  File "resource://gre/modules/commonjs/sdk/core/promise.js", line 250, in execute
    function execute(args) { return call.apply(call, args) }
  File "resource://gre/modules/commonjs/sdk/places/host/host-bookmarks.js", line 125, in saveBookmarkItem
    bmsrv.moveItem(id, data.group, data.index || -1);
  File "resource://gre/modules/commonjs/sdk/places/events.js", line 86, in createHandler/<
    data: data
  File "resource://gre/modules/commonjs/sdk/event/core.js", line 96, in emit
    listener.apply(target, args);
  File "resource://test-places-at-jetpack/places/tests/test-places-events.js", line 94, in handler
    assert.equal(data.currentIndex, 0, 'correct currentIndex');
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 124, in equal
    operator: "=="
  File "resource://gre/modules/commonjs/sdk/test/assert.js", line 88, in fail
    this._log.fail(message);
  File "resource://gre/modules/commonjs/sdk/deprecated/unit-test.js", line 83, in fail
    this.console.testMessage(false, false, this.test.name, message);
  File "resource://gre/modules/commonjs/sdk/test/harness.js", line 527, in testMessage
    this.trace();
TEST-END | places/main.test bookmark-item-moved
TEST-START | places/main.test bookmark-item-removed
Priority: -- → P1
Assignee: nobody → jsantell
Attached file fix attemps (obsolete) —
Commits pushed to master at https://github.com/mozilla/addon-sdk

https://github.com/mozilla/addon-sdk/commit/4acaf7e1eda4792a4b8213ea66fcc012ed2dbd22
Bug 971964 Attempt to fix intermittent places tests

https://github.com/mozilla/addon-sdk/commit/7ccf0a2b4cd5f888124439bc014278f12b2d0cbb
Merge pull request #1417 from jsantell/971964-fix-places-tests

Bug 971964 Attempt to fix intermittent places tests
Merging in possible fixes, a=@mossop
Marco, do you have any idea what could be causing this? Only in 10.6 debug builds since early February, nothing changed on the SDKs end with regard to places.
Flags: needinfo?(mak77)
Not off-hand. The code looks correct afaict. It's very strange, looks like instead of a move from unfiled-0 to menu-0, you get a move from toolbar-1 to menu-4.
I think it may be interesting to break into nsNavBookmarks::MoveItem with a debugger, maybe you could get access to one of these failing boxes and check FetchItemInfo result and what we pass to the notification, to see if there is error in the backend or in the conversion code.
Flags: needinfo?(mak77)
Attached file GH PR 1442
Attachment #8385023 - Attachment is obsolete: true
Attachment #8396061 - Flags: review?(evold)
Attachment #8396061 - Flags: review?(evold) → review+
Commits pushed to master at https://github.com/mozilla/addon-sdk

https://github.com/mozilla/addon-sdk/commit/87e2fca65bb535bdb3e24a96ba2c0ad1cc143d76
Bug 971964, bug 969616 disable places low level tests in OSX 10.6

https://github.com/mozilla/addon-sdk/commit/c7debfea06c9f3721b8d03de8838465a2802a34c
Merge pull request #1442 from jsantell/971964-disable-places-test-osx10-6

Bug 971964, bug 969616 disable places low level tests in OSX 10.6, r=@erikvold
https://hg.mozilla.org/releases/mozilla-aurora/rev/b8da42fcc302

FWIW, I find it's easiest to just save the raw diff from the upstream commit and fix that up for the uplift.
Target Milestone: --- → mozilla31
Closing bugs where TBPLbot has previously commented, but have now not been modified for >3 months & do not contain the whiteboard strings for disabled/annotated tests or use the keyword leave-open. Filter on: mass-intermittent-bug-closure-2014-07
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: