Open
Bug 1454265
Opened 7 years ago
Updated 2 years ago
OS.File.writeAtomic fails to perform write operation on mochitest-plain on linux64-jsdcov
Categories
(Testing :: Code Coverage, enhancement)
Testing
Code Coverage
Tracking
(Not tracked)
NEW
People
(Reporter: sparky, Unassigned)
References
(Blocks 1 open bug)
Details
Recently, e10s mode was enabled on all linux64-jsdcov test suites (bug 1451849). However, on mochitest-plain, OS.File.writeAtomic is failing to perform the write operation even though we have collected code coverage. This does not occur in the other mochitest sub-suite we run, browser-chrome.
Reporter | ||
Comment 1•7 years ago
|
||
Hi :milindl, I see that some changes were recently made by you here at [1] for 'NativeOSFileInternals.cpp'.
I am wondering if you would be able to help us with this issue? There are no error logs available unfortunately - OS.File.writeAtomic simply fails without warnings/errors.
If needed, jsdcov can be run locally with a mochitest-plain test with |mach test <PATH/TO/PLAIN/TEST> --jscov-dir-prefix <OUTPUT/DIR>|
[1]: https://dxr.mozilla.org/mozilla-central/source/toolkit/components/osfile/NativeOSFileInternals.cpp#972
Flags: needinfo?(i.milind.luthra)
Reporter | ||
Comment 2•7 years ago
|
||
Just to be clear, this is where we are failing: https://dxr.mozilla.org/mozilla-central/source/testing/modules/CoverageUtils.jsm#204
Reporter | ||
Comment 3•7 years ago
|
||
Hi :yoric, we are having some problems with OS.File.writeAtomic and I am wondering if you would be able to help with this or if you would know someone that could?
This was the last bug to have changed the file: https://bugzilla.mozilla.org/show_bug.cgi?id=1063635
Flags: needinfo?(i.milind.luthra) → needinfo?(dteller)
What calls this method in mochitest-plain? The simplest suspect at this stage would be a caller that forgets to wait for the promise to be resolved.
Flags: needinfo?(dteller) → needinfo?(gmierz2)
Reporter | ||
Comment 5•7 years ago
|
||
:yoric, sorry my late reply and thank you for your quick reply! :)
Here is where we are failing: https://dxr.mozilla.org/mozilla-central/source/testing/modules/CoverageUtils.jsm#204
It's the same spot in both mochitest-plain and mochitest-browser-chrome, but plain fails whereas bc passes. I'll try playing with the promises and see if it helps. (IIRC I tried this and it didn't help but it may be worth another shot).
Flags: needinfo?(gmierz2) → needinfo?(dteller)
I meant to ask: "what calls the method `CoverageCollector.prototype.recordTestCoverage`"?
Flags: needinfo?(dteller) → needinfo?(gmierz2)
Reporter | ||
Comment 7•7 years ago
|
||
For browser-chrome, it is called here: https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/browser-test.js#675
For mochitest-plain, it is called here: https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/tests/SimpleTest/TestRunner.js#529
Flags: needinfo?(gmierz2) → needinfo?(dteller)
Both of them forget to wait on the Promise, so they look like very possible culprits. Even if they're not, that's two bugs that need to be fixed :)
Flags: needinfo?(dteller) → needinfo?(gmierz2)
Reporter | ||
Comment 9•7 years ago
|
||
Excellent, I'll fix those and see how it goes. Thanks :yoric :)
Flags: needinfo?(gmierz2)
Reporter | ||
Comment 10•6 years ago
|
||
The linux64-jsdcov build has been disabled, and no longer runs in taskcluster, see bug 1496791.
Although the tooling to get this data still exists so this is still a large problem with relation to mochitest-plain tests so I am leaving this open.
See Also: → 1496791
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•