Closed
Bug 721260
Opened 14 years ago
Closed 14 years ago
Uncaught exceptions in async script can break Marionette
Categories
(Remote Protocol :: Marionette, defect)
Remote Protocol
Marionette
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jgriffin, Unassigned)
Details
Marionette currently doesn't catch async exceptions which are raised in secondary script frames, and these exceptions cause Marionette to hang.
To reproduce, you can run a script like this:
self.marionette.set_context("chrome")
self.marionette.set_script_timeout(10000)
self.marionette.execute_async_script("""
setTimeout(function() {
foo();
marionetteScriptFinished(true);
}, 1000);
""")
To fix this we should:
1 - update the marionette client with timeout handling, so that it will timeout after X seconds if it doesn't receive a response from the server; ideally X would be the same as the script timeout
2 - potentially override window.onerror while scripts are executing, so we can catch and deal with these exceptions without bad things happening
| Reporter | ||
Comment 1•14 years ago
|
||
See bug 718205 also
Comment 2•14 years ago
|
||
Fixed now, but content errors don't print out a stack trace or any useful error right now. Opened Bug 722596 to address this.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Updated•3 years ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•