Intellij IDEA:关于构建项目的StackOverflowError

时间:2017-12-13 14:02:57

标签: maven intellij-idea build stack-overflow

我在Intellij IDEA 2017.2中构建项目时有一个StackOverflowError。在我放弃了所有IDEA设置并开始重新启动我的项目之后,它开始出现了。

构建日志包含以下内容:

2017-12-13 14:59:55,043 [  16299]   INFO - .incremental.IncProjectBuilder - Building project; isRebuild:false; isMake:true parallel compilation:false
2017-12-13 14:59:55,043 [  16299]   INFO - kotlin.jps.build.KotlinBuilder - is Kotlin incremental compilation enabled: true
2017-12-13 14:59:55,043 [  16299]   INFO - kotlin.jps.build.KotlinBuilder - is Kotlin experimental incremental compilation enabled: true
2017-12-13 14:59:55,060 [  16316]   INFO - kotlin.jps.build.KotlinBuilder - is Kotlin compiler daemon enabled: true
2017-12-13 14:59:55,060 [  16316]   INFO - kotlin.jps.build.KotlinBuilder - Label in local history: build started 2019016a
2017-12-13 14:59:55,066 [  16322]   INFO - CompilerBackwardReferenceIndex - backward reference index version differ due to: class java.io.FileNotFoundException
2017-12-13 14:59:55,080 [  16336]   INFO - .incremental.IncProjectBuilder - Cleaned output directories in 14 ms
2017-12-13 14:59:55,346 [  16602]   INFO - .incremental.IncProjectBuilder - maven-resources-test:project-common: java.lang.StackOverflowError
org.jetbrains.jps.incremental.ProjectBuildException: maven-resources-test:project-common: java.lang.StackOverflowError
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1035)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:900)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:733)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:385)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:192)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:236)
at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.StackOverflowError
at com.intellij.util.io.PagedFileStorage.getByteBuffer(PagedFileStorage.java:193)
at com.intellij.util.io.IntToIntBtree$BtreePage.syncWithStore(IntToIntBtree.java:332)
at com.intellij.util.io.IntToIntBtree$BtreePage.setAddress(IntToIntBtree.java:321)
at com.intellij.util.io.IntToIntBtree.processLeafPages(IntToIntBtree.java:1178)
at com.intellij.util.io.IntToIntBtree.processLeafPages(IntToIntBtree.java:1179)
at com.intellij.util.io.IntToIntBtree.processLeafPages(IntToIntBtree.java:1179)
at com.intellij.util.io.IntToIntBtree.processLeafPages(IntToIntBtree.java:1179)

这个方法有很多相同的调用。在堆栈跟踪结束时:

2017-12-13 14:59:56,059 [      0]   INFO - etbrains.jps.cmdline.BuildMain - Build process started. Classpath: C:/path/to/idea/lib/jps-launcher.jar;C:/path/to/jdk/lib/tools.jar;C:/path/to/idea/lib/optimizedFileManager.jar
2017-12-13 14:59:56,150 [     91]   INFO - til.internal.PlatformDependent - Your platform does not provide complete low-level API for accessing direct buffers reliably. Unless explicitly requested, heap buffer will always be preferred to avoid potential system instability.
2017-12-13 14:59:56,528 [    469]   INFO - etbrains.jps.cmdline.BuildMain - Connection to IDE established in 439 ms
2017-12-13 14:59:56,544 [    485]   INFO - penapi.util.io.win32.IdeaWin32 - Native filesystem for Windows is operational
2017-12-13 14:59:56,545 [    486]   INFO - jps.cmdline.JpsModelLoaderImpl - Loading model: project path = /path/to/project, global options path = path/to/options
2017-12-13 14:59:57,128 [   1069]   INFO - jps.cmdline.JpsModelLoaderImpl - Model loaded in 583 ms
2017-12-13 14:59:57,128 [   1069]   INFO - jps.cmdline.JpsModelLoaderImpl - Project has 11 modules, 179 libraries
2017-12-13 14:59:57,316 [   1257]   INFO - ellij.util.io.PagedFileStorage - lower=100; upper=500; buffer=10; max=3536
2017-12-13 14:59:57,512 [   1453]   INFO - etbrains.jps.cmdline.BuildMain - Pre-loaded process ready in 1453 ms

我发现了一个类似的问题 - IntelliJ IDEA: StackOverflowError on Build Project,但解决方案 - 设置-Xss4m并没有帮助我。

我认为此错误可能在某种程度上与我的settings.xml Maven文件有关,因为我在清除了IDEA的设置后对其进行了修改。但是,我无法理解为什么会导致这个错误。

我非常感谢有关这个问题的任何帮助。

2 个答案:

答案 0 :(得分:0)

解决方案(一个相当简单的解决方案)是完全重新安装IDEA,同时删除所有配置和插件。重新安装IDEA,同时保持配置以前没有工作,所以很可能我的设置文件中有一些配置错误。

答案 1 :(得分:0)

我反复加载和卸载模块后遇到了这个问题。更改堆栈大小没有帮助,并且构建可以从命令行使用Maven。

我做了File-> Invalidate Caches / Restart ...并修复了它。