Closed Bug 1183959 Opened 5 years ago Closed 4 years ago

Intermittent e10s test_file_os_delete.html | OS files deleted - got 200000, expected +0

Categories

(Core :: Storage: IndexedDB, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
Tracking Status
e10s + ---
firefox42 --- affected

People

(Reporter: RyanVM, Assigned: janv)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

17:27:46 INFO - 1285 INFO TEST-START | dom/indexedDB/test/test_file_os_delete.html
17:27:47 INFO - Xlib: extension "RANDR" missing on display ":0".
17:27:49 INFO - TEST-INFO | screentopng: exit 0
17:27:49 INFO - 1286 INFO Running
17:27:49 INFO - 1287 INFO Pushing preferences
17:27:49 INFO - 1288 INFO Pushing permissions
17:27:49 INFO - 1289 INFO Clearing old databases
17:27:49 INFO - 1290 INFO TEST-FAIL | dom/indexedDB/test/test_file_os_delete.html | Skipping test in a worker because it's not structured properly
17:27:49 INFO - 1291 INFO Running test in main thread
17:27:49 INFO - 1292 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Correct byte length
17:27:49 INFO - 1293 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Correct byte length
17:27:49 INFO - 1294 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Got correct event type
17:27:49 INFO - 1295 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Got an error event
17:27:49 INFO - 1296 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Expected error was thrown.
17:27:49 INFO - 1297 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Got correct event type
17:27:49 INFO - 1298 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Correct file usage
17:27:49 INFO - 1299 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | Got correct event type
17:27:49 INFO - 1300 INFO TEST-PASS | dom/indexedDB/test/test_file_os_delete.html | OS files exists
17:27:49 INFO - 1301 INFO TEST-UNEXPECTED-FAIL | dom/indexedDB/test/test_file_os_delete.html | OS files deleted - got 200000, expected +0
17:27:49 INFO - MEMORY STAT | vsize 20972596MB | residentFast 1143MB
17:27:49 INFO - 1302 INFO TEST-OK | dom/indexedDB/test/test_file_os_delete.html | took 1262ms
Keywords: leave-open
Summary: Intermittent test_file_os_delete.html | OS files deleted - got 200000, expected +0 → Intermittent e10s test_file_os_delete.html | OS files deleted - got 200000, expected +0
Whiteboard: [test disabled on e10s]
Blocks: e10s-tests
tracking-e10s: --- → +
I looked into why this test is failing intermittently. Near the end of this test, it calls flushPendingFileDeletions(), then gets some usage info, and checks if the value there has changed. The flush call ends up in IndexedDatabaseManager::FlushPendingFileDeletions(), which sends an async message to the parent, which then dispatches a bunch of runnables onto a background thread, which I assume does the actual deletion. That all seems pretty prone to races. That's just a guess, though, maybe there are strong ordering guarantees that preclude that.
Yeah it's a race. The problem is that the flush request is sent through PContent (main thread) and get usage through PBackground (background thread). The flush and get usage both end up on background thread and then on quota manager I/O thread, but the flush can run after the get usage because PContent/main thread can be slow.
I think the flush should use PBackground too and that should fix this bug. I have a patch for that which is currently on try.
Attached patch patchSplinter Review
Assignee: nobody → jvarga
Status: NEW → ASSIGNED
Attachment #8714760 - Flags: review?(khuey)
Your patch doesn't reenable the test on e10s.
(In reply to Andrew McCreight [:mccr8] from comment #97)
> Your patch doesn't reenable the test on e10s.

hm, are you sure ?

-skip-if = e10s || (buildapp == 'b2g' && toolkit != 'gonk') # Bug 931116, Bug 1183959 for e10s
+skip-if = (buildapp == 'b2g' && toolkit != 'gonk') # Bug 931116
(In reply to Jan Varga [:janv] from comment #98)
> hm, are you sure ?

Oh, sorry, I misread the patch!
Test has been re-enabled on e10s, without any failures in the last week.
Blocks: 1218958
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Keywords: leave-open
Resolution: --- → FIXED
Whiteboard: [test disabled on e10s]
You need to log in before you can comment on or make changes to this bug.