[Bug]: Cannot reuse Selenium BrowserWebDriverContainers under Linux
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia in modules/selenium/src/main/java/org/testcontainers/containers/BrowserWebDriverContainer.java intorno alla riga 224, dove viene aggiunto il bind di /dev/shm. Riproduci il problema con il BuggyTest fornito su Linux, quindi verifica che l'avvio dello stesso BrowserWebDriverContainer dopo averlo arrestato non fallisca più con un errore di punto di mount duplicato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Module
Selenium
Testcontainers version
2.0.5
Using the latest Testcontainers version?
Yes
Host OS
Ubuntu 26 LTS
Host Arch
x86-64
Docker version
Client:
Version: 29.6.2
API version: 1.55
Go version: go1.26.5
Git commit: dfc4efb
Built: Thu Jul 16 16:11:35 2026
OS/Arch: linux/amd64
Context: default
Server: Docker Desktop 4.83.0 (234302)
Engine:
Version: 29.6.2
API version: 1.55 (minimum version 1.40)
Go version: go1.26.5
Git commit: 3d80467
Built: Thu Jul 16 16:12:20 2026
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.2.5
GitCommit: e53c7c1516c3b2bff98eb76f1f4117477e6f4e66
runc:
Version: 1.3.6
GitCommit: v1.3.6-0-g491b69ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
What happened?
When trying to reuse a BrowserWebDriverContainer under Linux, starting the container after stopping it once fails with com.github.dockerjava.api.exception.BadRequestException: Status 400: {"message":"Duplicate mount point: /dev/shm"}. Under Windows the following test succeeds - under Linux it does not.
Reproducer:
import org.junit.jupiter.api.Test;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.selenium.BrowserWebDriverContainer;
import org.testcontainers.utility.DockerImageName;
@Testcontainers
public class BuggyTest {
@Container
static final BrowserWebDriverContainer BROWSER_WEB_DRIVER_CONTAINER = new BrowserWebDriverContainer(
DockerImageName.parse("selenium/standalone-chrome:148.0-20260505")
);
@Test
void testContainer() {
BROWSER_WEB_DRIVER_CONTAINER.start();
BROWSER_WEB_DRIVER_CONTAINER.stop();
BROWSER_WEB_DRIVER_CONTAINER.start(); //this fails
BROWSER_WEB_DRIVER_CONTAINER.stop();
}
}
Relevant log output
org.testcontainers.containers.ContainerLaunchException: Container startup failed for image selenium/standalone-chrome:148.0-20260505
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:346)
at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:317)
at org.example.testcontainerseleniumbugdemo.BuggyTest.testContainer(BuggyTest.java:22)
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:88)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:331)
... 2 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:551)
at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:341)
at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:81)
... 3 more
Caused by: com.github.dockerjava.api.exception.BadRequestException: Status 400: {"message":"Duplicate mount point: /dev/shm"}
at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:237)
at org.testcontainers.shaded.com.github.dockerjava.core.DefaultInvocationBuilder.post(DefaultInvocationBuilder.java:124)
at org.testcontainers.shaded.com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:37)
at org.testcontainers.shaded.com.github.dockerjava.core.exec.CreateContainerCmdExec.execute(CreateContainerCmdExec.java:13)
at org.testcontainers.shaded.com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
at org.testcontainers.shaded.com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:33)
at org.testcontainers.shaded.com.github.dockerjava.core.command.CreateContainerCmdImpl.exec(CreateContainerCmdImpl.java:608)
at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:425)
... 5 more
Additional Information
The problem is most likely located in https://github.com/testcontainers/testcontainers-java/blob/main/modules/selenium/src/main/java/org/testcontainers/containers/BrowserWebDriverContainer.java#L224 that adds the /dev/shm bind again, not checking that the bind has been already added previously.
- Lingua principale
- Java
- Stelle
- 8.7k
- Fork
- 1.9k
- Merge medio
- 2g 17h
- PR unite (30g)
- 9
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di testcontainers/testcontainers-java
-
type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
testcontainers/testcontainers-java#11997 · 1 commento ·
-
[Enhancement]: Document why singleton containers are required under Spring's test context caching Apertatype/enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
testcontainers/testcontainers-java#11967 ·
-
type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
testcontainers/testcontainers-java#11829 · 1 commento ·
-
type/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
testcontainers/testcontainers-java#11578 ·
-
help wanted type/feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
testcontainers/testcontainers-java#8657 · 4 commenti ·
Tutte le issue di testcontainers/testcontainers-java
Issue simili
-
Bug Java Platform: Java
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
getsentry/sentry-java#6138 · 1 commento ·
-
bug needs triage p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
GoogleCloudPlatform/DataflowTemplates#4273 · 1 commento ·
-
[Studio][Bug] Bulk-deleting a full page of alert rules steps the page back while more rules remain Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/rocketmq-dashboard#4654 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100