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

NEW
Assigned to

Status

()

defect
P3
normal
6 years ago
4 months ago

People

(Reporter: philor, Assigned: michal)

Tracking

({intermittent-failure})

Trunk
ARM
Android
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [test disabled on Android][leave open])

Attachments

(2 attachments)

Reporter

Description

6 years ago
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
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Honza, as test author do you have any ideas about this top10 intermittent failure? :-)
Flags: needinfo?(honzab.moz)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
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?
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 hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
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.
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
(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.
Comment hidden (Legacy TBPL/Treeherder Robot)
Disabled on Android for now.
https://hg.mozilla.org/integration/mozilla-inbound/rev/d6ee8d80627c
Whiteboard: [test disabled on Android][leave open]
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
(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.
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
(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
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
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)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Assignee

Comment 180

6 years ago
(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 hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
Comment hidden (Legacy TBPL/Treeherder Robot)
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
Assignee

Comment 187

5 years ago
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+

Comment 188

3 years ago
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)
Assignee

Comment 190

3 years ago
I'll have a look at it.
Assignee: martijn.martijn → michal.novotny
Flags: needinfo?(michal.novotny)
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.