de.flapdoodle.embed.mongo: MongodExecutable.stop() never ends on Windows
Hi,
We have a working unit test on Linux that didn’t work on Windows.
We’re starting a database at the begining of the test then stopping it at the end via the MongodExecutable.stop()
method.
On Windows, the test never ends and get killed by surefire after the timeout.
When killing, surefire takes a thread dump and here what we see:
Killing self fork JVM. Received SHUTDOWN command from Maven shutdown hook.
Thread dump before killing the process (5252@fv-az283-841):
"main"
java.lang.Thread.State: RUNNABLE
at java.base@11.0.14/java.io.FileDescriptor.close0(Native Method)
at java.base@11.0.14/java.io.FileDescriptor.close(FileDescriptor.java:297)
at java.base@11.0.14/java.io.FileInputStream$1.close(FileInputStream.java:375)
at java.base@11.0.14/java.io.FileDescriptor.closeAll(FileDescriptor.java:355)
at java.base@11.0.14/java.io.FileInputStream.close(FileInputStream.java:373)
at de.flapdoodle.embed.process.runtime.ProcessControl.closeIOAndDestroy(ProcessControl.java:89)
at de.flapdoodle.embed.process.runtime.ProcessControl.stopOrDestroyProcess(ProcessControl.java:124)
at de.flapdoodle.embed.process.runtime.ProcessControl.waitForProcessGotKilled(ProcessControl.java:145)
at de.flapdoodle.embed.process.runtime.ProcessControl.stop(ProcessControl.java:81)
at de.flapdoodle.embed.process.runtime.ProcessControl.stop(ProcessControl.java:77)
at de.flapdoodle.embed.process.runtime.AbstractProcess.stopProcess(AbstractProcess.java:196)
at de.flapdoodle.embed.mongo.AbstractMongoProcess.stopInternal(AbstractMongoProcess.java:119)
at de.flapdoodle.embed.process.runtime.AbstractProcess.stop(AbstractProcess.java:174)
at de.flapdoodle.embed.process.runtime.Executable.stop(Executable.java:81)
[... other frame in or code ...]
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 1
- Comments: 27 (11 by maintainers)
I’m also seeing this (or a similar issue) with tests passing on mac os and hanging on windows.
OpenJDK Runtime Environment (build 17.0.2+8-86) Windows 11 de.flapdoodle.embed:de.flapdoodle.embed.mongo:2.2.0
The test fails to complete with:
16:01:25.299 [Test worker] DEBUG org.mongodb.driver.connection - Closing connection connectionId{localValue:1, serverValue:1} 16:01:25.300 [Test worker] DEBUG org.mongodb.driver.connection - Closing connection connectionId{localValue:2, serverValue:2} 16:01:25.308 [Test worker] DEBUG reactor.core.publisher.Hooks - Reset onEachOperator: micronaut 16:01:25.316 [Test worker] DEBUG d.f.embed.mongo.AbstractMongoProcess - try to stop mongod 16:01:25.436 [Test worker] INFO d.f.e.process.runtime.ProcessControl - stopOrDestroyProcess: process has not exited