Closed Bug 923315 Opened 11 years ago Closed 10 years ago

Intermittent browser_upgrade_backup.js | upgrade backup contains the expected contents ... (and more)

Categories

(Firefox :: Session Restore, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 32
Tracking Status
firefox30 --- wontfix
firefox31 --- fixed
firefox32 --- fixed
firefox-esr24 --- unaffected
b2g-v1.4 --- fixed
b2g-v2.0 --- fixed

People

(Reporter: philor, Assigned: ttaubert)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=28690856&tree=Mozilla-Inbound
Rev5 MacOSX Mountain Lion 10.8 mozilla-inbound opt test mochitest-browser-chrome on 2013-10-02 15:17:41 PDT for push 477781ec7d38
slave: talos-mtnlion-r5-062

15:28:43  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_upgrade_backup.js | upgrade backup contains the expected contents - Got browser_upgrade_backup.js, expected {"windows":[{"tabs":[{"entries":[{"url":"about:blank","ID":2068419556,"docshellID":0,"docIdentifier":1939,"scroll":"0,0"}],"lastAccessed":1380752921559,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"{\"groupID\":55,\"active\":true}"},"index":1},{"entries":[{"url":"http://example.org/?do_not_move_from_here","title":"mochitest index /","ID":1935,"docshellID":2483,"docIdentifier":1943,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"{\"groupID\":55}"},"index":1},{"entries":[{"url":"http://example.org/?start_browsing_from_here","title":"mochitest index /","ID":1936,"docshellID":2484,"docIdentifier":1944},{"url":"http://example.org/?browsing0","title":"mochitest index /","ID":1937,"docshellID":2484,"docIdentifier":1945},{"url":"http://example.org/?browsing1","title":"mochitest index /","ID":1938,"docshellID":2484,"docIdentifier":1946},{"url":"http://example.org/?browsing2","title":"mochitest index /","ID":1939,"docshellID":2484,"docIdentifier":1947},{"url":"http://example.org/?browsing3","title":"mochitest index /","ID":1940,"docshellID":2484,"docIdentifier":1948,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"{\"groupID\":55}"},"index":5}],"selected":1,"_closedTabs":[{"state":{"entries":[{"url":"http://example.org/?tab1","title":"mochitest index /","ID":1933,"docshellID":2481,"docIdentifier":1941,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"null"},"index":1},"title":"mochitest index /","image":null,"pos":1},{"state":{"entries":[{"url":"http://example.org/?tab2","title":"mochitest index /","ID":1934,"docshellID":2482,"docIdentifier":1942,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"null"},"index":1},"title":"mochitest index /","image":null,"pos":2},{"state":{"entries":[{"url":"http://example.com/","title":"mochitest index /","ID":1932,"docshellID":2480,"docIdentifier":1940,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"null"},"index":1,"storage":{"http://example.com":{"SESSION_STORAGE_KEY 0.1855374689230913":"SESSION_STORAGE_VALUE 0.4111552848239195"}}},"title":"mochitest index /","image":null,"pos":1},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1905,"docshellID":0,"docIdentifier":1913,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":1},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1906,"docshellID":0,"docIdentifier":1914,"formdata":{"id":{"input1":"value0"},"xpath":{}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":2},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1907,"docshellID":0,"docIdentifier":1915,"formdata":{"id":{"input1":"value1"},"xpath":{"/xhtml:html/xhtml:body/xhtml:input[@name='input2']":"value2"}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":3},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1908,"docshellID":0,"docIdentifier":1916,"formdata":{"id":{},"xpath":{"/xhtml:html/xhtml:body/xhtml:input[@name='input2']":"value3"}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":4},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1909,"docshellID":0,"docIdentifier":1917,"formdata":{"id":{"input1":"value4"},"xpath":{}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":5},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1910,"docshellID":0,"docIdentifier":1918,"formdata":{"id":{"input1":"value5"},"xpath":{}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":6},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1911,"docshellID":0,"docIdentifier":1919,"formdata":{"id":{"input1":"value6"},"xpath":{"/xhtml:html/xhtml:body/xhtml:input[@name='input2']":"value7"}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":7}],"busy":false,"width":1200,"height":817,"screenX":4,"screenY":22,"sizemode":"normal","extData":{"tabview-group":"{\"55\":{\"bounds\":{\"left\":15,\"top\":5,\"width\":766.383,\"height\":516.9250000000001},\"userSize\":null,\"title\":\"\",\"id\":55}}","tabview-groups":"{\"nextID\":59,\"activeGroupId\":55,\"totalNumber\":1}"}}],"selectedWindow":1,"_closedWindows":[],"session":{"state":"running","lastUpdate":1380752923358,"startTime":1380752494890,"recentCrashes":0},"scratchpads":[]}
15:28:43     INFO -  Stack trace:
15:28:43     INFO -      JS frame :: chrome://mochikit/content/browser-test.js :: test_is :: line 625
15:28:43     INFO -      JS frame :: chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_upgrade_backup.js :: task :: line 31
15:28:43     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 233
15:28:43     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 572
15:28:43     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 354
15:28:43     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
15:28:43  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_upgrade_backup.js | upgrade backup hasn't changed - Got browser_upgrade_backup.js, expected {"windows":[{"tabs":[{"entries":[{"url":"about:blank","ID":2068419556,"docshellID":0,"docIdentifier":1939,"scroll":"0,0"}],"lastAccessed":1380752921559,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"{\"groupID\":55,\"active\":true}"},"index":1},{"entries":[{"url":"http://example.org/?do_not_move_from_here","title":"mochitest index /","ID":1935,"docshellID":2483,"docIdentifier":1943,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"{\"groupID\":55}"},"index":1},{"entries":[{"url":"http://example.org/?start_browsing_from_here","title":"mochitest index /","ID":1936,"docshellID":2484,"docIdentifier":1944},{"url":"http://example.org/?browsing0","title":"mochitest index /","ID":1937,"docshellID":2484,"docIdentifier":1945},{"url":"http://example.org/?browsing1","title":"mochitest index /","ID":1938,"docshellID":2484,"docIdentifier":1946},{"url":"http://example.org/?browsing2","title":"mochitest index /","ID":1939,"docshellID":2484,"docIdentifier":1947},{"url":"http://example.org/?browsing3","title":"mochitest index /","ID":1940,"docshellID":2484,"docIdentifier":1948,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"{\"groupID\":55}"},"index":5}],"selected":1,"_closedTabs":[{"state":{"entries":[{"url":"http://example.org/?tab1","title":"mochitest index /","ID":1933,"docshellID":2481,"docIdentifier":1941,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"null"},"index":1},"title":"mochitest index /","image":null,"pos":1},{"state":{"entries":[{"url":"http://example.org/?tab2","title":"mochitest index /","ID":1934,"docshellID":2482,"docIdentifier":1942,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"null"},"index":1},"title":"mochitest index /","image":null,"pos":2},{"state":{"entries":[{"url":"http://example.com/","title":"mochitest index /","ID":1932,"docshellID":2480,"docIdentifier":1940,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"extData":{"tabview-tab":"null"},"index":1,"storage":{"http://example.com":{"SESSION_STORAGE_KEY 0.1855374689230913":"SESSION_STORAGE_VALUE 0.4111552848239195"}}},"title":"mochitest index /","image":null,"pos":1},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1905,"docshellID":0,"docIdentifier":1913,"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":1},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1906,"docshellID":0,"docIdentifier":1914,"formdata":{"id":{"input1":"value0"},"xpath":{}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":2},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1907,"docshellID":0,"docIdentifier":1915,"formdata":{"id":{"input1":"value1"},"xpath":{"/xhtml:html/xhtml:body/xhtml:input[@name='input2']":"value2"}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":3},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1908,"docshellID":0,"docIdentifier":1916,"formdata":{"id":{},"xpath":{"/xhtml:html/xhtml:body/xhtml:input[@name='input2']":"value3"}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":4},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1909,"docshellID":0,"docIdentifier":1917,"formdata":{"id":{"input1":"value4"},"xpath":{}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":5},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1910,"docshellID":0,"docIdentifier":1918,"formdata":{"id":{"input1":"value5"},"xpath":{}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":6},{"state":{"entries":[{"url":"chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_formdata_format_sample.html","title":"Test formdata format","ID":1911,"docshellID":0,"docIdentifier":1919,"formdata":{"id":{"input1":"value6"},"xpath":{"/xhtml:html/xhtml:body/xhtml:input[@name='input2']":"value7"}},"scroll":"0,0"}],"lastAccessed":0,"hidden":false,"attributes":{},"image":null,"index":1,"extData":{"tabview-tab":"null"}},"title":"Test formdata format","image":null,"pos":7}],"busy":false,"width":1200,"height":817,"screenX":4,"screenY":22,"sizemode":"normal","extData":{"tabview-group":"{\"55\":{\"bounds\":{\"left\":15,\"top\":5,\"width\":766.383,\"height\":516.9250000000001},\"userSize\":null,\"title\":\"\",\"id\":55}}","tabview-groups":"{\"nextID\":59,\"activeGroupId\":55,\"totalNumber\":1}"}}],"selectedWindow":1,"_closedWindows":[],"session":{"state":"running","lastUpdate":1380752923358,"startTime":1380752494890,"recentCrashes":0},"scratchpads":[]}
15:28:43     INFO -  Stack trace:
15:28:43     INFO -      JS frame :: chrome://mochikit/content/browser-test.js :: test_is :: line 625
15:28:43     INFO -      JS frame :: chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_upgrade_backup.js :: task :: line 37
15:28:43     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 233
15:28:43     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 572
15:28:43     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 354
15:28:43     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
15:28:43     INFO -  INFO TEST-END | chrome://mochitests/content/browser/browser/components/sessionstore/test/browser_upgrade_backup.js | finished in 266ms
This is high on OrangeFactor at the moment - may you take a look? :-)
Flags: needinfo?(dteller)
Patch has been waiting for review for quite some time as part of bug 883609. Deflecting.
Flags: needinfo?(dteller) → needinfo?(ttaubert)
Depends on: 883609
Summary: Intermittent browser_upgrade_backup.js | upgrade backup contains the expected contents, | upgrade backup hasn't changed → Intermittent browser_upgrade_backup.js | upgrade backup contains the expected contents ... (and more)
Flags: needinfo?(ttaubert)
OS: Mac OS X → All
Hardware: x86_64 → All
Oops, didn't want to reset the ni?
Flags: needinfo?(ttaubert)
The test fails because we write artifical sessionstore.js contents and once in a while the SessionSaver comes around and overwrites that.

I think we should have tackled this long before just letting it depend on that rewrite bug. We will also want to uplift this.
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Attachment #8433898 - Flags: review?(dteller)
Flags: needinfo?(ttaubert)
Comment on attachment 8433898 [details] [diff] [review]
0001-Bug-923315-Ensure-that-sessionstore.js-writes-don-t-.patch

Review of attachment 8433898 [details] [diff] [review]:
-----------------------------------------------------------------

Instead of calling `forceSaveState`, which should work almost always but is still open to a race condition, shouldn't we set the saving interval to 0 and only restore it at the end of the test?
Attachment #8433898 - Flags: review?(dteller) → review+
Setting gInterval to zero doesn't deactivate writing to the session file, it would just make us use the 2000ms minimum delay which would just result in the same intermittent failure. There indeed still is a *possible* race condition here but it's quite unlikely that the test takes 15s between those operations even on our slow try machines.
Well, I'm sure you know the proverb about benign race conditions.
Anyway, bug 883609 rewrites the test entirely (hint, hint, nudge, nudge), so let's concentrate on that.
https://hg.mozilla.org/mozilla-central/rev/8a3065aa8100
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 32
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: