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

[grid] detect a client timeout while session creation #14743 #14756

Merged
merged 1 commit into from
Nov 15, 2024

Conversation

joerg1985
Copy link
Member

@joerg1985 joerg1985 commented Nov 14, 2024

User description

Description

This PR will ensure a client timeout will not lead to a session waiting for the session timeout.
The timeout check has been removed from the complete method, to return the session as long as the client is still listening for the response.

Motivation and Context

Does fix #14743

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

PR Type

Bug fix, Tests


Description

  • Improved session handling by terminating invalid sessions to prevent stale sessions.
  • Enhanced session queue logic to cancel sessions that are not visible to the client.
  • Added a new test to ensure client timeouts do not result in browser session leaks.
  • Updated Bazel build configuration to include the new distributed test.

Changes walkthrough 📝

Relevant files
Bug fix
LocalDistributor.java
Improve session validation and termination logic                 

java/src/org/openqa/selenium/grid/distributor/local/LocalDistributor.java

  • Improved session validation by terminating invalid sessions.
  • Removed comments related to session timeout handling.
  • +1/-4     
    LocalNewSessionQueue.java
    Enhance session cancellation and completion logic               

    java/src/org/openqa/selenium/grid/sessionqueue/local/LocalNewSessionQueue.java

  • Added logic to cancel sessions that will not be seen by the client.
  • Refactored session completion logic to handle cancellations.
  • Updated comments to reflect changes in session validation.
  • +19/-22 
    Tests
    DistributedTest.java
    Add test for client timeout handling in distributed grid 

    java/test/org/openqa/selenium/grid/router/DistributedTest.java

  • Added a new test to verify client timeout handling.
  • Ensured no browser session leaks occur during client timeout.
  • +199/-0 
    Configuration changes
    BUILD.bazel
    Update Bazel build to include new distributed test             

    java/test/org/openqa/selenium/grid/router/BUILD.bazel

    • Included DistributedTest.java in the list of large tests.
    +1/-0     

    💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    Copy link
    Contributor

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
    🧪 PR contains tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Race Condition
    The session cancellation logic may have a race condition between checking if session is complete/canceled and setting the result. Consider using atomic operations or additional synchronization.

    Test Reliability
    The test relies on timing assumptions and thread sleeps which could make it flaky. Consider using more deterministic synchronization mechanisms.

    Copy link
    Contributor

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Possible issue
    Add timeout mechanism to prevent indefinite waiting for results

    Consider adding a timeout parameter to the getResult() method to prevent indefinite
    waiting and potential deadlocks.

    java/src/org/openqa/selenium/grid/sessionqueue/local/LocalNewSessionQueue.java [467-469]

    -public synchronized Either<SessionNotCreatedException, CreateSessionResponse> getResult() {
    +public synchronized Either<SessionNotCreatedException, CreateSessionResponse> getResult(Duration timeout) throws InterruptedException {
    +  if (!latch.await(timeout.toMillis(), TimeUnit.MILLISECONDS)) {
    +    throw new SessionNotCreatedException("Timeout waiting for session result");
    +  }
       return result;
     }
    • Apply this suggestion
    Suggestion importance[1-10]: 8

    Why: This is a significant improvement that would prevent potential deadlocks and system hangs by adding timeout control. Given that the PR focuses on session timeout handling, this enhancement aligns well with the overall changes.

    8
    Enhancement
    Improve thread safety and observability of session cancellation state

    Add synchronization to the cancel() method to ensure thread-safe access to the
    canceled flag, and consider adding a getter method to check the cancellation status.

    java/src/org/openqa/selenium/grid/sessionqueue/local/LocalNewSessionQueue.java [471-473]

     public synchronized void cancel() {
       canceled = true;
    +  latch.countDown(); // Release any waiting threads
     }
     
    +public synchronized boolean isCanceled() {
    +  return canceled;
    +}
    +
    • Apply this suggestion
    Suggestion importance[1-10]: 7

    Why: The suggestion improves thread safety by adding latch.countDown() to prevent waiting threads from hanging, and adds a useful isCanceled() method for state checking. These changes would help prevent potential deadlocks and improve code maintainability.

    7
    Maintainability
    Add logging to track session cancellation events

    Consider adding logging statements when a session is canceled to help with debugging
    and monitoring system behavior.

    java/src/org/openqa/selenium/grid/sessionqueue/local/LocalNewSessionQueue.java [471-473]

     public synchronized void cancel() {
       canceled = true;
    +  LOG.log(Level.INFO, "Session request has been canceled");
     }
    • Apply this suggestion
    Suggestion importance[1-10]: 4

    Why: While adding logging for session cancellation would improve debugging capabilities, it's a relatively minor enhancement that doesn't affect core functionality. The PR already includes similar logging patterns for other events.

    4

    💡 Need additional feedback ? start a PR chat

    Copy link
    Contributor

    qodo-merge-pro bot commented Nov 14, 2024

    CI Failure Feedback 🧐

    (Checks updated until commit 26a9f94)

    Action: Test / All RBE tests

    Failed stage: Run Bazel [❌]

    Failed test name: ""

    Failure summary:

    The action failed due to a timeout error during the Build Event Protocol upload process:

  • The error message indicates "DEADLINE_EXCEEDED" which suggests that the operation took longer than
    the allowed time limit.
  • All 4 retry attempts to upload the Build Event Protocol failed due to this timeout.
  • The specific error occurred while trying to connect to the remote address
    "gypsum.cluster.engflow.com".

  • Relevant error logs:
    1:  ##[group]Operating System
    2:  Ubuntu
    ...
    
    976:  Package 'php-symfony-debug-bundle' is not installed, so not removed
    977:  Package 'php-symfony-dependency-injection' is not installed, so not removed
    978:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
    979:  Package 'php-symfony-discord-notifier' is not installed, so not removed
    980:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
    981:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
    982:  Package 'php-symfony-dom-crawler' is not installed, so not removed
    983:  Package 'php-symfony-dotenv' is not installed, so not removed
    984:  Package 'php-symfony-error-handler' is not installed, so not removed
    ...
    
    1836:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_submit_test.html -> javascript/atoms/test/click_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1837:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/click_test.html -> javascript/atoms/test/click_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1838:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/clientrect_test.html -> javascript/atoms/test/clientrect_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1839:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/color_test.html -> javascript/atoms/test/color_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1840:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/dom_test.html -> javascript/atoms/test/dom_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1841:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/drag_test.html -> javascript/atoms/test/drag_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1842:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enabled_test.html -> javascript/atoms/test/enabled_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1843:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/enter_submit_test.html -> javascript/atoms/test/enter_submit_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    1844:  (18:40:09) �[35mWARNING: �[0m/home/runner/work/selenium/selenium/javascript/atoms/BUILD.bazel:351:19: runfiles symlink javascript/atoms/test/error_test.html -> javascript/atoms/test/error_test.html obscured by javascript/atoms/test -> bazel-out/k8-fastbuild/bin/javascript/atoms/test
    ...
    
    1993:  version 2.3.0.
    1994:  (18:40:13) �[32mINFO: �[0mFrom Building external/contrib_rules_jvm~/java/src/com/github/bazel_contrib/contrib_rules_jvm/junit5/libjunit5-compile-class.jar (19 source files):
    1995:  warning: [options] source value 8 is obsolete and will be removed in a future release
    1996:  warning: [options] target value 8 is obsolete and will be removed in a future release
    1997:  warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    1998:  (18:40:14) �[32mAnalyzing:�[0m 2148 targets (1621 packages loaded, 55805 targets configured)
    1999:  �[32m[7,677 / 10,491]�[0m 2 / 1540 tests;�[0m Creating source manifest for //java/test/org/openqa/selenium/bidi:BiDiSessionTest-remote; 0s local ... (47 actions, 25 running)
    2000:  (18:40:19) �[32mINFO: �[0mFrom Building java/src/org/openqa/selenium/remote/libapi-class.jar (71 source files):
    2001:  java/src/org/openqa/selenium/remote/ErrorHandler.java:46: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2002:  private final ErrorCodes errorCodes;
    2003:  ^
    2004:  java/src/org/openqa/selenium/remote/ErrorHandler.java:60: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2005:  this.errorCodes = new ErrorCodes();
    2006:  ^
    2007:  java/src/org/openqa/selenium/remote/ErrorHandler.java:68: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2008:  public ErrorHandler(ErrorCodes codes, boolean includeServerErrors) {
    2009:  ^
    2010:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2011:  ErrorCodes errorCodes = new ErrorCodes();
    2012:  ^
    2013:  java/src/org/openqa/selenium/remote/Response.java:97: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2014:  ErrorCodes errorCodes = new ErrorCodes();
    2015:  ^
    2016:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:181: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2017:  response.setStatus(ErrorCodes.SUCCESS);
    2018:  ^
    2019:  java/src/org/openqa/selenium/remote/ProtocolHandshake.java:182: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2020:  response.setState(ErrorCodes.SUCCESS_STRING);
    2021:  ^
    2022:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:53: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2023:  new ErrorCodes().toStatus((String) rawError, Optional.of(tuple.getStatusCode())));
    2024:  ^
    2025:  java/src/org/openqa/selenium/remote/W3CHandshakeResponse.java:56: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2026:  new ErrorCodes().getExceptionType((String) rawError);
    2027:  ^
    2028:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2029:  private final ErrorCodes errorCodes = new ErrorCodes();
    2030:  ^
    2031:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:44: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2032:  private final ErrorCodes errorCodes = new ErrorCodes();
    2033:  ^
    2034:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2035:  int status = response.getStatus() == ErrorCodes.SUCCESS ? HTTP_OK : HTTP_INTERNAL_ERROR;
    2036:  ^
    2037:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:101: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2038:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    2039:  ^
    2040:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:103: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2041:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    2042:  ^
    2043:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:117: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2044:  response.setStatus(ErrorCodes.SUCCESS);
    2045:  ^
    2046:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:118: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2047:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    2048:  ^
    2049:  java/src/org/openqa/selenium/remote/codec/AbstractHttpResponseCodec.java:124: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2050:  response.setState(errorCodes.toState(ErrorCodes.SUCCESS));
    2051:  ^
    2052:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2053:  private final ErrorCodes errorCodes = new ErrorCodes();
    2054:  ^
    2055:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:70: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2056:  private final ErrorCodes errorCodes = new ErrorCodes();
    2057:  ^
    2058:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:93: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2059:  response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
    2060:  ^
    2061:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:98: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2062:  response.setStatus(ErrorCodes.UNHANDLED_ERROR);
    2063:  ^
    2064:  java/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java:145: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2065:  response.setStatus(ErrorCodes.SUCCESS);
    ...
    
    2082:  �[32m[11,252 / 12,369]�[0m 115 / 1767 tests;�[0m Testing //py:common-chrome-test/selenium/webdriver/common/alerts_tests.py; 2s remote, remote-cache ... (50 actions, 1 running)
    2083:  (18:40:39) �[32mAnalyzing:�[0m 2148 targets (1631 packages loaded, 62372 targets configured)
    2084:  �[32m[11,303 / 12,608]�[0m 129 / 1831 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:target_locator-firefox-beta; 4s remote, remote-cache ... (50 actions, 1 running)
    2085:  (18:40:44) �[32mAnalyzing:�[0m 2148 targets (1631 packages loaded, 62372 targets configured)
    2086:  �[32m[11,363 / 12,809]�[0m 148 / 1844 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:window-edge; 5s remote, remote-cache ... (50 actions, 0 running)
    2087:  (18:40:49) �[32mAnalyzing:�[0m 2148 targets (1631 packages loaded, 62379 targets configured)
    2088:  �[32m[11,413 / 12,936]�[0m 173 / 1870 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver:action_builder-firefox; 4s ... (48 actions, 0 running)
    2089:  (18:40:54) �[32mAnalyzing:�[0m 2148 targets (1632 packages loaded, 62526 targets configured)
    2090:  �[32m[11,558 / 12,989]�[0m 245 / 1874 tests;�[0m Testing //rb/spec/integration/selenium/webdriver:error-firefox-bidi; 0s remote, remote-cache ... (49 actions, 0 running)
    2091:  (18:40:59) �[32mAnalyzing:�[0m 2148 targets (1632 packages loaded, 62565 targets configured)
    2092:  �[32m[11,788 / 13,113]�[0m 360 / 1911 tests;�[0m Testing //py:common-firefox-bidi-test/selenium/webdriver/common/virtual_authenticator_tests.py; 1s remote, remote-cache ... (49 actions, 0 running)
    2093:  (18:41:04) �[32mAnalyzing:�[0m 2148 targets (1632 packages loaded, 62603 targets configured)
    2094:  �[32m[12,083 / 13,339]�[0m 491 / 1948 tests;�[0m [Prepa] Testing //rb/spec/integration/selenium/webdriver/chrome:profile-chrome ... (48 actions, 0 running)
    2095:  (18:41:09) �[32mAnalyzing:�[0m 2148 targets (1632 packages loaded, 62638 targets configured)
    2096:  �[32m[12,528 / 13,705]�[0m 649 / 1983 tests;�[0m Testing //java/src/org/openqa/selenium/grid/sessionqueue/local:local-spotbugs; 1s remote, remote-cache ... (50 actions, 8 running)
    2097:  (18:41:10) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/json/JsonTest.jar (1 source file):
    2098:  java/test/org/openqa/selenium/json/JsonTest.java:430: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2099:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2100:  ^
    2101:  java/test/org/openqa/selenium/json/JsonTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2102:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(0));
    2103:  ^
    2104:  java/test/org/openqa/selenium/json/JsonTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2105:  assertThat(response.getState()).isEqualTo(new ErrorCodes().toState(32));
    2106:  ^
    2107:  (18:41:10) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.jar (1 source file):
    2108:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:26: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2109:  import static org.openqa.selenium.remote.ErrorCodes.METHOD_NOT_ALLOWED;
    2110:  ^
    2111:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:55: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2112:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.SUCCESS);
    2113:  ^
    2114:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:81: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2115:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2116:  ^
    2117:  java/test/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodecTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2118:  assertThat(decoded.getStatus()).isEqualTo(ErrorCodes.UNHANDLED_ERROR);
    2119:  ^
    2120:  (18:41:12) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/RemotableByTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2121:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2122:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2123:  ^
    2124:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2125:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2126:  ^
    2127:  java/test/org/openqa/selenium/remote/RemotableByTest.java:23: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2128:  import static org.openqa.selenium.remote.ErrorCodes.SUCCESS_STRING;
    2129:  ^
    2130:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2131:  private final ErrorCodes errorCodes = new ErrorCodes();
    2132:  ^
    2133:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2134:  private final ErrorCodes errorCodes = new ErrorCodes();
    2135:  ^
    2136:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2137:  private final ErrorCodes errorCodes = new ErrorCodes();
    2138:  ^
    2139:  java/test/org/openqa/selenium/remote/RemotableByTest.java:45: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2140:  private final ErrorCodes errorCodes = new ErrorCodes();
    2141:  ^
    2142:  (18:41:13) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/ErrorHandlerTest.jar (1 source file) and running annotation processors (AutoServiceProcessor):
    2143:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:79: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2144:  handler.throwIfResponseFailed(createResponse(ErrorCodes.SUCCESS), 100);
    2145:  ^
    2146:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:85: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2147:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2148:  ^
    2149:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:86: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2150:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2151:  ^
    2152:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:87: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2153:  assertThrowsCorrectExceptionType(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2154:  ^
    2155:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:88: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2156:  assertThrowsCorrectExceptionType(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2157:  ^
    2158:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:90: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2159:  ErrorCodes.METHOD_NOT_ALLOWED, UnsupportedCommandException.class);
    2160:  ^
    2161:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:92: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2162:  ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2163:  ^
    2164:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:94: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2165:  ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2166:  ^
    2167:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:95: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2168:  assertThrowsCorrectExceptionType(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2169:  ^
    2170:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:107: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2171:  Response response = createResponse(ErrorCodes.UNHANDLED_ERROR);
    2172:  ^
    2173:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:120: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2174:  createResponse(ErrorCodes.UNHANDLED_ERROR, "boom"), 123))
    2175:  ^
    2176:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:133: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2177:  createResponse(ErrorCodes.UNHANDLED_ERROR, ImmutableMap.of("message", "boom")),
    2178:  ^
    2179:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:147: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2180:  ErrorCodes.UNHANDLED_ERROR,
    2181:  ^
    2182:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:167: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2183:  ErrorCodes.UNHANDLED_ERROR,
    2184:  ^
    2185:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:193: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2186:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2187:  ^
    2188:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:214: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2189:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2190:  ^
    2191:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:248: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2192:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2193:  ^
    2194:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:280: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2195:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2196:  ^
    2197:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:308: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2198:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2199:  ^
    2200:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:327: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2201:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2202:  ^
    2203:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:355: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2204:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2205:  ^
    2206:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:394: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2207:  createResponse(ErrorCodes.UNHANDLED_ERROR, data), 123))
    2208:  ^
    2209:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:426: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2210:  createResponse(ErrorCodes.UNHANDLED_ERROR, toMap(serverError)), 123))
    2211:  ^
    2212:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:435: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2213:  exceptions.put(ErrorCodes.NO_SUCH_SESSION, NoSuchSessionException.class);
    2214:  ^
    2215:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:436: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2216:  exceptions.put(ErrorCodes.NO_SUCH_ELEMENT, NoSuchElementException.class);
    2217:  ^
    2218:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:437: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2219:  exceptions.put(ErrorCodes.NO_SUCH_FRAME, NoSuchFrameException.class);
    2220:  ^
    2221:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:438: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2222:  exceptions.put(ErrorCodes.UNKNOWN_COMMAND, UnsupportedCommandException.class);
    2223:  ^
    2224:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:439: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2225:  exceptions.put(ErrorCodes.STALE_ELEMENT_REFERENCE, StaleElementReferenceException.class);
    2226:  ^
    2227:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:440: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2228:  exceptions.put(ErrorCodes.INVALID_ELEMENT_STATE, InvalidElementStateException.class);
    2229:  ^
    2230:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:441: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2231:  exceptions.put(ErrorCodes.UNHANDLED_ERROR, WebDriverException.class);
    2232:  ^
    2233:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:442: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2234:  exceptions.put(ErrorCodes.JAVASCRIPT_ERROR, JavascriptException.class);
    2235:  ^
    2236:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:443: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2237:  exceptions.put(ErrorCodes.XPATH_LOOKUP_ERROR, InvalidSelectorException.class);
    2238:  ^
    2239:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:444: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2240:  exceptions.put(ErrorCodes.TIMEOUT, TimeoutException.class);
    2241:  ^
    2242:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:445: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2243:  exceptions.put(ErrorCodes.NO_SUCH_WINDOW, NoSuchWindowException.class);
    2244:  ^
    2245:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:446: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2246:  exceptions.put(ErrorCodes.INVALID_COOKIE_DOMAIN, InvalidCookieDomainException.class);
    2247:  ^
    2248:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:447: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2249:  exceptions.put(ErrorCodes.UNABLE_TO_SET_COOKIE, UnableToSetCookieException.class);
    2250:  ^
    2251:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:448: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2252:  exceptions.put(ErrorCodes.UNEXPECTED_ALERT_PRESENT, UnhandledAlertException.class);
    2253:  ^
    2254:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:449: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2255:  exceptions.put(ErrorCodes.NO_ALERT_PRESENT, NoAlertPresentException.class);
    2256:  ^
    2257:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:450: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2258:  exceptions.put(ErrorCodes.ASYNC_SCRIPT_TIMEOUT, ScriptTimeoutException.class);
    2259:  ^
    2260:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:451: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2261:  exceptions.put(ErrorCodes.INVALID_SELECTOR_ERROR, InvalidSelectorException.class);
    2262:  ^
    2263:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:452: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2264:  exceptions.put(ErrorCodes.SESSION_NOT_CREATED, SessionNotCreatedException.class);
    2265:  ^
    2266:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:453: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2267:  exceptions.put(ErrorCodes.MOVE_TARGET_OUT_OF_BOUNDS, MoveTargetOutOfBoundsException.class);
    2268:  ^
    2269:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:454: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2270:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR, InvalidSelectorException.class);
    2271:  ^
    2272:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:455: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2273:  exceptions.put(ErrorCodes.INVALID_XPATH_SELECTOR_RETURN_TYPER, InvalidSelectorException.class);
    2274:  ^
    2275:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:469: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2276:  ? ErrorCodes.INVALID_SELECTOR_ERROR
    2277:  ^
    2278:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:471: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2279:  assertThat(new ErrorCodes().toStatusCode(e)).isEqualTo(expected);
    2280:  ^
    2281:  java/test/org/openqa/selenium/remote/ErrorHandlerTest.java:483: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2282:  response.setState(new ErrorCodes().toState(status));
    2283:  ^
    2284:  (18:41:14) �[32mINFO: �[0mFrom Building java/test/org/openqa/selenium/remote/libsmall-tests-test-lib.jar (5 source files) and running annotation processors (AutoServiceProcessor):
    2285:  java/test/org/openqa/selenium/remote/WebDriverFixture.java:170: warning: [removal] ErrorCodes in org.openqa.selenium.remote has been deprecated and marked for removal
    2286:  response.setStatus(new ErrorCodes().toStatus(state, Optional.of(400)));
    ...
    
    3305:  //dotnet/test/common:ElementFindingTest-edge                    �[0m�[32m(cached) PASSED�[0m in 29.0s
    3306:  //dotnet/test/common:ElementFindingTest-firefox                 �[0m�[32m(cached) PASSED�[0m in 48.4s
    3307:  //dotnet/test/common:ElementPropertyTest-chrome                 �[0m�[32m(cached) PASSED�[0m in 6.1s
    3308:  //dotnet/test/common:ElementPropertyTest-edge                   �[0m�[32m(cached) PASSED�[0m in 9.4s
    3309:  //dotnet/test/common:ElementPropertyTest-firefox                �[0m�[32m(cached) PASSED�[0m in 9.7s
    3310:  //dotnet/test/common:ElementSelectingTest-chrome                �[0m�[32m(cached) PASSED�[0m in 15.4s
    3311:  //dotnet/test/common:ElementSelectingTest-edge                  �[0m�[32m(cached) PASSED�[0m in 21.5s
    3312:  //dotnet/test/common:ElementSelectingTest-firefox               �[0m�[32m(cached) PASSED�[0m in 28.2s
    3313:  //dotnet/test/common:ErrorsTest-chrome                          �[0m�[32m(cached) PASSED�[0m in 7.4s
    3314:  //dotnet/test/common:ErrorsTest-edge                            �[0m�[32m(cached) PASSED�[0m in 5.6s
    3315:  //dotnet/test/common:ErrorsTest-firefox                         �[0m�[32m(cached) PASSED�[0m in 9.9s
    ...
    
    3643:  //java/test/org/openqa/selenium:ElementFindingTest-edge         �[0m�[32m(cached) PASSED�[0m in 93.1s
    3644:  //java/test/org/openqa/selenium:ElementFindingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 39.4s
    3645:  //java/test/org/openqa/selenium:ElementFindingTest-spotbugs     �[0m�[32m(cached) PASSED�[0m in 9.3s
    3646:  //java/test/org/openqa/selenium:ElementSelectingTest            �[0m�[32m(cached) PASSED�[0m in 27.1s
    3647:  //java/test/org/openqa/selenium:ElementSelectingTest-chrome     �[0m�[32m(cached) PASSED�[0m in 19.7s
    3648:  //java/test/org/openqa/selenium:ElementSelectingTest-edge       �[0m�[32m(cached) PASSED�[0m in 24.8s
    3649:  //java/test/org/openqa/selenium:ElementSelectingTest-firefox-beta �[0m�[32m(cached) PASSED�[0m in 23.9s
    3650:  //java/test/org/openqa/selenium:ElementSelectingTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 8.9s
    3651:  //java/test/org/openqa/selenium:ErrorsTest                      �[0m�[32m(cached) PASSED�[0m in 19.1s
    3652:  //java/test/org/openqa/selenium:ErrorsTest-chrome               �[0m�[32m(cached) PASSED�[0m in 10.9s
    3653:  //java/test/org/openqa/selenium:ErrorsTest-edge                 �[0m�[32m(cached) PASSED�[0m in 11.5s
    3654:  //java/test/org/openqa/selenium:ErrorsTest-firefox-beta         �[0m�[32m(cached) PASSED�[0m in 11.1s
    3655:  //java/test/org/openqa/selenium:ErrorsTest-spotbugs             �[0m�[32m(cached) PASSED�[0m in 5.6s
    ...
    
    4234:  //java/test/org/openqa/selenium/os:ExternalProcessTest          �[0m�[32m(cached) PASSED�[0m in 2.5s
    4235:  //java/test/org/openqa/selenium/os:ExternalProcessTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 11.1s
    4236:  //java/test/org/openqa/selenium/os:OsProcessTest                �[0m�[32m(cached) PASSED�[0m in 5.0s
    4237:  //java/test/org/openqa/selenium/os:OsProcessTest-spotbugs       �[0m�[32m(cached) PASSED�[0m in 6.7s
    4238:  //java/test/org/openqa/selenium/remote:AugmenterTest            �[0m�[32m(cached) PASSED�[0m in 7.3s
    4239:  //java/test/org/openqa/selenium/remote:AugmenterTest-spotbugs   �[0m�[32m(cached) PASSED�[0m in 8.5s
    4240:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest  �[0m�[32m(cached) PASSED�[0m in 1.8s
    4241:  //java/test/org/openqa/selenium/remote:DesiredCapabilitiesTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 7.9s
    4242:  //java/test/org/openqa/selenium/remote:ErrorCodecTest           �[0m�[32m(cached) PASSED�[0m in 1.9s
    4243:  //java/test/org/openqa/selenium/remote:ErrorCodecTest-spotbugs  �[0m�[32m(cached) PASSED�[0m in 10.5s
    4244:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest         �[0m�[32m(cached) PASSED�[0m in 2.1s
    4245:  //java/test/org/openqa/selenium/remote:ErrorHandlerTest-spotbugs �[0m�[32m(cached) PASSED�[0m in 8.8s
    ...
    
    4826:  //py:unit-test/unit/selenium/webdriver/chrome/chrome_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.9s
    4827:  //py:unit-test/unit/selenium/webdriver/common/cdp_module_fallback_tests.py �[0m�[32m(cached) PASSED�[0m in 2.6s
    4828:  //py:unit-test/unit/selenium/webdriver/common/common_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.7s
    4829:  //py:unit-test/unit/selenium/webdriver/common/fedcm/account_tests.py �[0m�[32m(cached) PASSED�[0m in 3.6s
    4830:  //py:unit-test/unit/selenium/webdriver/common/fedcm/dialog_tests.py �[0m�[32m(cached) PASSED�[0m in 2.8s
    4831:  //py:unit-test/unit/selenium/webdriver/common/print_page_options_tests.py �[0m�[32m(cached) PASSED�[0m in 3.2s
    4832:  //py:unit-test/unit/selenium/webdriver/edge/edge_options_tests.py �[0m�[32m(cached) PASSED�[0m in 2.1s
    4833:  //py:unit-test/unit/selenium/webdriver/firefox/firefox_options_tests.py �[0m�[32m(cached) PASSED�[0m in 4.1s
    4834:  //py:unit-test/unit/selenium/webdriver/remote/error_handler_tests.py �[0m�[32m(cached) PASSED�[0m in 3.5s
    ...
    
    4858:  //rb/spec/integration/selenium/webdriver:driver-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 25.0s
    4859:  //rb/spec/integration/selenium/webdriver:driver-firefox-bidi    �[0m�[32m(cached) PASSED�[0m in 28.8s
    4860:  //rb/spec/integration/selenium/webdriver:element-edge           �[0m�[32m(cached) PASSED�[0m in 33.9s
    4861:  //rb/spec/integration/selenium/webdriver:element-edge-bidi      �[0m�[32m(cached) PASSED�[0m in 15.3s
    4862:  //rb/spec/integration/selenium/webdriver:element-firefox        �[0m�[32m(cached) PASSED�[0m in 60.6s
    4863:  //rb/spec/integration/selenium/webdriver:element-firefox-beta   �[0m�[32m(cached) PASSED�[0m in 61.9s
    4864:  //rb/spec/integration/selenium/webdriver:element-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 26.0s
    4865:  //rb/spec/integration/selenium/webdriver:element-firefox-bidi   �[0m�[32m(cached) PASSED�[0m in 19.7s
    4866:  //rb/spec/integration/selenium/webdriver:error-chrome           �[0m�[32m(cached) PASSED�[0m in 15.9s
    4867:  //rb/spec/integration/selenium/webdriver:error-chrome-bidi      �[0m�[32m(cached) PASSED�[0m in 18.2s
    4868:  //rb/spec/integration/selenium/webdriver:error-edge             �[0m�[32m(cached) PASSED�[0m in 17.7s
    4869:  //rb/spec/integration/selenium/webdriver:error-edge-bidi        �[0m�[32m(cached) PASSED�[0m in 13.1s
    4870:  //rb/spec/integration/selenium/webdriver:error-firefox          �[0m�[32m(cached) PASSED�[0m in 28.5s
    4871:  //rb/spec/integration/selenium/webdriver:error-firefox-beta     �[0m�[32m(cached) PASSED�[0m in 26.6s
    4872:  //rb/spec/integration/selenium/webdriver:error-firefox-beta-bidi �[0m�[32m(cached) PASSED�[0m in 27.8s
    4873:  //rb/spec/integration/selenium/webdriver:error-firefox-bidi     �[0m�[32m(cached) PASSED�[0m in 23.7s
    ...
    
    5259:  //rb/spec/integration/selenium/webdriver:action_builder-firefox-remote   �[0m�[32mPASSED�[0m in 56.3s
    5260:  //rb/spec/integration/selenium/webdriver:driver-chrome-remote            �[0m�[32mPASSED�[0m in 33.7s
    5261:  //rb/spec/integration/selenium/webdriver:driver-edge-remote              �[0m�[32mPASSED�[0m in 39.7s
    5262:  //rb/spec/integration/selenium/webdriver:driver-firefox-beta-remote      �[0m�[32mPASSED�[0m in 51.9s
    5263:  //rb/spec/integration/selenium/webdriver:driver-firefox-remote           �[0m�[32mPASSED�[0m in 50.9s
    5264:  //rb/spec/integration/selenium/webdriver:element-edge-remote             �[0m�[32mPASSED�[0m in 46.8s
    5265:  //rb/spec/integration/selenium/webdriver:element-firefox-beta-remote     �[0m�[32mPASSED�[0m in 64.6s
    5266:  //rb/spec/integration/selenium/webdriver:element-firefox-remote          �[0m�[32mPASSED�[0m in 64.3s
    5267:  //rb/spec/integration/selenium/webdriver:error-chrome-remote             �[0m�[32mPASSED�[0m in 21.5s
    5268:  //rb/spec/integration/selenium/webdriver:error-edge-remote               �[0m�[32mPASSED�[0m in 21.7s
    5269:  //rb/spec/integration/selenium/webdriver:error-firefox-beta-remote       �[0m�[32mPASSED�[0m in 24.4s
    5270:  //rb/spec/integration/selenium/webdriver:error-firefox-remote            �[0m�[32mPASSED�[0m in 22.3s
    ...
    
    5336:  //rb/spec/integration/selenium/webdriver/edge:profile-edge-remote        �[0m�[32mPASSED�[0m in 26.1s
    5337:  //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta-remote �[0m�[32mPASSED�[0m in 52.9s
    5338:  //rb/spec/integration/selenium/webdriver/firefox:driver-firefox-remote   �[0m�[32mPASSED�[0m in 46.6s
    5339:  //rb/spec/integration/selenium/webdriver/firefox:profile-firefox-beta-remote �[0m�[32mPASSED�[0m in 29.3s
    5340:  //rb/spec/integration/selenium/webdriver/firefox:profile-firefox-remote  �[0m�[32mPASSED�[0m in 27.5s
    5341:  Executed 245 out of 2148 tests: 2148 tests pass.
    5342:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    5343:  (18:53:49) �[32mINFO:�[0m 
    5344:  (18:55:02) �[31m�[1mERROR: �[0mThe Build Event Protocol upload failed: All 4 retry attempts failed. DEADLINE_EXCEEDED: DEADLINE_EXCEEDED: deadline exceeded after 14.999863296s. [closed=[], open=[[buffered_nanos=38490, remote_addr=gypsum.cluster.engflow.com/18.211.44.144:443]]] DEADLINE_EXCEEDED: DEADLINE_EXCEEDED: deadline exceeded after 14.999863296s. [closed=[], open=[[buffered_nanos=38490, remote_addr=gypsum.cluster.engflow.com/18.211.44.144:443]]]
    5345:  �[0m
    5346:  ##[error]Process completed with exit code 38.
    

    ✨ CI feedback usage guide:

    The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
    The tool analyzes the failed checks and provides several feedbacks:

    • Failed stage
    • Failed test name
    • Failure summary
    • Relevant error logs

    In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

    /checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"
    

    where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

    Configuration options

    • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
    • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
    • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.
    • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
    • final_update_message - if persistent_comment is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

    See more information about the checks tool in the docs.

    @joerg1985 joerg1985 merged commit fc03c5e into trunk Nov 15, 2024
    33 checks passed
    @joerg1985 joerg1985 deleted the client-timeout branch November 15, 2024 19:21
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    [🐛 Bug]: Selenium driver (C#) doesn't clean up session if timing out when creating session?
    1 participant