Closed Bug 1179685 Opened 9 years ago Closed 9 years ago

Assert/Crash running "postmessage-msgport-to-client.https.html" wpt service worker test in Nightly

Categories

(Core :: DOM: Service Workers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla42
Tracking Status
firefox42 --- fixed

People

(Reporter: noemi, Assigned: catalinb)

References

Details

Attachments

(3 files, 1 obsolete file)

A Nightly crash occurs when executing "postmessage-msgport-to-client.https.html" wpt test such as |./mach web-platform-tests _mozilla/service-workers/service-worker/postmessage-msgport-to-client.https.html| with 7/1 master build

The assertion failure shown is as follows:
""Assertion failure: aClosure, at /Users/noef/Documents/mozilla-central/dom/workers/WorkerPrivate.cpp:693""

Please find attached the crash report corresponding to this
What is happening here is that we call mBuffer.read() here <https://dxr.allizom.org/mozilla-central/source/dom/workers/ServiceWorkerClient.cpp#130> passing nullptr as the closure argument (it is a default argument that we are passing in explicitly here) and in WorkerStructuredCloneCallbacks::ReadTransfer() <https://dxr.allizom.org/mozilla-central/source/dom/workers/WorkerPrivate.cpp#693> we MOZ_ASSERT(aClosure).  In non-debug builds, if we end up with a SCTAG_DOM_MAP_MESSAGEPORT tag, we will crash.

Catalin, is this expected?  It seems like passing a null closure to this function is a mistake.
Flags: needinfo?(catalin.badea392)
(In reply to Ehsan Akhgari (not reviewing patches, not reading bugmail, needinfo? me!) from comment #1)
> What is happening here is that we call mBuffer.read() here
> <https://dxr.allizom.org/mozilla-central/source/dom/workers/
> ServiceWorkerClient.cpp#130> passing nullptr as the closure argument (it is
> a default argument that we are passing in explicitly here) and in
> WorkerStructuredCloneCallbacks::ReadTransfer()
> <https://dxr.allizom.org/mozilla-central/source/dom/workers/WorkerPrivate.
> cpp#693> we MOZ_ASSERT(aClosure).  In non-debug builds, if we end up with a
> SCTAG_DOM_MAP_MESSAGEPORT tag, we will crash.
> 
> Catalin, is this expected?  It seems like passing a null closure to this
> function is a mistake.

No, that's a bug. I've uploaded a patch that fixes the issue.
Flags: needinfo?(catalin.badea392)
Attachment #8630223 - Flags: review?(amarchesini) → review+
Attachment #8630223 - Flags: checkin+
Assignee: nobody → catalin.badea392
Flags: needinfo?(catalin.badea392)
Attachment #8631157 - Flags: review?(ehsan)
Comment on attachment 8631157 [details] [diff] [review]
Change service worker postmsg-msgport-to-client wpt test expectation to PASS.

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

Hmm, usually when the test expectation file indicates that it passes everywhere, you can remove the ini file completely.  So please do that if the test passes with that!
Attachment #8631157 - Flags: review?(ehsan) → review+
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/bbf6fa4325a4
https://hg.mozilla.org/mozilla-central/rev/34b09aa0ec63
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Hi,

just checked on m-c Nightly Debug (72835344333f revision), and the test is successfully executed. Thanks!

*Harness status: OK
*Found 1 tests
*1 Pass
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: