testcontainers / testcontainers/testcontainers-java
[Bug]: NullPointerException from ResourceReaper in GenericContainer.stop
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 8.7k
- Forks
- 1.9k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
Module
Core
Testcontainers version
2.0.3
Using the latest Testcontainers version?
Yes
Host OS
Linux
Host Arch
x86
Docker version
GitHub hosted runners
What happened?
java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "key" is null
at java.base/java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1125)
at java.base/java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1116)
at org.testcontainers.utility.ResourceReaper.stopAndRemoveContainer(ResourceReaper.java:175)
at org.testcontainers.containers.GenericContainer.stop(GenericContainer.java:652)
at io.trino.tests.product.launcher.env.DockerContainer.reset(DockerContainer.java:411)
at io.trino.tests.product.launcher.env.Environment.tryStart(Environment.java:157)
Exact repro steps are unclear.
Based on exceptions logged earlier in the CI run (https://github.com/trinodb/trino/actions/runs/22016571723/job/63619535768?pr=28120) this may be after a failed startup attempt.
Relevant log output
Additional Information
https://github.com/trinodb/trino/actions/runs/22016571723/job/63619535768?pr=28120
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne bei ResourceReaper.java in Zeile 175 und GenericContainer.java in Zeile 652 und vergleiche anschließend die Ausnahmen beim fehlgeschlagenen Start im verknüpften Trino-CI-Lauf. Reproduziere den Bereinigungspfad nach einem fehlgeschlagenen Start und füge eine Abdeckung hinzu, die zeigt, dass GenericContainer.stop ohne diese NullPointerException abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, java
- Bereich
- testing
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 42/100