0

Our Jenkins (maven) build randomly fails with the following error stack:

 -- (StackOverflowError) null
null
java.lang.StackOverflowError
    at org.aspectj.weaver.World.resolve(World.java:273)
    at org.aspectj.weaver.World.resolve(World.java:209)
    at org.aspectj.weaver.UnresolvedType.resolve(UnresolvedType.java:645)
    at org.aspectj.weaver.ResolvedType.getRawType(ResolvedType.java:2331)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:427)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:393)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:427)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:393)

this failure is definitely not caused by actual code change as usually after such a failure, the subsequent build, manually triggered (i.e. not code committed), succeeds.

Versions are as follows :

Jenkins: 1.501

maven: 2.2.2

aspectjrt: 1.6.10

Anyone has an idea how to address this?

4

2 回答 2

0

只是猜测,但由于 1.6.8 中修复的错误而发生了类似的错误。是什么阻止您升级到当前的 AspectJ 版本?你的真的老了。

于 2013-04-17T12:55:18.543 回答
0

我相信升级到最新版本的 aspectj 没有解决问题的原因是因为 aspectj maven 插件版本 1.3 是在 pom.xml 中定义的。此版本的插件依赖于 aspectj 版本 1.6.7(1.6.8 之前的版本,其中引入了修复)。将插件升级到 1.4 版(取决于 aspectj 1.6.11 版)似乎已经解决了这个问题,因为从那以后我们没有收到 StackOverflowError 异常。

一般来说,应该检查依赖树(包括插件),以防有过时的隐藏依赖。

找出依赖树(包括插件)的命令是:

mvn dependency:tree

mvn dependency:resolve-plugins

于 2013-05-28T14:27:23.967 回答