Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SauceLabs iOS 11.3 and 12: "message": "An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred" #119

Closed
janpio opened this issue Apr 5, 2019 · 3 comments
Labels

Comments

@janpio
Copy link
Member

janpio commented Apr 5, 2019

When adding iOS 11.3 and 12 to the CI/SauceLabs setup, https://github.com/apache/cordova-paramedic/pull/118/files, the builds/tests fail:
https://travis-ci.org/apache/cordova-paramedic/builds/516361578

The 2 relevant failures are:
https://travis-ci.org/apache/cordova-paramedic/jobs/516361585
https://travis-ci.org/apache/cordova-paramedic/jobs/516361586

When looking at the output at Travis, you see this:

...
cordova-paramedic: waiting for test results
appium: Error: [execute(null,[])] Error response status: 13, , UnknownError - An unknown server-side error occurred while processing the command. Selenium error: An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred
cordova-paramedic: Tests failed to complete; ending appium session. The error is:
Error: waitForTests: Seems like device not connected to local server in 540 secs
    at Timeout._onTimeout (/Users/travis/build/apache/cordova-paramedic/lib/paramedic.js:368:24)
    at ontimeout (timers.js:386:11)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5)
From previous event:
    at ParamedicSauceLabs.runSauceTests (/Users/travis/build/apache/cordova-paramedic/lib/ParamedicSauceLabs.js:440:6)
    at ParamedicRunner.runTests (/Users/travis/build/apache/cordova-paramedic/lib/paramedic.js:338:40)
    at /Users/travis/build/apache/cordova-paramedic/lib/paramedic.js:95:21
Start running Appium tests...
Running Appium tests on Sauce Labs
Couldn't find Appium tests, skipping...
Completed tests at 8:32:46 PM
...

If you open the SauceLabs test run (URL at the end of the Travis output), you see that the tests actually run as expected, but only the transferring of the result then fails:

https://app.saucelabs.com/tests/32cb9379e1014dcda8555ebf3bfbe46f

  {
    "screenshot": 1,
    "between_commands": 0.24466705322265625,
    "start_time": 1554495831.065799,
    "suggestion_values": [],
    "request": {
      "args": [],
      "script": "return (function () {\n        if (typeof window._jasmineParamedicProxyCache === 'undefined') {\n            // wrong window\n            return null;\n        }\n        // get the results and clean up the cache\n        var result = window._jasmineParamedicProxyCache;\n        window._jasmineParamedicProxyCache = [];\n        return result;\n    }).apply(null, arguments);"
    },
    "HTTPStatus": 500,
    "result": {
      "message": "An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred"
    },
    "suggestion": null,
    "duration": 0.08858108520507812,
    "path": "execute",
    "in_video_timeline": 69.76390409469604,
    "method": "POST",
    "statusCode": 13
  },

After this, our script goes into an endless loop of trying to close a modal that is not there and then repeating this failing step.

@janpio janpio added the bug label Apr 5, 2019
@janpio janpio changed the title SauceLabs: "message": "An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred" SauceLabs iOS 10.3 and 11: "message": "An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred" Apr 5, 2019
@janpio janpio changed the title SauceLabs iOS 10.3 and 11: "message": "An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred" SauceLabs iOS 11.3 and 12: "message": "An unknown server-side error occurred while processing the command. Original error: Recursive object cannot be transferred" Apr 5, 2019
@timbru31
Copy link
Member

To shed some light into this issue here:

Why does it happen?

Screen Shot 2019-04-11 at 00 49 55


TL;DR: We need to update the polling algorithm in order to be W3C compliant.
sidenote: only assumptions, I might have looked at the wrong places, too

@janpio
Copy link
Member Author

janpio commented Apr 11, 2019

No, that looks right - that code is definitely the one throwing that response. Whatever object this returns seems to be considered as "recursive object" - which unfortunately is where I got totally lost and don't understand what is causing this and what is going on.

@janpio
Copy link
Member Author

janpio commented Apr 12, 2019

Probably solved via f5e4b24

@janpio janpio closed this as completed Apr 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants