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

Error message in pipeline: page crash from unknown error: cannot determine loading status from tab crashed #377

Open
D020844 opened this issue Dec 6, 2022 · 10 comments

Comments

@D020844
Copy link

D020844 commented Dec 6, 2022

Since Friday last week we get the following UIVeri5 errors in different pipelines without changing any UIVeri5 settings:
Exmple: https://spg.jaas-gcp.cloud.sap.corp/job/SPG/job/scenario-tests/job/main/Scenario-MR-RR-Prod/

Error stack: WebDriverError: unknown error: session deleted because of page crash from unknown error: cannot determine loading status from tab crashed (Session info: chrome=108.0.5359.71) Build info: version: '4.7.0', revision: '52e3a49ea2' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.10.127+', java.version: '11.0.17' Driver info: driver.version: unknown at Object.checkLegacyResponse (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/selenium-webdriver/lib/error.js:546:15) at parseHttpResponse (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/selenium-webdriver/lib/http.js:509:13) at /home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/selenium-webdriver/lib/http.js:441:30 at processTicksAndRejections (node:internal/process/task_queues:95:5) From: Task: WebDriver.executeScript() at WebDriver.schedule (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/selenium-webdriver/lib/webdriver.js:807:17) at WebDriver.executeAsyncScript (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/selenium-webdriver/lib/webdriver.js:891:17) at run (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/protractor/built/browser.js:59:33) at ProtractorBrowser.to. [as executeAsyncScript] (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/protractor/built/browser.js:67:16) at ProtractorBrowser.executeAsyncScriptLogErrors [as executeAsyncScriptHandleErrors] (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/src/uiveri5.js:309:24) at ProtractorBrowser.browser.loadUI5Dependencies (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/src/uiveri5.js:351:24) at ProtractorBrowser.browser.loadUI5Dependencies (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/src/uiveri5.js:345:24) at Object.to (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/src/uiveri5.js:549:19) at /home/node/.npm-global/lib/node_modules/@ui5/uiveri5/src/uiveri5.js:425:43 at TaskQueue.execute (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/selenium-webdriver/lib/promise.js:3084:14) From: Task: at Object.suiteStarted (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/src/uiveri5.js:395:33) at dispatch (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:4366:28) at ReportDispatcher.suiteStarted (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:4337:11) at nodeStart (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:947:20) at UserContext.fn (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:5323:13) at attempt (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:4297:26) at QueueRunner.run (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:4217:20) at QueueRunner.execute (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:4199:10) at queueRunnerFactory (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:909:35) at TreeProcessor.execute (/home/node/.npm-global/lib/node_modules/@ui5/uiveri5/node_modules/jasmine-core/lib/jasmine-core/jasmine.js:5187:7)

UI5 version is: @ui5/uiveri5 v1.47.9
Chrome version: chrome=108.0.5359.71
Chrome driver version:108.0.5359.71

When I execute the tests locally the problem does not occur.

Can anybody tell me why this error occurs?
Thank you.

@D020844 D020844 changed the title Error message in pipeline: page crash from unknown error: cannot determine loading status from tab crashed (Session info: chrome=108.0.5359.71) Error message in pipeline: page crash from unknown error: cannot determine loading status from tab crashed Dec 6, 2022
@hmanchev
Copy link
Contributor

hmanchev commented Dec 6, 2022

Hi, the error described your is common when the executor lack of memory. This is the reason you have successful execution locally - your local machine have enough memory and the execution is fine.

Such cases are common for example when you update browser/driver and/or application/test script.

Please increase the memory of the executor in Jenkins and the issue will be resolved.

Best Regards,
Hristo

@D020844
Copy link
Author

D020844 commented Dec 8, 2022

Hi Hristo,
thank you for your analysis.
Meanwhile we got the hint that the root cause of this problem was the newest docker version
https://hub.docker.com/r/selenium/standalone-chrome.
We could fix the problem by reverting to an older version in the call of the UIVeri5 tests:
uiVeri5ExecuteTests:
....
sidecarImage: "selenium/standalone-chrome:107.0",

Therefore I close this ticket.

@D020844 D020844 closed this as completed Dec 8, 2022
@maximnaidenov
Copy link
Contributor

@D020844 You need to address the rootcause of the problem, you can't stay on old chrome forever. The chrome browser. updates 4 times a year and all users will receive this update.

@hmanchev hmanchev reopened this Dec 8, 2022
@hmanchev
Copy link
Contributor

hmanchev commented Dec 8, 2022

I agree with Maxim, you should address the rootcause. Switching back to old browser version is temporary solution. Please try with some more resources on your executor.

@D020844
Copy link
Author

D020844 commented Dec 16, 2022

Hi Hristo,
we asked the JaaS Team to increase the memory according to the memory on my PC.
The answer we got is:
"right now k8s pods has 1cpu and 2gb ram increasing it to 32gb impossible. I'll highly recommend you reconfigure your code."
To fix this issue: is it correct to increase the k8s pods? How much should they be increased?

The problem does not exist when starting the tests locally only in the pipeline and it occurred with the new docker version.
Best regards,
Rainer

@hmanchev
Copy link
Contributor

hmanchev commented Jan 3, 2023

Hello Rainer,

Of course it is impossible to have pods with 32GB to execute integration test. I would recommend asking for 4GB per pod and try whether this much memory is sufficient. If not, increase with 1GB till you reach stable execution.

It is not necessary to have pod as powerful as your development machine. Just need the minimum resources enough to run stable execution.

Best Regards,
Hristo

@D020844
Copy link
Author

D020844 commented Jan 10, 2023

@D020844
Copy link
Author

D020844 commented Jan 12, 2023

Hello Hristo,

together with the JaaS colleagues we tested increasing the initial bootstrapping RAM from 2 GB up to 8GB and increasing the maximum from 15 GB to 30 GB. You find more details in the attached ticket.

After each step we ran the UIVeri5 tests with almost the same results:
In the first scenario about 10 steps are executed successfully the others fail with "element not found". The following scenarios failed after log on with "session deleted because of page crash" and then with "invalid session id".

Locally there are no problems executing the tests with the current Chrome Browser 109.0.5414.75.
(Maximum Memory Consumption of Chrome I saw in the task manager was 609 MB).
In the pipeline we can still avoid the problems by setting sidecarImage: "selenium/standalone-chrome:107.0".

Is there anything else we could change?

Best regards,
Rainer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants