SeleniumHQ / selenium

A browser automation framework and ecosystem.
https://selenium.dev
Apache License 2.0
30.49k stars 8.15k forks source link

[🐛 Bug]: Cannot build driver for (remote) firefox using server since version 4.8.2 with JavaScript #13318

Closed jpilgrim closed 9 months ago

jpilgrim commented 10 months ago

What happened?

I'm using the standalone server jar and JavaScript for my tests on macos (14.1.1)

Long story short:

const driver = await new webdriver.Builder()
        .forBrowser('firefox')
        .usingServer("http://127.0.0.1:4444/wd/hub")
        .withCapabilities(webdriver.Capabilities.firefox())
        .setFirefoxOptions(options)
        .build();

does not return since version 4.8.2.

Version up to 4.8.1 are working, but 4.8.2 (and above, including 4.16.1) are not working.

I assume this is a similar error as described in #13247

Longer story:

Starting the server with

seleniumServer = new remote.SeleniumServer(jarPath, {
        port: 4444,
        env: {
            ...process.env
        }
    });
const address = await seleniumServer.start(5000);

works in all versions.

The firefox options are set as follows:

const options = new firefox.Options().headless();
options.setAcceptInsecureCerts(true);

and then the (remote) browser or driver respectively is build (see short story above).

Has anything changed in the API since 4.8.2 related to this?

I have created a git repo with a demo: https://github.com/jpilgrim/selenium_remote_demo

Read the readme of that repo for details on how to run the tests in order to reproduce the bug.

How can we reproduce the issue?

https://github.com/jpilgrim/selenium_remote_demo

Relevant log output

I tried to activate logging as described, but it doesn't work (see github repo).

Operating System

macos 14.1.1

Selenium version

JavaScript

What are the browser(s) and version(s) where you see this issue?

Firefox 120.0.1 (64-bit) (using it remote)

What are the browser driver(s) and version(s) where you see this issue?

selenium-webdriver 4.16.0

Are you using Selenium Grid?

4.8.2

github-actions[bot] commented 10 months ago

@jpilgrim, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

titusfortner commented 10 months ago

We should have removed the headless() method. You should set it as an argument; for firefox it is -headless Oh, we deprecated it but didn't remove it. I'll go do that now.

You shouldn't need both: withCapabilities(webdriver.Capabilities.firefox()) & setFirefoxOptions(options), just use options; maybe that is creating invalid w3c capabilities?

jpilgrim commented 9 months ago

@titusfortner Thanks for the quick answer. Alas it does not help. I removed the headless() call (and replaced it with addArguments("--headless")) and I also removed the .withCapabilities(webdriver.Capabilities.firefox()) call. No effect. Still, 4.8.1 is working, 4.8.2 and above are not.

I even removed the headless thing completely -- but without effect (except that I see the browser window now in 4.8.1, of course).

I updated my repo accordingly.

jpilgrim commented 9 months ago

In the example "example/headless.js", the method headless is still used (selenium-webdriver 4.16.0) Note that in the firefox.d.ts file ("@types/selenium-webdriver": "^4.1.21"), headless is not marked as deprecated.

Also, activating logging as described on https://www.selenium.dev/documentation/webdriver/troubleshooting/logging/ has no effect: logging.getLogger('webdriver').setLevel(logging.Level.ALL) I changed that to logging.getLogger(logging.Type.DRIVER + ".http").setLevel(logging.Level.ALL) as it is done in selenium-webdriver/examples/logging.js.

Now, I can provide logs:

$ SELENIUM_VERSION=4.8.1 npm test > test > jest console.log Load selenium server, version 4.8.1 at Object.log (tests/server.test.js:21:13) console.log [2023-12-16T12:01:57Z] [FINEST] [driver.http] Translating command: getStatus at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:01:57Z] [FINEST] [driver.http] Building HTTP request: {"method":"GET","path":"/status"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:01:57Z] [FINER] [driver.http.Executor] >>> GET /status at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:01Z] [FINER] [driver.http.Executor] >>> GET /status HTTP/1.1 accept: application/json; charset=utf-8 {} <<< HTTP/1.1 200 content-length: 7036 cache-control: no-cache content-type: application/json; charset=utf-8 connection: close { "value": { "ready": true, "message": "Selenium Grid ready.", "nodes": [ { "id": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "uri": "http:\u002f\u002f192.168.x.x:4444", "maxSessions": 8, "osInfo": { "arch": "aarch64", "name": "Mac OS X", "version": "14.1.1" }, "heartbeatPeriod": 60000, "availability": "UP", "version": "4.8.1 (revision 8ebccac989)", "slots": [ { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "c8801651-2bd2-4308-94e9-5b5946e42860" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "de61d81e-9b10-469f-8b64-d0c262f9c0a7" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "523231d8-f7ca-42f8-a020-e8bb8e66b108" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "532e8047-3aad-4f30-a6ce-fc210e987e47" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "113e417b-19a5-475a-a348-8f98ee11acaa" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "e631db0e-32c3-44a1-9e83-3c5138b844b7" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "76f4651b-892c-4545-9618-29aa3446f634" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "31880e04-60b5-434e-a605-3b7824a7f25a" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "safari", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "8801d7ef-176a-470a-8b96-471efd752852" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "a1fd417a-2101-4c8e-a871-40c27dc56205" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "01ca5008-f94f-41aa-b1f2-562a9a63feb5" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "7f4f5f6b-5079-4679-8834-5ade7e5f69e1" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "9fbd821f-bd19-444d-95b3-3925b9dbd947" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "c37e93b3-a9a8-4fcb-93e3-aaef000312b9" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "63166e01-62b2-46aa-b0eb-f02244f424d2" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "firefox", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "28fc21fd-97aa-4306-91fc-f987b7b20bb0" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } }, { "id": { "hostId": "bb3156d8-5bcc-4e42-8567-aef4ee282518", "id": "22a24fc5-7375-470a-9f6f-06b464e35c9d" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "MicrosoftEdge", "platformName": "MAC" } } ] } ] } } at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.time Starting Server: 4264 ms at Object.timeEnd (tests/server.test.js:33:13) console.log Selenium server started at http://192.168.x.x:4444/wd/hub at Object.log (tests/server.test.js:34:13) console.log [2023-12-16T12:02:01Z] [FINEST] [driver.http] Translating command: newSession at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:01Z] [FINEST] [driver.http] Building HTTP request: {"method":"POST","path":"/session"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:01Z] [FINER] [driver.http.Executor] >>> POST /session at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:03Z] [FINER] [driver.http.Executor] >>> POST /session HTTP/1.1 accept: application/json; charset=utf-8 {"capabilities":{"firstMatch":[{}],"alwaysMatch":{"browserName":"firefox","moz:firefoxOptions":{"args":["-headless"]},"acceptInsecureCerts":true}}} <<< HTTP/1.1 200 content-length: 1314 cache-control: no-cache content-type: application/json; charset=utf-8 connection: close { "value": { "sessionId": "76e6ff2e-4b5a-4017-82be-b2b26c995a55", "capabilities": { "acceptInsecureCerts": true, "browserName": "firefox", "browserVersion": "120.0.1", "moz:accessibilityChecks": false, "moz:buildID": "20231129155202", "moz:firefoxOptions": { "args": [ "-headless" ] }, "moz:geckodriverVersion": "0.33.0", "moz:headless": true, "moz:platformVersion": "23.1.0", "moz:processID": 15617, "moz:profile": "\u002fvar\u002ffolders\u002flz\u002f_x2vm28x6972ngn56xqg__gh0000gp\u002fT\u002frust_mozprofileyXJOmX", "moz:shutdownTimeout": 60000, "moz:webdriverClick": true, "moz:windowless": false, "pageLoadStrategy": "normal", "platformName": "MAC", "proxy": { }, "se:bidi": "ws:\u002f\u002f192.168.x.x:4444\u002fsession\u002f76e6ff2e-4b5a-4017-82be-b2b26c995a55\u002fse\u002fbidi", "se:cdp": "ws:\u002f\u002f192.168.x.x:4444\u002fsession\u002f76e6ff2e-4b5a-4017-82be-b2b26c995a55\u002fse\u002fcdp", "setWindowRect": true, "strictFileInteractability": false, "timeouts": { "implicit": 0, "pageLoad": 300000, "script": 30000 }, "unhandledPromptBehavior": "dismiss and notify" } } } at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.time Starting (Remote) Firefox: 2465 ms at Object.timeEnd (tests/server.test.js:58:13) console.log [2023-12-16T12:02:03Z] [FINEST] [driver.http] Translating command: get at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:03Z] [FINEST] [driver.http] Building HTTP request: {"method":"POST","path":"/session/:sessionId/url"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:03Z] [FINER] [driver.http.Executor] >>> POST /session/76e6ff2e-4b5a-4017-82be-b2b26c995a55/url at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:05Z] [FINER] [driver.http.Executor] >>> POST /session/76e6ff2e-4b5a-4017-82be-b2b26c995a55/url HTTP/1.1 accept: application/json; charset=utf-8 {"url":"https://google.com"} <<< HTTP/1.1 200 content-length: 14 content-type: application/json; charset=utf-8 cache-control: no-cache connection: close {"value":null} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.time Loading page: 1075 ms at Object.timeEnd (tests/server.test.js:64:17) console.log [2023-12-16T12:02:05Z] [FINEST] [driver.http] Translating command: quit at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:05Z] [FINEST] [driver.http] Building HTTP request: {"method":"DELETE","path":"/session/:sessionId"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:05Z] [FINER] [driver.http.Executor] >>> DELETE /session/76e6ff2e-4b5a-4017-82be-b2b26c995a55 at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:02:05Z] [FINER] [driver.http.Executor] >>> DELETE /session/76e6ff2e-4b5a-4017-82be-b2b26c995a55 HTTP/1.1 accept: application/json; charset=utf-8 {} <<< HTTP/1.1 200 content-length: 14 content-type: application/json; charset=utf-8 cache-control: no-cache connection: close {"value":null} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log (Remote) Firefox closed at Object.log (tests/server.test.js:69:17) console.log Selenium server stopped at Object.log (tests/server.test.js:40:13) PASS tests/server.test.js (8.755 s) ✓ Selenium server 4.8.1 (4241 ms) Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total Snapshots: 0 total Time: 8.779 s, estimated 18 s Ran all test suites.
$ SELENIUM_VERSION=4.8.2 npm test > test > jest console.log Load selenium server, version 4.8.2 at Object.log (tests/server.test.js:21:13) console.log [2023-12-16T12:04:52Z] [FINEST] [driver.http] Translating command: getStatus at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:04:52Z] [FINEST] [driver.http] Building HTTP request: {"method":"GET","path":"/status"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:04:52Z] [FINER] [driver.http.Executor] >>> GET /status at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:04:53Z] [FINER] [driver.http.Executor] >>> GET /status HTTP/1.1 accept: application/json; charset=utf-8 {} <<< HTTP/1.1 200 content-length: 892 cache-control: no-cache content-type: application/json; charset=utf-8 connection: close { "value": { "ready": true, "message": "Selenium Grid ready.", "nodes": [ { "id": "a153f091-6ef6-469c-a016-56057703f1fb", "uri": "http:\u002f\u002f192.168.x.x:4444", "maxSessions": 1, "osInfo": { "arch": "aarch64", "name": "Mac OS X", "version": "14.1.1" }, "heartbeatPeriod": 60000, "availability": "UP", "version": "4.8.2 (revision 826dbfc730)", "slots": [ { "id": { "hostId": "a153f091-6ef6-469c-a016-56057703f1fb", "id": "5e0c5986-0717-4fba-b6cb-a7bb832a1fbd" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "safari", "platformName": "MAC" } } ] } ] } } at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.time Starting Server: 1216 ms at Object.timeEnd (tests/server.test.js:33:13) console.log Selenium server started at http://192.168.x.x:4444/wd/hub at Object.log (tests/server.test.js:34:13) console.log [2023-12-16T12:04:53Z] [FINEST] [driver.http] Translating command: newSession at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:04:53Z] [FINEST] [driver.http] Building HTTP request: {"method":"POST","path":"/session"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-16T12:04:53Z] [FINER] [driver.http.Executor] >>> POST /session at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log Selenium server stopped at Object.log (tests/server.test.js:40:13) FAIL tests/server.test.js (16.415 s) ✕ Selenium server 4.8.2 (15001 ms) ● Selenium server 4.8.2 thrown: "Exceeded timeout of 15000 ms for a test. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 41 | }); 42 | > 43 | test(`Selenium server ${version}`, async () => { | ^ 44 | // start remote firefox and retrieve driver 45 | const options = new firefox.Options(); 46 | // options.setBinary(firefox.Channel.RELEASE); // from firefox_channels.js example, does not fix the problem at Object.test (tests/server.test.js:43:1) Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 16.439 s Ran all test suites.

In 4.8.1, there are a lot of "slots" , including Firefox. In 4.8.2, only Safari is listed there.

Ah! I found the solution: I need to install geckodriver in version 4.8.2 (and higher), in 4.8.1 (and below) this is not required. This is a damned important change which is not reflected in a simple patch version bump!

So,

npm i geckodriver

solved the problem.

Anyway: I consider the current behaviour a bug. If the driver is not found (i.e. slot not available), an error must be thrown instead of not returning at all. This is why I leave this bug report open.

titusfortner commented 9 months ago

I'd be a lot more interested in seeing logs for 4.16 as we've made a bunch of changes to driver management since 4.8

jpilgrim commented 9 months ago

Here is the 4.16.1 log (with uninstalled geckodriver)

$ SELENIUM_VERSION=4.16.1 npm test > test > jest console.log Load selenium server, version 4.16.1 at Object.log (tests/server.test.js:21:13) console.log [2023-12-17T13:34:24Z] [FINEST] [driver.http] Translating command: getStatus at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-17T13:34:24Z] [FINEST] [driver.http] Building HTTP request: {"method":"GET","path":"/status"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-17T13:34:24Z] [FINER] [driver.http.Executor] >>> GET /status at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-17T13:34:26Z] [FINER] [driver.http.Executor] >>> GET /status HTTP/1.1 accept: application/json; charset=utf-8 {} <<< HTTP/1.1 200 content-length: 893 cache-control: no-cache content-type: application/json; charset=utf-8 connection: close { "value": { "ready": true, "message": "Selenium Grid ready.", "nodes": [ { "id": "c3639f40-dac4-422a-a480-196cd7ea8dba", "uri": "http:\u002f\u002f192.168.x.x:4444", "maxSessions": 1, "osInfo": { "arch": "aarch64", "name": "Mac OS X", "version": "14.1.1" }, "heartbeatPeriod": 60000, "availability": "UP", "version": "4.16.1 (revision 9b4c83354e)", "slots": [ { "id": { "hostId": "c3639f40-dac4-422a-a480-196cd7ea8dba", "id": "b18b9ec4-cd0e-43db-8f00-749f891aeba6" }, "lastStarted": "1970-01-01T00:00:00Z", "session": null, "stereotype": { "browserName": "safari", "platformName": "mac" } } ] } ] } } at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.time Starting Server: 1193 ms at Object.timeEnd (tests/server.test.js:33:13) console.log Selenium server started at http://192.168.x.x:4444/wd/hub at Object.log (tests/server.test.js:34:13) console.log [2023-12-17T13:34:26Z] [FINEST] [driver.http] Translating command: newSession at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-17T13:34:26Z] [FINEST] [driver.http] Building HTTP request: {"method":"POST","path":"/session"} at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log [2023-12-17T13:34:26Z] [FINER] [driver.http.Executor] >>> POST /session at consoleHandler (node_modules/selenium-webdriver/lib/logging.js:557:13) console.log Selenium server stopped at Object.log (tests/server.test.js:40:13) FAIL tests/server.test.js (16.405 s) ✕ Selenium server 4.16.1 (15002 ms) ● Selenium server 4.16.1 thrown: "Exceeded timeout of 15000 ms for a test. Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout." 41 | }); 42 | > 43 | test(`Selenium server ${version}`, async () => { | ^ 44 | // start remote firefox and retrieve driver 45 | const options = new firefox.Options(); 46 | // options.setBinary(firefox.Channel.RELEASE); // from firefox_channels.js example, does not fix the problem at Object.test (tests/server.test.js:43:1) Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 16.429 s Ran all test suites
diemol commented 9 months ago

I've sent a PR to your repository, which shows the changes you need to add to have this working.

The reason why it worked on that version and not on this one is Selenium Manager. We left it on by default in the Grid, and this was a mistake, because users should explicitly opt it to use it.

jpilgrim commented 9 months ago

@diemol Thank you very much!

Actually it is already working, I only needed to install geckodriver. But I will try it with args: ['--selenium-manager', 'true'] as well. The timeouts are not that important (I mean, it worked with geckodriver).

github-actions[bot] commented 8 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.