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

[🐛 Bug]: Regression in selenium/standalone-firefox between 123.0 and 124.0+ related to confirmation dialog with onbeforeunload #2215

Closed
surli opened this issue Apr 18, 2024 · 20 comments

Comments

@surli
Copy link

surli commented Apr 18, 2024

What happened?

⚠️ I'm not entirely sure it's the right place to submit this bug report: it concerns the selenium/standalone-firefox docker image only. We're using the Java selenium dependency and we're running our tests using TestContainer on our side.

We have tests in our platform that are checking the behaviour of some editors and in particular that leaving the page without saving changes triggers a prompt in the browser asking confirmation before leaving. Nothing fancy here we're using some javascript code with a listener on a beforeunload event: the code on our side haven't change for a while.
But we recently noticed that those tests started to fail, on firefox only: we're also testing with chromium and on chromium tests are still succeeding.

After investigating a bit more, I discovered that when using selenium/standalone-firefox:123.0 tests are succeeding, but not when using selenium/standalone-firefox:124.0 (or 124.0.1 or 124.0.2). Now I tried to manually reproduce the steps on my own firefox (currently on 124.0.2) and I wasn't able to reproduce the bug.

I also tried to write a simple test for reproducing the problem, sadly it was more difficult than I thought. I came up with the following test: https://github.com/xwiki/xwiki-platform/pull/3072/files
Basically the idea of the test is to open a page which contains a link to another page, execute the following javascript:

window.onbeforeunload = function () { return false; }

click on the link and wait for an alert to appear thanks to driver.waitUntilCondition(ExpectedConditions.alertIsPresent());.
This test fails with a timeout on the wait only with selenium/standalone-firefox:124.0+.

At this point I also tried to check if it could be a bug in firefox itself, but I haven't found anything in the bug tracker, and the release change of Firefox 124.0 didn't gave me any hint so far.

Also to give all details we're using 4.19.1 for the selenium version.

Command used to start Selenium Grid with Docker (or Kubernetes)

We don't run directly docker selenium: we're using selenium docker images through TestContainer.

Relevant log output

13:47:18.738 [main] INFO  o.x.t.d.i.junit5.DockerTestUtils - XWiki starting container type/image: [org.xwiki.test.docker.internal.junit5.browser.XWikiBrowserWebDriverContainer]/[selenium/standalone-firefox:124.0]
13:47:18.821 [main] INFO  o.t.containers.SeleniumUtils - Selenium API version 4.19.1 detected on classpath
13:47:18.863 [main] DEBUG o.t.images.AbstractImagePullPolicy - Using locally available and not pulling image: selenium/standalone-firefox:124.0
13:47:18.863 [main] INFO  t.selenium/standalone-firefox:124.0 - Creating container for image: selenium/standalone-firefox:124.0
13:47:18.965 [main] DEBUG o.t.utility.MountableFile - Copying classpath resource(s) from jar:file:/home/urli/.m2/repository/org/testcontainers/testcontainers/1.19.7/testcontainers-1.19.7.jar!/org/testcontainers/utility/ResourceReaper.class to /tmp/.testcontainers-tmp-1858680800551825798 to permit Docker to bind
13:47:18.965 [main] DEBUG o.t.utility.MountableFile - Copying resource org/testcontainers/utility/ResourceReaper.class from JAR file /home/urli/.m2/repository/org/testcontainers/testcontainers/1.19.7/testcontainers-1.19.7.jar
13:47:18.967 [main] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@1b5a3cfc[aliases=<null>,argsEscaped=<null>,attachStderr=<null>,attachStdin=<null>,attachStdout=<null>,authConfig=<null>,cmd=<null>,domainName=<null>,entrypoint=<null>,env=<null>,exposedPorts=ExposedPorts(exposedPorts=[]),healthcheck=<null>,hostConfig=HostConfig(binds=[/tmp/.testcontainers-tmp-1858680800551825798:/dummy:ro], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=null, nanoCPUs=null, capAdd=null, capDrop=null, containerIDFile=null, cpuPeriod=null, cpuRealtimePeriod=null, cpuRealtimeRuntime=null, cpuShares=null, cpuQuota=null, cpusetCpus=null, cpusetMems=null, devices=null, deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=null, groupAdd=null, ipcMode=null, cgroup=null, links=[], logConfig=LogConfig(type=null, config=null), lxcConf=null, memory=null, memorySwap=null, memoryReservation=null, kernelMemory=null, networkMode=null, oomKillDisable=null, init=null, autoRemove=null, oomScoreAdj=null, portBindings=null, privileged=null, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=null, mounts=null, pidMode=null, isolation=null, securityOpts=null, storageOpt=null, cgroupParent=null, volumeDriver=null, shmSize=null, pidsLimit=null, runtime=null, tmpFs=null, utSMode=null, usernsMode=null, sysctls=null, consoleSize=null, cgroupnsMode=null),hostName=<null>,image=alpine:3.16,ipv4Address=<null>,ipv6Address=<null>,labels={org.testcontainers=true, org.testcontainers.lang=java, org.testcontainers.version=1.19.7, org.testcontainers.sessionId=fed059b0-2354-4123-82a1-2dd7fcf7b6ab},macAddress=<null>,name=<null>,networkDisabled=<null>,networkingConfig=<null>,onBuild=<null>,platform=<null>,portSpecs=<null>,shell=<null>,stdInOnce=<null>,stdinOpen=<null>,stopSignal=<null>,stopTimeout=<null>,tty=<null>,user=<null>,volumes=Volumes(volumes=[]),workingDir=<null>]
13:47:18.968 [main] TRACE o.t.s.c.g.d.c.e.CreateContainerCmdExec - POST: DefaultWebTarget{path=[/containers/create], queryParams={}} 
13:47:19.161 [main] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: cd13ba33b3387543bab6e1fdea76ab4af7f35db542c7cb7667414f4df17ea0dd
13:47:19.161 [main] TRACE o.t.s.c.g.d.c.e.StartContainerCmdExec - POST: DefaultWebTarget{path=[/containers/cd13ba33b3387543bab6e1fdea76ab4af7f35db542c7cb7667414f4df17ea0dd/start], queryParams={}}
13:47:19.376 [main] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: cd13ba33b3387543bab6e1fdea76ab4af7f35db542c7cb7667414f4df17ea0dd,.,/dummy
13:47:19.377 [main] TRACE o.t.s.c.g.d.c.e.CopyArchiveFromContainerCmdExec - Get: DefaultWebTarget{path=[/containers/cd13ba33b3387543bab6e1fdea76ab4af7f35db542c7cb7667414f4df17ea0dd/archive], queryParams={}}
13:47:19.661 [main] DEBUG o.t.s.c.g.d.c.command.AbstrDockerCmd - Cmd: org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl@232cb8e9[aliases=[tc-xbQamD5o, vnchost],argsEscaped=<null>,attachStderr=<null>,attachStdin=<null>,attachStdout=<null>,authConfig=<null>,cmd={/opt/bin/entry_point.sh},domainName=<null>,entrypoint=<null>,env={no_proxy=localhost,SCREEN_HEIGHT=960,TZ=Europe/Paris,SCREEN_WIDTH=1280,SE_NODE_SESSION_TIMEOUT=3000},exposedPorts=ExposedPorts(exposedPorts=[5900/tcp, 4444/tcp]),healthcheck=<null>,hostConfig=HostConfig(binds=[/home/urli/Github/xwiki-platform/xwiki-platform-core/xwiki-platform-menu/xwiki-platform-menu-test/xwiki-platform-menu-test-docker/target/test-classes:/tmp/test-resources:rw,z, /dev/shm:/dev/shm:rw], blkioWeight=null, blkioWeightDevice=null, blkioDeviceReadBps=null, blkioDeviceWriteBps=null, blkioDeviceReadIOps=null, blkioDeviceWriteIOps=null, memorySwappiness=null, nanoCPUs=null, capAdd=null, capDrop=null, containerIDFile=null, cpuPeriod=null, cpuRealtimePeriod=null, cpuRealtimeRuntime=null, cpuShares=null, cpuQuota=null, cpusetCpus=null, cpusetMems=null, devices=null, deviceCgroupRules=null, deviceRequests=null, diskQuota=null, dns=null, dnsOptions=null, dnsSearch=null, extraHosts=[host.testcontainers.internal:172.17.0.3], groupAdd=null, ipcMode=null, cgroup=null, links=[], logConfig=LogConfig(type=null, config=null), lxcConf=null, memory=null, memorySwap=null, memoryReservation=null, kernelMemory=null, networkMode=78903febb4b4e7c6cf605f6c71e92bcf4f801726e2c5fbd1e8178c85a751627e, oomKillDisable=null, init=null, autoRemove=null, oomScoreAdj=null, portBindings={5900/tcp=[Lcom.github.dockerjava.api.model.Ports$Binding;@4e0cc165, 4444/tcp=[Lcom.github.dockerjava.api.model.Ports$Binding;@479c765d}, privileged=null, publishAllPorts=null, readonlyRootfs=null, restartPolicy=null, ulimits=null, cpuCount=null, cpuPercent=null, ioMaximumIOps=null, ioMaximumBandwidth=null, volumesFrom=[], mounts=null, pidMode=null, isolation=null, securityOpts=null, storageOpt=null, cgroupParent=null, volumeDriver=null, shmSize=null, pidsLimit=null, runtime=null, tmpFs=null, utSMode=null, usernsMode=null, sysctls=null, consoleSize=null, cgroupnsMode=null),hostName=<null>,image=selenium/standalone-firefox:124.0,ipv4Address=<null>,ipv6Address=<null>,labels={org.testcontainers=true, org.testcontainers.lang=java, org.testcontainers.version=1.19.7, org.testcontainers.sessionId=fed059b0-2354-4123-82a1-2dd7fcf7b6ab},macAddress=<null>,name=<null>,networkDisabled=<null>,networkingConfig=org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl$NetworkingConfig@6b74820a,onBuild=<null>,platform=<null>,portSpecs=<null>,shell=<null>,stdInOnce=<null>,stdinOpen=<null>,stopSignal=<null>,stopTimeout=<null>,tty=<null>,user=<null>,volumes=Volumes(volumes=[]),workingDir=<null>]
13:47:20.776 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:20,775 INFO Included extra file "/etc/supervisor/conf.d/firefox-cleanup.conf" during parsing
13:47:20.776 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:20,775 INFO Included extra file "/etc/supervisor/conf.d/selenium.conf" during parsing
13:47:20.777 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:20,775 INFO Included extra file "/etc/supervisor/conf.d/firefox-cleanup.conf" during parsing
13:47:20.777 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:20,775 INFO Included extra file "/etc/supervisor/conf.d/selenium.conf" during parsing
13:47:20.778 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:20,778 INFO RPC interface 'supervisor' initialized
13:47:20.778 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:20,778 CRIT Server 'unix_http_server' running without any HTTP authentication checking
13:47:20.779 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:20,778 INFO supervisord started with pid 8
13:47:20.786 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:20,778 INFO supervisord started with pid 8
13:47:20.786 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:20,778 CRIT Server 'unix_http_server' running without any HTTP authentication checking
13:47:20.786 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:20,778 INFO RPC interface 'supervisor' initialized
13:47:21.781 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,781 INFO spawned: 'browserleftoverscleanup' with pid 9
13:47:21.783 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,783 INFO spawned: 'xvfb' with pid 10
13:47:21.784 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,784 INFO spawned: 'vnc' with pid 11
13:47:21.786 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,786 INFO spawned: 'novnc' with pid 12
13:47:21.787 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,787 INFO spawned: 'selenium-standalone' with pid 14
13:47:21.788 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,788 INFO exited: browserleftoverscleanup (exit status 0; not expected)
13:47:21.790 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,790 INFO success: xvfb entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.790 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,790 INFO success: vnc entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.790 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,790 INFO success: novnc entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.790 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:21,790 INFO success: selenium-standalone entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.792 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: Appending Selenium options: --heartbeat-period 30
13:47:21.792 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: Appending Selenium options: --reject-unsupported-caps false
13:47:21.793 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: Setting up SE_NODE_GRID_URL...
13:47:21.796 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: Selenium Grid Standalone configuration: 
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: [network]
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: relax-checks = true
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: [node]
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: session-timeout = "3000"
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: override-max-sessions = false
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: detect-drivers = false
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: drain-after-session-count = 0
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: max-sessions = 1
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: [[node.driver-configuration]]
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: display-name = "firefox"
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: stereotype = '{"browserName": "firefox", "browserVersion": "124.0", "platformName": "Linux", "moz:firefoxOptions": {"binary": "/usr/bin/firefox"}}'
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: max-sessions = 1
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: Starting Selenium Grid Standalone...
13:47:21.797 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: Tracing is disabled
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: Tracing is disabled
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: Starting Selenium Grid Standalone...
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: max-sessions = 1
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: stereotype = '{"browserName": "firefox", "browserVersion": "124.0", "platformName": "Linux", "moz:firefoxOptions": {"binary": "/usr/bin/firefox"}}'
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: display-name = "firefox"
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: [[node.driver-configuration]]
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: max-sessions = 1
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: drain-after-session-count = 0
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: detect-drivers = false
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: override-max-sessions = false
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: session-timeout = "3000"
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: [node]
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: relax-checks = true
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: [network]
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: Selenium Grid Standalone configuration: 
13:47:21.798 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: Setting up SE_NODE_GRID_URL...
13:47:21.799 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: Appending Selenium options: --reject-unsupported-caps false
13:47:21.799 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: Appending Selenium options: --heartbeat-period 30
13:47:21.799 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:21,790 INFO success: selenium-standalone entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.799 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:21,790 INFO success: novnc entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.799 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:21,790 INFO success: vnc entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:21.799 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 2024-04-18 13:47:21,790 INFO success: xvfb entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
13:47:22.123 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.119 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
13:47:22.123 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.119 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
13:47:22.126 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.125 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
13:47:22.133 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.125 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
13:47:22.543 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.541 INFO [NodeOptions.getSessionFactories] - Detected 16 available processors
13:47:22.543 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.541 INFO [NodeOptions.getSessionFactories] - Detected 16 available processors
13:47:22.574 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.573 INFO [NodeOptions.report] - Adding firefox for {"browserName": "firefox","browserVersion": "124.0","moz:firefoxOptions": {"binary": "\u002fusr\u002fbin\u002ffirefox"},"platformName": "linux","se:noVncPort": 7900,"se:vncEnabled": true} 1 times
13:47:22.574 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.573 INFO [NodeOptions.report] - Adding firefox for {"browserName": "firefox","browserVersion": "124.0","moz:firefoxOptions": {"binary": "\u002fusr\u002fbin\u002ffirefox"},"platformName": "linux","se:noVncPort": 7900,"se:vncEnabled": true} 1 times
13:47:22.591 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.590 INFO [Node.<init>] - Binding additional locator mechanisms: relative
13:47:22.591 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.590 INFO [Node.<init>] - Binding additional locator mechanisms: relative
13:47:22.603 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.602 INFO [GridModel.setAvailability] - Switching Node c2b49afb-9067-4b75-a78d-1707dc55d279 (uri: http://172.21.0.2:4444) from DOWN to UP
13:47:22.603 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.602 INFO [GridModel.setAvailability] - Switching Node c2b49afb-9067-4b75-a78d-1707dc55d279 (uri: http://172.21.0.2:4444) from DOWN to UP
13:47:22.603 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.602 INFO [LocalDistributor.add] - Added node c2b49afb-9067-4b75-a78d-1707dc55d279 at http://172.21.0.2:4444. Health check every 120s
13:47:22.603 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.602 INFO [LocalDistributor.add] - Added node c2b49afb-9067-4b75-a78d-1707dc55d279 at http://172.21.0.2:4444. Health check every 120s
13:47:22.696 [ducttape-0] DEBUG o.t.c.output.WaitingConsumer - STDOUT: 13:47:22.695 INFO [Standalone.execute] - Started Selenium Standalone 4.19.1 (revision abe0ee07dc): http://172.21.0.2:4444
13:47:22.696 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:22.695 INFO [Standalone.execute] - Started Selenium Standalone 4.19.1 (revision abe0ee07dc): http://172.21.0.2:4444
13:47:22.761 [main] INFO  t.selenium/standalone-firefox:124.0 - Container selenium/standalone-firefox:124.0 started in PT3.897943984S
13:47:22.809 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:22,808 INFO spawned: 'browserleftoverscleanup' with pid 128
13:47:22.811 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:22,811 INFO exited: browserleftoverscleanup (exit status 0; not expected)
13:47:23.004 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:23.003 INFO [LocalDistributor.newSession] - Session request received by the Distributor: 
13:47:23.004 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT:  [Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.beforeunload_timeout_ms: 2000, dom.disable_beforeunload: false, dom.require_user_interaction_for_beforeunload: false}}, unhandledPromptBehavior: ignore}]
13:47:25.043 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:25.042 INFO [LocalNode.newSession] - Session created by the Node. Id: 0bfc00b8-9638-4f48-a14a-80f20d494736, Caps: Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 124.0.2, moz:accessibilityChecks: false, moz:buildID: 20240401114208, moz:debuggerAddress: 127.0.0.1:2096, moz:firefoxOptions: {prefs: {dom.beforeunload_timeout_ms: 2000, dom.disable_beforeunload: false, dom.require_user_interaction_for_beforeunload: false}}, moz:geckodriverVersion: 0.34.0, moz:headless: false, moz:platformVersion: 6.5.0-27-generic, moz:processID: 147, moz:profile: /tmp/rust_mozprofileCYHB21, moz:shutdownTimeout: 60000, moz:webdriverClick: true, moz:windowless: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:bidiEnabled: false, se:cdp: ws://172.21.0.2:4444/sessio..., se:cdpVersion: 85.0, se:noVncPort: 7900, se:vnc: ws://172.21.0.2:4444/sessio..., se:vncEnabled: true, se:vncLocalAddress: ws://172.21.0.2:7900, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore}
13:47:25.044 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:25,044 INFO spawned: 'browserleftoverscleanup' with pid 410
13:47:25.047 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:25,047 INFO exited: browserleftoverscleanup (exit status 0; not expected)
13:47:25.049 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:25.048 INFO [LocalDistributor.newSession] - Session created by the Distributor. Id: 0bfc00b8-9638-4f48-a14a-80f20d494736 
13:47:25.049 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT:  Caps: Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 124.0.2, moz:accessibilityChecks: false, moz:buildID: 20240401114208, moz:debuggerAddress: 127.0.0.1:2096, moz:firefoxOptions: {prefs: {dom.beforeunload_timeout_ms: 2000, dom.disable_beforeunload: false, dom.require_user_interaction_for_beforeunload: false}}, moz:geckodriverVersion: 0.34.0, moz:headless: false, moz:platformVersion: 6.5.0-27-generic, moz:processID: 147, moz:profile: /tmp/rust_mozprofileCYHB21, moz:shutdownTimeout: 60000, moz:webdriverClick: true, moz:windowless: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:bidiEnabled: false, se:cdp: ws://172.21.0.2:4444/sessio..., se:cdpVersion: 85.0, se:noVncPort: 7900, se:vnc: ws://172.21.0.2:4444/sessio..., se:vncEnabled: true, se:vncLocalAddress: ws://172.21.0.2:7900, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore}
13:47:25.116 [main] INFO  o.x.t.d.i.j.XWikiDockerExtension - (*) Initialize Test Context...
13:47:25.164 [main] TRACE o.t.s.c.g.d.c.e.LogContainerCmdExec - GET: DefaultWebTarget{path=[/containers/7592c5418bd3e4c70d8fe06e97fe51d7370c92ae3915f08eb932e7b1d0b608f1/logs], queryParams={stdout=[true], stderr=[true], follow=[true], tail=[0]}}
13:47:25.699 [main] INFO  o.x.t.d.i.j.XWikiDockerExtension - (*) Starting VNC container...
13:47:25.714 [main] DEBUG o.t.u.PrefixingImageNameSubstitutor - No prefix is configured
13:47:25.715 [main] DEBUG o.t.utility.ImageNameSubstitutor - Did not find a substitute image for testcontainers/vnc-recorder:1.3.0 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
13:47:25.715 [main] DEBUG o.t.images.AbstractImagePullPolicy - Using locally available and not pulling image: testcontainers/vnc-recorder:1.3.0
13:47:25.715 [main] DEBUG o.t.u.PrefixingImageNameSubstitutor - No prefix is configured
13:47:25.715 [main] DEBUG o.t.utility.ImageNameSubstitutor - Did not find a substitute image for testcontainers/vnc-recorder:1.3.0 (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))
13:47:25.715 [main] INFO  o.x.t.d.i.junit5.DockerTestUtils - XWiki starting container type/image: [org.testcontainers.containers.VncRecordingContainer]/[testcontainers/vnc-recorder:1.3.0]
13:47:25.715 [main] DEBUG t.testcontainers/vnc-recorder:1.3.0 - Starting container: testcontainers/vnc-recorder:1.3.0
13:47:25.715 [main] DEBUG t.testcontainers/vnc-recorder:1.3.0 - Trying to start container: testcontainers/vnc-recorder:1.3.0 (attempt 1/1)
13:47:25.715 [main] DEBUG t.testcontainers/vnc-recorder:1.3.0 - Starting container: testcontainers/vnc-recorder:1.3.0
13:47:25.715 [main] INFO  t.testcontainers/vnc-recorder:1.3.0 - Creating container for image: testcontainers/vnc-recorder:1.3.0
13:47:25.715 [main] DEBUG o.t.utility.RegistryAuthLocator - Looking up auth config for image: testcontainers/vnc-recorder:1.3.0 at registry: https://index.docker.io/v1/
13:47:25.715 [main] DEBUG o.t.utility.RegistryAuthLocator - No matching Auth Configs - falling back to defaultAuthConfig [null]
13:47:25.715 [main] DEBUG o.t.d.AuthDelegatingDockerClientConfig - Effective auth config [null]
13:47:26.720 [main] INFO  o.x.t.d.i.j.XWikiDockerExtension - (*) Starting test [testAlert]
13:47:27.985 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:27.980 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "260ed4269e74c50e4e6d153221d89a44","eventTime": 1713440847974375070,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:27.985 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:27.980 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "260ed4269e74c50e4e6d153221d89a44","eventTime": 1713440847974375070,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:27.985 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 
13:47:27.985 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:28.497 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:28.496 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "f0ea7fc4a418e78b95fd92772df28a07","eventTime": 1713440848496110855,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:28.497 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:28.496 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "f0ea7fc4a418e78b95fd92772df28a07","eventTime": 1713440848496110855,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:28.497 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:28.497 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 
13:47:28.498 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:28,498 INFO spawned: 'browserleftoverscleanup' with pid 540
13:47:28.498 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 2024-04-18 13:47:28,498 INFO spawned: 'browserleftoverscleanup' with pid 540
13:47:28.502 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 2024-04-18 13:47:28,502 INFO exited: browserleftoverscleanup (exit status 0; not expected)
13:47:28.502 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:28,502 INFO exited: browserleftoverscleanup (exit status 0; not expected)
13:47:29.006 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:29.005 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "e0ef1febb5bcfed5eaae9ffd85c4a25c","eventTime": 1713440849005168422,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:29.006 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:29.005 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "e0ef1febb5bcfed5eaae9ffd85c4a25c","eventTime": 1713440849005168422,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:29.006 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:29.006 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 
13:47:29.006 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 2024-04-18 13:47:29,005 INFO gave up: browserleftoverscleanup entered FATAL state, too many start retries too quickly
13:47:29.006 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 2024-04-18 13:47:29,005 INFO gave up: browserleftoverscleanup entered FATAL state, too many start retries too quickly
13:47:29.515 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:29.514 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "637498bc03fa8ce51a006b712364ba90","eventTime": 1713440849513903590,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:29.515 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:29.514 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "637498bc03fa8ce51a006b712364ba90","eventTime": 1713440849513903590,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:29.515 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:29.515 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 
13:47:30.023 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:30.023 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "cd48981a33ef7003f692512865056993","eventTime": 1713440850022654370,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:30.023 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:30.023 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "cd48981a33ef7003f692512865056993","eventTime": 1713440850022654370,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
[... Same logs for the wait loop ...]
13:47:37.646 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:37.646 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 
13:47:38.153 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:38.152 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "32690b29dcc49407431319b0ac5fb0e1","eventTime": 1713440858152529995,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:38.153 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:38.152 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "32690b29dcc49407431319b0ac5fb0e1","eventTime": 1713440858152529995,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}
13:47:38.153 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 
13:47:38.153 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 
13:47:38.200 [main] INFO  o.x.t.d.i.junit5.DockerTestUtils - Screenshot for test [testAlert] saved at [/home/urli/Github/xwiki-platform/xwiki-platform-core/xwiki-platform-menu/xwiki-platform-menu-test/xwiki-platform-menu-test-docker/./target/hsqldb_embedded-default-default-jetty_standalone-default-firefox/screenshots/hsqldb_embedded-default-default-jetty_standalone-default-firefox-org.xwiki.menu.test.ui.MenuIT-testAlert.png].
13:47:42.285 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:42.284 INFO [LocalSessionMap.lambda$new$0] - Deleted session from local Session Map, Id: 0bfc00b8-9638-4f48-a14a-80f20d494736
13:47:42.285 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:42.284 INFO [LocalSessionMap.lambda$new$0] - Deleted session from local Session Map, Id: 0bfc00b8-9638-4f48-a14a-80f20d494736
13:47:42.285 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:42.285 INFO [GridModel.release] - Releasing slot for session id 0bfc00b8-9638-4f48-a14a-80f20d494736
13:47:42.285 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:42.285 INFO [GridModel.release] - Releasing slot for session id 0bfc00b8-9638-4f48-a14a-80f20d494736
13:47:42.286 [docker-java-stream-1267231176] INFO  o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:42.285 INFO [SessionSlot.stop] - Stopping session 0bfc00b8-9638-4f48-a14a-80f20d494736
13:47:42.286 [docker-java-stream--1031302370] INFO  o.x.t.d.i.j.b.BrowserContainerExecutor - STDOUT: 13:47:42.285 INFO [SessionSlot.stop] - Stopping session 0bfc00b8-9638-4f48-a14a-80f20d494736
13:47:42.288 [main] INFO  o.x.t.d.i.j.XWikiDockerExtension - (*) Stopping database [HSQLDB_EMBEDDED]...
13:47:42.288 [main] INFO  o.x.t.d.i.j.XWikiDockerExtension - (*) Stopping Servlet container [JETTY_STANDALONE]...
2024-04-18 13:47:42,390 [CommonsExecStreamPumper-pool-272-thread-1] - Attempting to stop XWiki cleanly on port 8080... 
2024-04-18 13:47:42,598 [CommonsExecStreamPumper-pool-268-thread-1] - 2024-04-18 13:47:42.598:INFO :oxtjl.NotifyListener:ShutdownMonitor: ---------------------------------- 
2024-04-18 13:47:42,598 [CommonsExecStreamPumper-pool-268-thread-1] - 2024-04-18 13:47:42.598:INFO :oxtjl.NotifyListener:ShutdownMonitor: Arrêt du serveur en cours. Merci d'attendre que toutes les ressources soient libérées... 
13:47:43.340 [main] INFO  o.x.test.integration.XWikiExecutor - XWiki server running at [http://localhost:8080/xwiki/bin/get/Main/] has been stopped
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 100.2 s <<< FAILURE! -- in org.xwiki.menu.test.ui.MenuIT
[ERROR] org.xwiki.menu.test.ui.MenuIT.testAlert(TestUtils) -- Time elapsed: 16.00 s <<< ERROR!
org.openqa.selenium.TimeoutException: 
Expected condition failed: waiting for org.xwiki.test.ui.XWikiWebDriver$$Lambda$1598/0x00007a0d0cb0a8f8@74a09584 (tried for 10 second(s) with 500 milliseconds interval)
Build info: version: '4.19.1', revision: 'abe0ee07dc'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '6.5.0-27-generic', java.version: '17.0.10'
Driver info: org.xwiki.test.ui.XWikiWebDriver
Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 124.0.2, moz:accessibilityChecks: false, moz:buildID: 20240401114208, moz:debuggerAddress: 127.0.0.1:2096, moz:firefoxOptions: {prefs: {dom.beforeunload_timeout_ms: 2000, dom.disable_beforeunload: false, dom.require_user_interaction_for_beforeunload: false}}, moz:geckodriverVersion: 0.34.0, moz:headless: false, moz:platformVersion: 6.5.0-27-generic, moz:processID: 147, moz:profile: /tmp/rust_mozprofileCYHB21, moz:shutdownTimeout: 60000, moz:webdriverClick: true, moz:windowless: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:bidiEnabled: false, se:cdp: ws://172.21.0.2:4444/sessio..., se:cdpVersion: 85.0, se:noVncPort: 7900, se:vnc: ws://172.21.0.2:4444/sessio..., se:vncEnabled: true, se:vncLocalAddress: ws://172.21.0.2:7900, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: ignore}
Session ID: 0bfc00b8-9638-4f48-a14a-80f20d494736
	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:84)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:228)
	at org.xwiki.test.ui.XWikiWebDriver.waitUntilCondition(XWikiWebDriver.java:228)
	at org.xwiki.menu.test.ui.MenuIT.testAlert(MenuIT.java:181)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)

Operating System

Ubuntu

Docker Selenium version (image tag)

4.19.1

Selenium Grid chart version (chart version)

No response

Copy link

@surli, 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!

@surli
Copy link
Author

surli commented Apr 18, 2024

For the record I had to redact a bit the logs I had because it was too large to fit in the issue, full logs is available there: https://up1.xwikisas.com/#p8oLkDbzeapdtETj-lzrAQ

@VietND96
Copy link
Member

In your logs, there was something relates to http_res 404 on the session request on alert

13:47:35.105 [docker-java-stream-1267231176] INFO o.x.t.d.i.j.XWikiDockerExtension - STDOUT: 13:47:35.104 WARN [SeleniumSpanExporter$1.lambda$export$3] - {"traceId": "3d1719d01dbae017914382adaa829dc6","eventTime": 1713440855104671966,"eventName": "HTTP request execution complete","attributes": {"http.flavor": 1,"http.handler_class": "org.openqa.selenium.remote.http.Route$PredicatedRoute","http.host": "localhost:32997","http.method": "GET","http.request_content_length": "0","http.scheme": "HTTP","http.status_code": 404,"http.target": "\u002fsession\u002f0bfc00b8-9638-4f48-a14a-80f20d494736\u002falert\u002ftext","http.user_agent": "selenium\u002f4.19.1 (java unix)"}}

@diemol, do you think this is the same with issue is being discussed in SeleniumHQ/selenium#13769 ?

@surli
Copy link
Author

surli commented Apr 23, 2024

In your logs, there was something relates to http_res 404 on the session request on alert

This 404 is actually expected here, I'm actually accessing a page that doesn't exist in first line of my test here: https://github.com/xwiki/xwiki-platform/pull/3072/files#diff-6f6ed5d55aabf4072ff0345749be90154061c164af88505ec531abf78b342b50R178 so it's not related to a problem in Selenium AFAIK. I can try to run the test again with an existing page so that the logs are less confusing.

@diemol
Copy link
Member

diemol commented Apr 23, 2024

What happens when you execute your test outside Docker and using Firefox 124?

@surli
Copy link
Author

surli commented Apr 23, 2024

What happens when you execute your test outside Docker and using Firefox 124?

Well I haven't the setup for running the test outside of docker on firefox 124 :-/ I would need to write the test outside of our framework and have a machine with Firefox 124 installed, which I don't have right now (already upgraded to Firefox 125 locally).

I did try few weeks ago to execute manually the operations on the browser (so without selenium automation) when I was running Firefox 124.0: back then I wasn't reproducing the issue manually, meaning that the onbeforeunload was behaving as expected.

@diemol
Copy link
Member

diemol commented Apr 23, 2024

It sounds like it is an issue with Firefox 124. I just wanted to rule out that the issue comes because it is running inside a container.

@surli
Copy link
Author

surli commented Jun 14, 2024

Hi, is there any more investigation on this? We're still impacted even if we keep using the latest tag in selenium/standalone-firefox docker image (so Firefox 126 currently).

@diemol
Copy link
Member

diemol commented Jun 14, 2024

We have not done anything related to this. So we need a way to reproduce the issue to understand if this happens on Firefox or Firefox inside Docker.

My question above is still valid, have you tried to verify this on Firefox outside Docker?

@surli
Copy link
Author

surli commented Jun 14, 2024

My question above is still valid, have you tried to verify this on Firefox outside Docker?

I haven't I'd need help to write a simple script for doing that properly.

@VietND96
Copy link
Member

Below is a simple test I wrote to run on non-docker env. It passed on driver.Chrome(). However, didn't pass on Firefox (even FF <= v123.0) with env is Windows, binding Python 4.18.0+. How about the binding version in your test?

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

def open_url():
    driver = webdriver.Firefox()
    driver.get("https://www.selenium.dev/blog/2024/selenium-4-21-released/")
    driver.execute_script("window.onbeforeunload = function () { return false; }")
    link = driver.find_element(By.XPATH, "//a[text()='@diemol']")
    link.click()
    time.sleep(20)

    alert = WebDriverWait(driver, 3).until(EC.alert_is_present())
    alert.accept()
    driver.quit()

if __name__ == "__main__":
    open_url()

@surli
Copy link
Author

surli commented Jun 14, 2024

Below is a simple test I wrote to run on non-docker env. It passed on driver.Chrome(). However, didn't pass on Firefox (even FF <= v123.0) with env is Windows, binding Python 4.18.0+. How about the binding version in your test?

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

def open_url():
    driver = webdriver.Firefox()
    driver.get("https://www.selenium.dev/blog/2024/selenium-4-21-released/")
    driver.execute_script("window.onbeforeunload = function () { return false; }")
    link = driver.find_element(By.XPATH, "//a[text()='@diemol']")
    link.click()
    time.sleep(20)

    alert = WebDriverWait(driver, 3).until(EC.alert_is_present())
    alert.accept()
    driver.quit()

if __name__ == "__main__":
    open_url()

I will check for the binding, but FYI when I wrote my own test for exposing the bug (in xwiki/xwiki-platform#3072) I remember that I had problems to expose it when just clicking on a link: I had to click on a button which was part of a form to get the actual confirmation dialog in the test with firefox.

@surli
Copy link
Author

surli commented Jun 14, 2024

How about the binding version in your test?

We're using selenium-java 4.21.0

@VietND96
Copy link
Member

@diemol, what do you think on this case?

@diemol
Copy link
Member

diemol commented Jun 14, 2024

@surli can you share the test to reproduce this?

@diemol
Copy link
Member

diemol commented Jun 14, 2024

I mean, @VietND96 tried it, and it seems it is a Firefox issue. But to discard that it is not a Selenium issue, it would be great to see what your test looks like.

@surli
Copy link
Author

surli commented Jun 14, 2024

My test is in this PR: xwiki/xwiki-platform#3072 I'm using some java page object wrapping selenium API but it's basically doing same as @VietND96 snippet:

ViewPage viewPage = testUtils.gotoPage("Main", "WebHome"); // this one is a call to driver.get() with a computed URL
testUtils.getDriver().executeJavascript("window.onbeforeunload = function () { return false; }");
viewPage.edit(); // this one is about finding a button with some selector and then clicking on it
testUtils.getDriver().waitUntilCondition(ExpectedConditions.alertIsPresent()); 
testUtils.getDriver().switchTo().alert().dismiss();

@diemol
Copy link
Member

diemol commented Jun 14, 2024

Got it. Based on that, I would suggest to report the issue to Mozilla. I will share the link where you can do it in a moment.

Copy link

Hi, @surli.
This issue has been determined to require fixes in GeckoDriver.

You can see if the feature is passing in the Web Platform Tests.

If it is something new, please create an Issue with the GeckoDriver team.

Feel free to comment the issues that you raise back in this issue. Thank you.

Copy link

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.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 16, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants