Closed Bug 910235 Opened 11 years ago Closed 7 years ago

Geolocation mochitests not working on b2g emulator - Error: no message manager set when calling method: [nsIObserver::observe]

Categories

(Core :: DOM: Geolocation, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: martijn.martijn, Unassigned)

Details

All the geolocation tests are currently disabled on b2g mochitest.

When I try to run one of them, I get this error message:
************************************************************
* Call to xpconnect wrapped JSObject produced this error:  *
[Exception... "'Error: no message manager set' when calling method: [nsIObserver::observe]"  nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)"  location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0"  data: no]
************************************************************
[Parent 286] WARNING: waitpid failed pid:323 errno:10: file /home/mwargers/B2G/gecko/ipc/chromium/src/base/process_util_posix.cc, line 260

while running something like this:
  navigator.geolocation.getCurrentPosition(function() {});

No idea why this is happening, but I think there is something wrong with the mochitest app.
Ok, I think this is a ipc related issue, after all. Doug, perhaps you know what's going wrong here?
Component: Mochitest → Geolocation
Product: Testing → Core
The waitpid failing suggests that we're not launching able to launch a content process.
I see this on hamachi, over and over again (and the homescreen doesn't load):

[Parent 961] WARNING: pipe error (83): Connection reset by peer: file /home/mikeh/dev/mozilla/m-c/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 437
[Parent 961] WARNING: pipe error (110): Connection reset by peer: file /home/mikeh/dev/mozilla/m-c/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 437
[Parent 961] WARNING: pipe error (111): Connection reset by peer: file /home/mikeh/dev/mozilla/m-c/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 437
[Parent 961] WARNING: NS_ENSURE_TRUE(mOwnerContent) failed: file /home/mikeh/dev/mozilla/m-c/src/content/base/src/nsFrameLoader.cpp, line 2385
************************************************************
* Call to xpconnect wrapped JSObject produced this error:  *
[Exception... "'Error: no message manager set' when calling method: [nsIObserver::observe]"  nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)"  location: "native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0"  data: no]
************************************************************
[Parent 961] WARNING: Unable to use pre-allocated app process: file /home/mikeh/dev/mozilla/m-c/src/dom/ipc/ContentParent.cpp, line 574
[Parent 961] WARNING: Unable to printf the requested string due to error.: file /home/mikeh/dev/mozilla/m-c/src/ipc/chromium/src/base/string_util.cc, line 921
[Parent 961] WARNING: Unable to printf the requested string due to error.: file /home/mikeh/dev/mozilla/m-c/src/ipc/chromium/src/base/string_util.cc, line 921
[Parent 961] WARNING: Unable to printf the requested string due to error.: file /home/mikeh/dev/mozilla/m-c/src/ipc/chromium/src/base/string_util.cc, line 921
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141
WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /home/mikeh/dev/mozilla/m-c/src/xpcom/base/nsTraceRefcntImpl.cpp, line 141

Running:
- gecko: m-c:7ff96bd19c1c
- gaia: master:c76461cd809b2c6e17dfd7ee45daaeff41b0139d
David, you told me last week something about geolocation mochitests were not meant to work or something like that? (instead the geolocation tests in Marionette were used)
So the history of this was that in order to have the geolocation tests to have any meaning, while running 
on the emulator they would need to use the geolocation test interface. 

mozilla-central/testing/marionette/client/marionette/emulator_geo.py
(https://bugzilla.mozilla.org/show_bug.cgi?id=797513)

I believe i had started with this api. 

The controversy at the time was weather to use mochitest or marionette to accomplish the automation goal. 

The prevailing thought was to use marionette, which led to: dom/system/gonk/tests/marionette
/test_geolocation.js, and a host of other marionette tests coming about.

Now given that we have the concept of everything hardware based going through marionette: battery, sms, txt, mobile...etc.etc does it make sense to break that paradigm for the sake of geolocation tests. 

In order to test geolocation, i believe you will need to be able to agitate the geolocation command api. Geolocation on desktop vs mobile take different code paths. By testing the same code path as on desktop i believe you won't really get much value.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Status: REOPENED → RESOLVED
Closed: 7 years ago7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.