Intermittent TEST-UNEXPECTED-FAIL | test_conference.js | ScriptTimeoutException: timed out

RESOLVED FIXED in Firefox 28, Firefox OS v1.3

Status

Testing
Marionette
RESOLVED FIXED
4 years ago
3 years ago

People

(Reporter: Tomcat, Assigned: hsinyi)

Tracking

({intermittent-failure})

Trunk
mozilla30
x86
Linux
intermittent-failure
Points:
---
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(firefox28 fixed, firefox29 fixed, firefox30 fixed, firefox-esr24 unaffected, b2g-v1.2 unaffected, b2g-v1.3 fixed, b2g-v1.4 fixed)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

4 years ago
b2g_emulator_vm b2g-inbound opt test marionette-webapi on 2013-11-25 18:15:16 PST for push 353d97cdf854

slave: tst-linux64-ec2-375

https://tbpl.mozilla.org/php/getParsedLog.php?id=31070474&tree=B2g-Inbound


raise ScriptTimeoutException(message=message, status=status, stacktrace=stacktrace)
TEST-UNEXPECTED-FAIL | test_conference.js | ScriptTimeoutException: timed out
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(Assignee)

Comment 9

4 years ago
There's a flaw in test_conference.js. 

When there's already a connected conference call, answering a new incoming call triggers conference state change. We should wait for |conference.onstatechange| before checking the state of the conference call. However, the current code doesn't do that.
(Assignee)

Comment 10

4 years ago
Created attachment 8367759 [details] [diff] [review]
patch v1 - wait for conference.statechange event before checking it's state
(Assignee)

Comment 11

4 years ago
Comment on attachment 8367759 [details] [diff] [review]
patch v1 - wait for conference.statechange event before checking it's state

There's a flaw in test_conference.js. 

When there's already a connected conference call, answering a new incoming call triggers conference state change. We should wait for |conference.onstatechange| before checking the state of the conference call. However, the current code doesn't do that.

Hi Aknow, may I have your review on this? Thanks.
Attachment #8367759 - Flags: review?(szchen)
Comment on attachment 8367759 [details] [diff] [review]
patch v1 - wait for conference.statechange event before checking it's state

Review of attachment 8367759 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/telephony/test/marionette/test_conference.js
@@ +132,5 @@
> +  };
> +  let receive = function(name) {
> +    receivedPending(name, pending, done);
> +  };
> +  let pending = ["call.onconnecting", "call.onconnected"];

In other functions, we usually put 'pending' part above 'receive' part.

@@ +151,5 @@
>    call.onconnecting = function onconnectingIn(event) {
>      log("Received 'connecting' call event for incoming call.");
>      call.onconnecting = null;
>      checkEventCallState(event, call, "connecting");
> +    receive("call.onconnecting");

In my opinion, the items in 'pending' should be parallel. But for 'connecting' and 'connected', there is a strong order. Maybe we could remove "call.onconnecting".
Attachment #8367759 - Flags: review?(szchen) → review+
(Assignee)

Comment 13

4 years ago
(In reply to Szu-Yu Chen [:aknow] from comment #12)
> Comment on attachment 8367759 [details] [diff] [review]
> patch v1 - wait for conference.statechange event before checking it's state
> 
> Review of attachment 8367759 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: dom/telephony/test/marionette/test_conference.js
> @@ +132,5 @@
> > +  };
> > +  let receive = function(name) {
> > +    receivedPending(name, pending, done);
> > +  };
> > +  let pending = ["call.onconnecting", "call.onconnected"];
> 
> In other functions, we usually put 'pending' part above 'receive' part.
> 
> @@ +151,5 @@
> >    call.onconnecting = function onconnectingIn(event) {
> >      log("Received 'connecting' call event for incoming call.");
> >      call.onconnecting = null;
> >      checkEventCallState(event, call, "connecting");
> > +    receive("call.onconnecting");
> 
> In my opinion, the items in 'pending' should be parallel. But for
> 'connecting' and 'connected', there is a strong order. Maybe we could remove
> "call.onconnecting".

Thanks for the review.
I'll address the comments in the final version, thank you~
(Assignee)

Comment 14

4 years ago
https://tbpl.mozilla.org/?tree=Try&rev=62a9af3cbc4f try green. Ready to push.
(Assignee)

Comment 15

4 years ago
https://hg.mozilla.org/integration/b2g-inbound/rev/ef68842735e8
(Assignee)

Updated

4 years ago
Duplicate of this bug: 966119
Comment hidden (Treeherder Robot)
(Reporter)

Comment 18

4 years ago
https://hg.mozilla.org/mozilla-central/rev/ef68842735e8
Assignee: nobody → htsai
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
https://hg.mozilla.org/releases/mozilla-aurora/rev/4eddc2978e86
https://hg.mozilla.org/releases/mozilla-beta/rev/8d553f0b4a8b
status-b2g-v1.2: --- → unaffected
status-b2g-v1.3: --- → affected
status-b2g-v1.4: --- → fixed
status-firefox28: --- → fixed
status-firefox29: --- → fixed
status-firefox30: --- → fixed
status-firefox-esr24: --- → unaffected
https://hg.mozilla.org/releases/mozilla-b2g28_v1_3/rev/8d553f0b4a8b
Flags: in-testsuite+
status-b2g-v1.3: affected → fixed
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
You need to log in before you can comment on or make changes to this bug.