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

RESOLVED INCOMPLETE

Status

()

Core
Geolocation
RESOLVED INCOMPLETE
5 years ago
9 months ago

People

(Reporter: Martijn Wargers (zombie), Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
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.
(Reporter)

Comment 1

5 years ago
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

Comment 2

5 years ago
That error message looks like it comes from http://mxr.mozilla.org/mozilla-central/source/b2g/components/Keyboard.jsm#33.

Comment 3

5 years ago
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
(Reporter)

Comment 5

5 years ago
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.
(Reporter)

Updated

a year ago
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → WORKSFORME
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Status: REOPENED → RESOLVED
Last Resolved: a year ago9 months ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.