joelittlejohn / embedmongo-maven-plugin

Maven plugin wrapper for the flapdoodle.de embedded MongoDB API
Apache License 2.0
88 stars 51 forks source link

Unclean Shutdown #68

Closed neodem closed 7 years ago

neodem commented 7 years ago

After my mvn run I'm seeing something odd. There is a class not found exception (below). I've checked that the dependency/class exists in the embedmongo-maven-plugin pom. I'm guessing there is some kind of shutdown hook and it's occurring after mvn releases it's class loader. I don't mind tracking this down more but I'm curious if you could provide some insight.

[INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:02 min [INFO] Finished at: 2016-12-07T10:32:44-05:00 [INFO] Final Memory: 117M/907M [INFO] ------------------------------------------------------------------------ [DEBUG] force delete for Version{3.0.7}:OS_X:B64 and de.flapdoodle.embed.process.extract.ImmutableExtractedFileSet@60bf9e2b [DEBUG] Free 1 de.flapdoodle.embed.process.extract.ImmutableExtractedFileSet@60bf9e2bException in thread "Thread-19" java.lang.NoClassDefFoundError: de/flapdoodle/embed/process/extract/ExtractedFileSets at de.flapdoodle.embed.process.store.ArtifactStore.removeFileSet(ArtifactStore.java:90) at de.flapdoodle.embed.process.store.CachingArtifactStore$FilesWithCounter.forceDelete(CachingArtifactStore.java:176) at de.flapdoodle.embed.process.store.CachingArtifactStore.removeAll(CachingArtifactStore.java:100) at de.flapdoodle.embed.process.store.CachingArtifactStore$CacheCleaner.run(CachingArtifactStore.java:196) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: de.flapdoodle.embed.process.extract.ExtractedFileSets at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239) ... 5 more

joelittlejohn commented 7 years ago

Hi. Issue #44 currently tracks this problem. It appears that there's something unsafe going on inside the underlying flapdoodle API. Doors anything here help: https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo/issues/116 ?