【发布时间】:2011-06-17 18:52:16
【问题描述】:
当我运行 mvn 测试 Maven 成功运行所有测试,然后进入等待无限循环 我在任务管理器中看到一个 java 进程,我必须在 maven 返回此错误消息之前将其杀死
测试运行:3,失败:0,错误:0,跳过:0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:33.949s
[INFO] Finished at: Fri Jun 17 14:50:01 EDT 2011
[INFO] Final Memory: 5M/247M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.
4:test (default-test) on project EDIFileHandling: There are test failures.
[ERROR]
[ERROR] Please refer to c:\code\target\surefire-reports for the individual test
results.
任何帮助表示赞赏。
谢谢
R
C:\Users\Raghuveer.Rao>jstack 7256
2011-06-17 15:24:55
Full thread dump Java HotSpot(TM) Client VM (20.0-b11 mixed mode, sharing):
“Thread-2”prio=6 tid=0x03ed3000 nid=0x14d0 等待监视器条目 [0x04ddf00 0] java.lang.Thread.State: BLOCKED (在对象监视器上) 在 org.hsqldb.Session.close(未知来源) - 等待锁定 (一个 org.hsqldb.Session) 在 org.hsqldb.SessionManager.closeAllSessions(未知来源) - 锁定 (一个 org.hsqldb.SessionManager) 在 org.hsqldb.Database.close(未知来源) 在 org.hsqldb.StatementCommand.getResult(未知来源) 在 org.hsqldb.StatementCommand.execute(未知来源) 在 org.hsqldb.Session.executeCompiledStatement(未知来源) 在 org.hsqldb.Session.executeDirectStatement(未知来源) 在 org.hsqldb.Session.execute(未知来源) - 锁定 (一个 org.hsqldb.Session) 在 org.hsqldb.jdbc.JDBCStatement.fetchResult(未知来源) 在 org.hsqldb.jdbc.JDBCStatement.execute(未知来源) - 锁定 (一个 org.hsqldb.jdbc.JDBCStatement) 在 org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory。 shutdownDatabase(EmbeddedDatabaseFactory.java:184) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB ean.destroy(EmbeddedDatabaseFactoryBean.java:57) 在 org.springframework.beans.factory.support.DisposableBeanAdapter.destr oy(DisposableBeanAdapter.java:184) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroyBean(DefaultSingletonBeanRegistry.java:487) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingleton(DefaultSingletonBeanRegistry.java:463) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingletons(DefaultSingletonBeanRegistry.java:431) - 锁定 (一个 java.util.LinkedHashMap) 在 org.springframework.context.support.AbstractApplicationContext.destro yBeans(AbstractApplicationContext.java:1048) 在 org.springframework.context.support.AbstractApplicationContext.doClos e(AbstractApplicationContext.java:1022) 在 org.springframework.context.support.AbstractApplicationContext$3.run( AbstractApplicationContext.java:940)
“Thread-1”prio=6 tid=0x03ed2c00 nid=0x1fe0 等待监视器条目 [0x04d8f00 0] java.lang.Thread.State: BLOCKED (在对象监视器上) 在 org.hsqldb.SessionManager.closeAllSessions(未知来源) - 等待锁定 (一个 org.hsqldb.SessionManager) 在 org.hsqldb.Database.close(未知来源) 在 org.hsqldb.StatementCommand.getResult(未知来源) 在 org.hsqldb.StatementCommand.execute(未知来源) 在 org.hsqldb.Session.executeCompiledStatement(未知来源) 在 org.hsqldb.Session.executeDirectStatement(未知来源) 在 org.hsqldb.Session.execute(未知来源) - 锁定 (一个 org.hsqldb.Session) 在 org.hsqldb.jdbc.JDBCStatement.fetchResult(未知来源) 在 org.hsqldb.jdbc.JDBCStatement.execute(未知来源) - 锁定 (一个 org.hsqldb.jdbc.JDBCStatement) 在 org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory。 shutdownDatabase(EmbeddedDatabaseFactory.java:184) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB ean.destroy(EmbeddedDatabaseFactoryBean.java:57) 在 org.springframework.beans.factory.support.DisposableBeanAdapter.destr oy(DisposableBeanAdapter.java:184) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroyBean(DefaultSingletonBeanRegistry.java:487) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingleton(DefaultSingletonBeanRegistry.java:463) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingletons(DefaultSingletonBeanRegistry.java:431) - 锁定 (一个 java.util.LinkedHashMap) 在 org.springframework.context.support.AbstractApplicationContext.destro yBeans(AbstractApplicationContext.java:1048) 在 org.springframework.context.support.AbstractApplicationContext.doClos e(AbstractApplicationContext.java:1022) 在 org.springframework.context.support.AbstractApplicationContext$3.run( AbstractApplicationContext.java:940)
“内存不足检测器”守护进程 prio=6 tid=0x01bdac00 nid=0x1eb0 可运行 [0x000000 00] java.lang.Thread.State: 可运行
“C1 CompilerThread0”守护进程prio=10 tid=0x01bc8400 nid=0x18e8 等待条件 在 [0x00000000] java.lang.Thread.State: 可运行
“附加监听器”守护进程prio=10 tid=0x01bc5400 nid=0x1ac0 等待条件 [0x00000000] java.lang.Thread.State: 可运行
“信号调度程序”守护进程prio=10 tid=0x01bc2400 nid=0x1fbc 可运行[0x0000000 0] java.lang.Thread.State: 可运行
“终结器”守护进程 prio=8 tid=0x01bbb800 nid=0x1c00 in Object.wait() [0x03cdf000 ] java.lang.Thread.State:等待(在对象监视器上) 在 java.lang.Object.wait(本机方法) - 等待 (java.lang.ref.ReferenceQueue$Lock) 在 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - 锁定 (一个 java.lang.ref.ReferenceQueue$Lock) 在 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) 在 java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
“引用处理程序”守护进程 prio=10 tid=0x01bba000 nid=0x810 in Object.wait() [0x 03c8f000] java.lang.Thread.State:等待(在对象监视器上) 在 java.lang.Object.wait(本机方法) - 等待 (java.lang.ref.Reference$Lock) 在 java.lang.Object.wait(Object.java:485) 在 java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - 锁定 (一个 java.lang.ref.Reference$Lock)
“main”prio=6 tid=0x00e29800 nid=0x1e20 in Object.wait() [0x001bf000] java.lang.Thread.State:等待(在对象监视器上) 在 java.lang.Object.wait(本机方法) - 等待 (一个 org.springframework.context.support.Abstract tApplicationContext$3) 在 java.lang.Thread.join(Thread.java:1186) - 锁定 (一个 org.springframework.context.support.AbstractApp licationContext$3) 在 java.lang.Thread.join(Thread.java:1239) 在 java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks. 爪哇:79) 在 java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.jav 答:24) 在 java.lang.Shutdown.runHooks(Shutdown.java:79) 在 java.lang.Shutdown.sequence(Shutdown.java:123) 在 java.lang.Shutdown.exit(Shutdown.java:168) - 锁定 (java.lang.Shutdown 的 java.lang.Class) 在 java.lang.Runtime.exit(Runtime.java:90) 在 java.lang.System.exit(System.java:904) 在 org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.j ava:986)
“VM 线程”prio=10 tid=0x01b7e400 nid=0x1e10 可运行
“VM 周期性任务线程”prio=10 tid=0x01bec800 nid=0x1bac 等待条件
JNI 全局引用:1776
发现一个 Java 级别的死锁:
“线程 2”: 等待锁定监视器 0x0467c1cc(对象 0x23ba76f0,一个 org.hsqldb.Session), 由“Thread-1”持有 “线程 1”: 等待锁定监视器 0x01bbf56c(对象 0x292ce828,一个 org.hsqldb.SessionMan 年龄), 由“Thread-2”持有
上面列出的线程的 Java 堆栈信息:
“线程 2”: 在 org.hsqldb.Session.close(未知来源) - 等待锁定 (一个 org.hsqldb.Session) 在 org.hsqldb.SessionManager.closeAllSessions(未知来源) - 锁定 (一个 org.hsqldb.SessionManager) 在 org.hsqldb.Database.close(未知来源) 在 org.hsqldb.StatementCommand.getResult(未知来源) 在 org.hsqldb.StatementCommand.execute(未知来源) 在 org.hsqldb.Session.executeCompiledStatement(未知来源) 在 org.hsqldb.Session.executeDirectStatement(未知来源) 在 org.hsqldb.Session.execute(未知来源) - 锁定 (一个 org.hsqldb.Session) 在 org.hsqldb.jdbc.JDBCStatement.fetchResult(未知来源) 在 org.hsqldb.jdbc.JDBCStatement.execute(未知来源) - 锁定 (一个 org.hsqldb.jdbc.JDBCStatement) 在 org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory。 shutdownDatabase(EmbeddedDatabaseFactory.java:184) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB ean.destroy(EmbeddedDatabaseFactoryBean.java:57) 在 org.springframework.beans.factory.support.DisposableBeanAdapter.destr oy(DisposableBeanAdapter.java:184) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroyBean(DefaultSingletonBeanRegistry.java:487) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingleton(DefaultSingletonBeanRegistry.java:463) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingletons(DefaultSingletonBeanRegistry.java:431) - 锁定 (一个 java.util.LinkedHashMap) 在 org.springframework.context.support.AbstractApplicationContext.destro yBeans(AbstractApplicationContext.java:1048) 在 org.springframework.context.support.AbstractApplicationContext.doClos e(AbstractApplicationContext.java:1022) 在 org.springframework.context.support.AbstractApplicationContext$3.run( AbstractApplicationContext.java:940) “线程 1”: 在 org.hsqldb.SessionManager.closeAllSessions(未知来源) - 等待锁定 (一个 org.hsqldb.SessionManager) 在 org.hsqldb.Database.close(未知来源) 在 org.hsqldb.StatementCommand.getResult(未知来源) 在 org.hsqldb.StatementCommand.execute(未知来源) 在 org.hsqldb.Session.executeCompiledStatement(未知来源) 在 org.hsqldb.Session.executeDirectStatement(未知来源) 在 org.hsqldb.Session.execute(未知来源) - 锁定 (一个 org.hsqldb.Session) 在 org.hsqldb.jdbc.JDBCStatement.fetchResult(未知来源) 在 org.hsqldb.jdbc.JDBCStatement.execute(未知来源) - 锁定 (一个 org.hsqldb.jdbc.JDBCStatement) 在 org.springframework.jdbc.datasource.embedded.AbstractEmbeddedDatabase Configurer.shutdown(AbstractEmbeddedDatabaseConfigurer.java:42) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactory。 shutdownDatabase(EmbeddedDatabaseFactory.java:184) 在 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseFactoryB ean.destroy(EmbeddedDatabaseFactoryBean.java:57) 在 org.springframework.beans.factory.support.DisposableBeanAdapter.destr oy(DisposableBeanAdapter.java:184) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroyBean(DefaultSingletonBeanRegistry.java:487) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingleton(DefaultSingletonBeanRegistry.java:463) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistr y.destroySingletons(DefaultSingletonBeanRegistry.java:431) - 锁定 (一个 java.util.LinkedHashMap) 在 org.springframework.context.support.AbstractApplicationContext.destro yBeans(AbstractApplicationContext.java:1048) 在 org.springframework.context.support.AbstractApplicationContext.doClos e(AbstractApplicationContext.java:1022) 在 org.springframework.context.support.AbstractApplicationContext$3.run( AbstractApplicationContext.java:940)
发现 1 个死锁。
C:\Users\Raghuveer.Rao>
【问题讨论】:
标签: maven-3 maven-surefire-plugin