mozilla / geckodriver

WebDriver for Firefox
https://firefox-source-docs.mozilla.org/testing/geckodriver/
Mozilla Public License 2.0
7.11k stars 1.52k forks source link

WebDriverException: InternalError: too much recursion on an attempt to return a recursive structure #914

Open barancev opened 7 years ago

barancev commented 7 years ago

System

Testcase

A followup to #328.

driver.executeScript("var obj1 = {}; var obj2 = {}; obj1['obj2'] = obj2; obj2['obj1'] = obj1; return obj1;");

According to JSON clone algorythm [1], there should be "javascript error" ("If value is in seen, return error with error code javascript error.")

But geckodriver returns "unknown error":

1504186638869   Marionette  TRACE   0 -> [0,3,"executeScript",{"args":[],"newSandbox":false,"script":"var obj1 = {}; var obj2 = {}; obj1['obj2'] = obj2; obj2['obj1'] = obj1; return obj1;","scriptTimeout":null,"specialPowers":false}]
1504186639109   Marionette  TRACE   0 <- [1,3,{"error":"unknown error","message":"InternalError: too much recursion","stacktrace":""},null]

[1] https://w3c.github.io/webdriver/webdriver-spec.html#dfn-internal-json-clone-algorithm

AutomatedTester commented 7 years ago

Raised https://bugzilla.mozilla.org/show_bug.cgi?id=1398094

andreastt commented 6 years ago

This will be fixed as part of https://bugzilla.mozilla.org/show_bug.cgi?id=1106913.