Open Bug 855762 Opened 12 years ago Updated 3 years ago

Intermittent test_bug475156.html | Coming from the cache - got false, expected true (x6), test_bug482935.html | Received fresh value for second request - got 1, expected 0

Categories

(Core :: DOM: Core & HTML, defect, P3)

ARM
Android
defect

Tracking

()

People

(Reporter: philor, Unassigned)

Details

(Keywords: intermittent-failure, Whiteboard: [test disabled on Android][leave open])

Attachments

(2 files)

https://tbpl.mozilla.org/php/getParsedLog.php?id=21200794&tree=Firefox Android Armv6 Tegra 250 mozilla-central opt test mochitest-1 on 2013-03-28 04:26:06 PDT for push 962f5293f87f slave: tegra-318 26830 INFO TEST-START | /tests/content/base/test/test_bug475156.html 26831 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | Not coming from the cache 26832 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We get a fresh version of the file 26833 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26834 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26835 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug475156.html | Coming from the cache - got false, expected true 26836 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got cached version 26837 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26838 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26839 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug475156.html | Coming from the cache - got false, expected true 26840 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got cached version 26841 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26842 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26843 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | Not coming from the cache 26844 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We get a fresh version of the file 26845 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26846 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26847 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug475156.html | Coming from the cache - got false, expected true 26848 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got cached version 26849 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26850 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26851 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug475156.html | Coming from the cache - got false, expected true 26852 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got cached version 26853 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26854 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26855 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | Not coming from the cache 26856 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We get a fresh version of the file 26857 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26858 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26859 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug475156.html | Coming from the cache - got false, expected true 26860 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got cached version 26861 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26862 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26863 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug475156.html | Coming from the cache - got false, expected true 26864 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got cached version 26865 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got correct ETag 26866 INFO TEST-PASS | /tests/content/base/test/test_bug475156.html | We got the expected file body 26867 INFO TEST-END | /tests/content/base/test/test_bug475156.html | finished in 450ms 26868 INFO TEST-START | /tests/content/base/test/test_bug482935.html 26869 INFO TEST-PASS | /tests/content/base/test/test_bug482935.html | wrong readyState 26870 INFO TEST-PASS | /tests/content/base/test/test_bug482935.html | Expected empty response to cancelled request 26871 ERROR TEST-UNEXPECTED-FAIL | /tests/content/base/test/test_bug482935.html | Received fresh value for second request - got 1, expected 0 26872 INFO TEST-END | /tests/content/base/test/test_bug482935.html | finished in 612ms
Honza, as test author do you have any ideas about this top10 intermittent failure? :-)
Flags: needinfo?(honzab.moz)
Android seems to have the lowest disk cache: pref("browser.cache.disk.capacity", 20480); http://mxr.mozilla.org/mozilla-central/source/mobile/android/app/mobile.js#56 Although there is something like smart disk caching (bug 745340). Not sure how much disk space the Android tegras have. So perhaps the mochitest framework should clear the cache after every test?
Attached patch clear cache in this test — — Splinter Review
This adds code that clears the cache in this test. Btw, while running this test standalone and then rerunning this test by reloading the page, I get these failures without this patch: failed | Not coming from the cache - got true, expected false failed | We got correct ETag - got a3, expected a1 failed | We got the expected file body - got a3, expected a1 failed | Coming from the cache - got false, expected true With this patch, I don't get these failures. But I guess the problem with this patch is that clearing the cache is asynchronous, so this code is not really correct.
Comment on attachment 751490 [details] [diff] [review] This would clear the cache in the mochitest run does this seem to fix the problem when testing on try server. I don't see a problem with this, but I would want somebody who knows more to determine if we should do this or not.
(In reply to Martijn Wargers [:mw22] (QA - IRC nick: mw22) from comment #136) > Created attachment 751489 [details] [diff] [review] > But I guess the problem with this patch is that clearing the cache is > asynchronous, so this code is not really correct. Does clearing the cache dispatch a notification when done? such that we can setup an observer/event to move on with the test when it is complete? Which might make more sense than an async "lets hope we're good" moment.
Whiteboard: [test disabled on Android][leave open]
(In reply to Justin Wood (:Callek) from comment #153) > (In reply to Martijn Wargers [:mw22] (QA - IRC nick: mw22) from comment #136) > > Created attachment 751489 [details] [diff] [review] > > But I guess the problem with this patch is that clearing the cache is > > asynchronous, so this code is not really correct. > > Does clearing the cache dispatch a notification when done? such that we can > setup an observer/event to move on with the test when it is complete? Which > might make more sense than an async "lets hope we're good" moment. There is an cacheservice:empty-cache observer: http://mxr.mozilla.org/mozilla-central/search?string=cacheservice:empty-cache I guess I should be able to hook that up inside SpecialPowers somehow.
(In reply to TinderboxPushlog Robot from comment #162) > RyanVM > https://tbpl.mozilla.org/php/getParsedLog.php?id=23164048&tree=Mozilla- > Inbound > Android Tegra 250 mozilla-inbound opt test mochitest-1 on 2013-05-20 10:37:57 > slave: tegra-228 > > 26903 ERROR TEST-UNEXPECTED-FAIL | > /tests/content/base/test/test_bug482935.html | Received fresh value for > second request - got 1, expected 0 Darn, was hoping this would go away with test_bug475156.html disabled. Round 2: https://hg.mozilla.org/integration/mozilla-inbound/rev/22211594d2a7
Michal, it's suspected that caching in the tests doesn't work because the cache is full. Question is, is clearing of the whole cache async or sync?
Flags: needinfo?(honzab.moz)
(In reply to Honza Bambas (:mayhemer) from comment #175) > Michal, it's suspected that caching in the tests doesn't work because the > cache is full. > > Question is, is clearing of the whole cache async or sync? Clearing of the whole cache by calling nsCacheService::evictEntries() is synchronous, but entries that are currently in use are only doomed and the space is freed when the last reference is dropped.
So I guess that means the patch ( https://bugzilla.mozilla.org/attachment.cgi?id=751490 ) can be used safely then?
Comment on attachment 751490 [details] [diff] [review] This would clear the cache in the mochitest run Review of attachment 751490 [details] [diff] [review]: ----------------------------------------------------------------- Asking for review. I've noticed that dom/tests/mochitest/general/test_resource_timing.html is also failing when trying to run it a second time. Clearing the cache there, fixes it.
Attachment #751490 - Flags: review?(michal.novotny)
Optimistically assigning to me (if the patch is good).
Assignee: nobody → martijn.martijn
Comment on attachment 751490 [details] [diff] [review] This would clear the cache in the mochitest run Review of attachment 751490 [details] [diff] [review]: ----------------------------------------------------------------- ::: testing/mochitest/tests/SimpleTest/TestRunner.js @@ +475,5 @@ > } > > + var cache = SpecialPowers.Cc["@mozilla.org/network/cache-service;1"]. > + getService(SpecialPowers.Ci.nsICacheService); > + cache.evictEntries(SpecialPowers.Ci.nsICache.STORE_ANYWHERE); This doesn't work with the new cache. You should call clear() method on nsICacheStorageService.
Attachment #751490 - Flags: review?(michal.novotny) → feedback+
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3
Looks like this test still fails intermittently on non-Android. Any chance you could finish this off, Michal? Looks like Martijn was heading in the right direction?
Flags: needinfo?(michal.novotny)
I'll have a look at it.
Assignee: martijn.martijn → michal.novotny
Flags: needinfo?(michal.novotny)
Component: DOM → DOM: Core & HTML

Unassigning Michal to move bugs back to triage pool.

Assignee: michal.novotny → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: