java.io.IOException: Recursive records found gets thrown every time
I put together IntelliJ plugin tests that extend from LightCodeInsightFixtureTestCase. Tests run fine but i've been getting a new error that adds a lot of noise to the test run when I use gradle and when i run them from IntelliJ. Wondering if there is a workaround for this.
--------------------
ERROR: Local history is broken(version:6,current timestamp:May 1, 2018 2:40:51 PM,storage timestamp:Apr 30, 2018 7:39:16 PM,vfs timestamp:Apr 30, 2018 7:39:16 PM)
null
java.io.IOException: Recursive records found
at com.intellij.history.core.ChangeListStorageImpl.doReadPrevSafely(ChangeListStorageImpl.java:280)
at com.intellij.history.core.ChangeListStorageImpl.findFirstObsoleteBlock(ChangeListStorageImpl.java:271)
at com.intellij.history.core.ChangeListStorageImpl.purge(ChangeListStorageImpl.java:237)
at com.intellij.history.core.ChangeList.purgeObsolete(ChangeList.java:175)
at com.intellij.history.integration.LocalHistoryImpl.doDispose(LocalHistoryImpl.java:127)
at com.intellij.history.integration.LocalHistoryImpl.lambda$initComponent$0(LocalHistoryImpl.java:73)
at com.intellij.openapi.util.ShutDownTracker.run(ShutDownTracker.java:60)
at java.lang.Thread.run(Thread.java:748)
ERROR: Local history is broken(version:6,current timestamp:May 1, 2018 2:40:51 PM,storage timestamp:Apr 30, 2018 7:39:16 PM,vfs timestamp:Apr 30, 2018 7:39:16 PM)
null
java.lang.AssertionError: Local history is broken(version:6,current timestamp:May 1, 2018 2:40:51 PM,storage timestamp:Apr 30, 2018 7:39:16 PM,vfs timestamp:Apr 30, 2018 7:39:16 PM)
null
at com.intellij.testFramework.LoggedErrorProcessor.processError(LoggedErrorProcessor.java:61)
at com.intellij.testFramework.TestLogger.error(TestLogger.java:40)
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:154)
at com.intellij.history.core.ChangeListStorageImpl.handleError(ChangeListStorageImpl.java:110)
at com.intellij.history.core.ChangeListStorageImpl.purge(ChangeListStorageImpl.java:250)
at com.intellij.history.core.ChangeList.purgeObsolete(ChangeList.java:175)
at com.intellij.history.integration.LocalHistoryImpl.doDispose(LocalHistoryImpl.java:127)
at com.intellij.history.integration.LocalHistoryImpl.lambda$initComponent$0(LocalHistoryImpl.java:73)
at com.intellij.openapi.util.ShutDownTracker.run(ShutDownTracker.java:60)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Recursive records found
at com.intellij.history.core.ChangeListStorageImpl.doReadPrevSafely(ChangeListStorageImpl.java:280)
at com.intellij.history.core.ChangeListStorageImpl.findFirstObsoleteBlock(ChangeListStorageImpl.java:271)
at com.intellij.history.core.ChangeListStorageImpl.purge(ChangeListStorageImpl.java:237)
... 5 more
Exception in thread "Shutdown tracker" java.lang.AssertionError: Local history is broken(version:6,current timestamp:May 1, 2018 2:40:51 PM,storage timestamp:Apr 30, 2018 7:39:16 PM,vfs timestamp:Apr 30, 2018 7:39:16 PM)
null
at com.intellij.testFramework.LoggedErrorProcessor.processError(LoggedErrorProcessor.java:61)
at com.intellij.testFramework.TestLogger.error(TestLogger.java:40)
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:158)
at com.intellij.openapi.util.ShutDownTracker.run(ShutDownTracker.java:63)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.AssertionError: Local history is broken(version:6,current timestamp:May 1, 2018 2:40:51 PM,storage timestamp:Apr 30, 2018 7:39:16 PM,vfs timestamp:Apr 30, 2018 7:39:16 PM)
null
at com.intellij.testFramework.LoggedErrorProcessor.processError(LoggedErrorProcessor.java:61)
at com.intellij.testFramework.TestLogger.error(TestLogger.java:40)
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:154)
at com.intellij.history.core.ChangeListStorageImpl.handleError(ChangeListStorageImpl.java:110)
at com.intellij.history.core.ChangeListStorageImpl.purge(ChangeListStorageImpl.java:250)
at com.intellij.history.core.ChangeList.purgeObsolete(ChangeList.java:175)
at com.intellij.history.integration.LocalHistoryImpl.doDispose(LocalHistoryImpl.java:127)
at com.intellij.history.integration.LocalHistoryImpl.lambda$initComponent$0(LocalHistoryImpl.java:73)
at com.intellij.openapi.util.ShutDownTracker.run(ShutDownTracker.java:60)
... 1 more
Caused by: java.io.IOException: Recursive records found
at com.intellij.history.core.ChangeListStorageImpl.doReadPrevSafely(ChangeListStorageImpl.java:280)
at com.intellij.history.core.ChangeListStorageImpl.findFirstObsoleteBlock(ChangeListStorageImpl.java:271)
at com.intellij.history.core.ChangeListStorageImpl.purge(ChangeListStorageImpl.java:237)
... 5 more
Process finished with exit code 0
----------------------------
From what i recall, this issue started after i move classes around. Any help will be much appreciated
请先登录再写评论。
Looks like the issue is reported in https://youtrack.jetbrains.com/issue/IDEA-180361
Clearing local histroy should help. THis can be done by deleting the system/LocalHistory
See https://intellij-support.jetbrains.com/hc/en-us/articles/206544519-Directories-used-by-the-IDE-to-store-settings-caches-plugins-and-logs for directory location.
I tried deleting LocalHistory for Mac per the doc ,
~/Library/Caches/IdeaIC2017.3/LocalHistory/
it didn't fix the issue. Is there anything else I need to clean?
It is weird but cleaning gradle cache fixed the issue. tysm!
Same for me. Cleaning gradle cache got me past this. Cleaning Intellij localHistory did not help.
Thanks