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

RESOLVED INVALID

Status

Testing
Marionette
--
major
RESOLVED INVALID
5 years ago
5 years ago

People

(Reporter: zac, Assigned: jgriffin)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
Created attachment 739454 [details]
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)

Updated

5 years ago
Assignee: nobody → jgriffin
(Assignee)

Comment 1

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

Comment 2

5 years ago
On our Jenkins/CI both the default flash and the gaia flashed on top versions are failing on identical lines/messages.
Blocks: 801898
(Assignee)

Comment 3

5 years ago
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
Last Resolved: 5 years ago
Resolution: --- → INVALID
(Reporter)

Comment 4

5 years ago
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.
You need to log in before you can comment on or make changes to this bug.