Closed Bug 1448733 Opened 6 years ago Closed 6 years ago

Intermittent testing\marionette\harness\marionette_harness\tests\unit\test_window_rect.py TestSize.test_resize_larger_than_screen | IOError: Process killed because the connection to Marionette server is lost. Check gecko.log for errors (Reason: Connection

Categories

(Testing :: Marionette Client and Harness, defect, P5)

Version 3
defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: intermittent-failure)

The `setWindowSize` command never returned:

> 00:55:38     INFO -  1522025738002	Marionette	TRACE	97 -> [0,9,"setWindowSize",{"width":2732,"height":1536}]
[..]
> 01:01:38     INFO -  1522026098025	Marionette	DEBUG	Closed connection 97
> 01:03:39    ERROR -  TEST-UNEXPECTED-ERROR | testing\marionette\harness\marionette_harness\tests\unit\test_window_rect.py TestSize.test_resize_larger_than_screen | IOError: Process killed because the connection to Marionette server is lost. Check gecko.log for errors (Reason: Connection timed out after 360.0s)

Andreas, maybe this is another instance where we might want to use a timed promise? As we know the events are a bit unreliable, especially on Linux (this one is Windows) and if nothing happened after a while we might want to abort?
Flags: needinfo?(ato)
Possibly, but it probably need to be in combination with an assertion
that the window size changed.  We don’t want to just return silently
if for whatever reason it hangs.

Window manipulation is hard to get right with the primitives available
to us in XPCOM because the interfaces are not synchronous.  But do
you have any indication how often this happens?
Flags: needinfo?(ato) → needinfo?(hskupin)
Given that this was only tagged once yet, I don't think that this is happening that often right now. But using a plain Promise and wait for an expected event can cause us to hang everywhere this construct is used (maybe bug 1447449 is also related).

I don't propose that we return silently, but our TimedPromise raises an error in case of timeouts, right? But not sure how this would apply to the webdriver spec, and if we would violate it that way.
Flags: needinfo?(hskupin)
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
Product: Testing → Remote Protocol
Moving bug to Testing::Marionette Client and Harness component per bug 1815831.
Component: Marionette → Marionette Client and Harness
Product: Remote Protocol → Testing
You need to log in before you can comment on or make changes to this bug.