Closed Bug 1461890 Opened 6 years ago Closed 3 years ago

dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html permafails with promise-to-nsISupports conversions turned off

Categories

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

defect

Tracking

()

RESOLVED INVALID

People

(Reporter: bzbarsky, Assigned: gbrown)

References

Details

See bug 1352644 comment 8.

The test needs to be run as:

  mach mochitest --disable-e10s dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway_inproc.html

but with that it reproduces the failure quite reliably on Linux.
https://searchfox.org/mozilla-central/source/dom/presentation/tests/mochitest/test_presentation_1ua_connection_wentaway.js does:

    var obs = SpecialPowers.Cc["@mozilla.org/observer-service;1"]
                           .getService(SpecialPowers.Ci.nsIObserverService);
    obs.notifyObservers(promise, 'setup-request-promise');

which attempts to pass a promise through nsISupports (as the observer message subject) first in the JS to C++ direction to the observer service and then in the C++ to JS direction going to observers.

There are other tests in this dir doing similar stuff.
Flags: needinfo?(nika)
Hmm. I'm not sure how I missed this when running tests ^_^. Do you know if we run into this issue anywhere else outside of tests? Should I just fix the tests or back out the promise/isupports changes :-/.

TBH I kinda expected this sort of thing to just sorta work by making an nsXPCWrappedJS object wrapping the promise as an nsISupports, but I suppose the other side is getting a wrapped nsXPCWrappedJS, and needs to tunnel through to the inner object explicitly D:
Flags: needinfo?(nika)
> I'm not sure how I missed this when running tests

Did you run tests on the one single platform (32-bit Linux) where we run this test?  :(

> Do you know if we run into this issue anywhere else outside of tests?

I don't know, but I would guess not.

> Should I just fix the tests 

I think that would be simplest.
Component: DOM → DOM: Core & HTML

Test is no longer in tree.

Assignee: nobody → whole.grains
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.