Closed Bug 863608 Opened 11 years ago Closed 11 years ago

[B2G] Marionette error sending message to frame, frame opens/closes quickly

Categories

(Remote Protocol :: Marionette, defect)

Other
Gonk (Firefox OS)
defect
Not set
major

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: zcampbell, Assigned: jgriffin)

References

Details

Attachments

(1 file)

Attached file failure trace
test_dialer_airplane_mode.py is failing because marionette fails when a frame is closed.

The test switches on airplane mode and then attempts to make a call which should not occur. The dialer app start a call frame which it then kills because of dialer mode. Marionette dies at this point.

Because of the tricky sequence of steps the easiest way to replicate is to run the gaia-ui-tests test test_dialer_airplane_mode.py
Assignee: nobody → jgriffin
Does this happen with a default flash of mozilla-b2g18 unagi-eng, or with another gaia flashed on top of it?

With the default gaia in the build, it dies at:

    phone.keypad.call_number(test_phone_number)

and with a different error message.
On our Jenkins/CI both the default flash and the gaia flashed on top versions are failing on identical lines/messages.
I tested it again and the behavior is different today.  This is either because Gaia has changed, or possibly because I'm using a different sim card (last week I was using a Spanish Happy Movil simcard).

Today the behavior of Gaia is better:  there is no flickering of UI, you just get the error dialog as expected.  Because of this, the test needs to be updated.  It currently calls keypad.call_number() (https://github.com/mozilla/gaia-ui-tests/blob/master/gaiatest/apps/phone/regions/keypad.py#L36), which in turn calls keypad.tap_call_button() (https://github.com/mozilla/gaia-ui-tests/blob/master/gaiatest/apps/phone/regions/keypad.py#L40).

This creates a CallScreen object, and during __init__, this tries to switch_to_frame to the dialer's call screen:  https://github.com/mozilla/gaia-ui-tests/blob/master/gaiatest/apps/phone/regions/call_screen.py#L25

This call screen is never displayed at present, so the test eventually times out.

I believe the error that Zac originally reported was a symptom of this issue as well, except in that case, the call screen probably flickered briefly into existence, allowing that switch_to_frame() call to succeed.  Then, that frame was closed, and subsequent calls died with "Error sending message to frame (NS_ERROR_NOT_INITIALIZED) [object Object]; frame has closed."

So, I think Marionette is working as intended and this is just a case of a test needing to be updated.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
You must miss that SIM just for the name 'Happy Movil'!

I can see the same test failure on CI too. We'll update the test tomorrow and see how we go.
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: