Using Build #IC-221.5080.210, built on April 12, 2022 with Cursive. This has been bugging me for quite a while, so can't say when this was introduced (or if it was an issue). Definitely an issue in 1.12.3.
Reproduction steps:
lein new lib-a
lein new lib-b
For both generated project.clj create a new Cursive Project using New -> Project from existing sources... . Just clicking through the Options and using my default Java 11 JDK.
Once created close both projects. Now add the lib-a as a checkout dependency to lib-b.
cd lib-b
mkdir checkouts
ln -s ../../lib-a lib-a
Now open the lib-b Project again via Open Recent. Once it settled down and found the lib-a checkout (happens automatically) and properly integrated it open lib-a as well. Let that settle again and then close lib-b. At this point it somehow messes with the lib-a project and its lib-a module either disappears completely or just forgets about the lib-a project dir and only shows the source paths.
The lib-a project ends up looking like this, with no module and no way to select sources or so

In lib-a hitting the Leiningen -> Refresh Leiningen Projects yields this error and ends up creating a new module lib-a-1 it seems?

After all of this it may end up working for a bit, but after a while the lib-a project is lost again and refreshing it ends up creating a lib-a-2. This continues on on my actual lib I'm up to -6 now. I'm not sure exactly what triggers all this but it gets frustrating since all project settings are lost for lib-a every time.
This is the reported error:
modifyEntity: persistent id already exists. Replacing entity with the new one.
Old entity: ModuleEntityData(name=lib-a, type=JAVA_MODULE, dependencies=[com.intellij.workspaceModel.storage.bridgeEntities.ModuleDependencyItem$InheritedSdkDependency@16385339, com.intellij.workspaceModel.storage.bridgeEntities.ModuleDependencyItem$ModuleSourceDependency@216b4355, LibraryDependency(library=LibraryId(name=Leiningen: clojure-complete:0.2.5, tableId=com.intellij.workspaceModel.storage.bridgeEntities.LibraryTableId$ProjectLibraryTableId@325a44f2), exported=false, scope=COMPILE), LibraryDependency(library=LibraryId(name=Leiningen: nrepl:0.6.0, tableId=com.intellij.workspaceModel.storage.bridgeEntities.LibraryTableId$ProjectLibraryTableId@325a44f2), exported=false, scope=COMPILE), LibraryDependency(library=LibraryId(name=Leiningen: org.clojure/clojure:1.10.1, tableId=com.intellij.workspaceModel.storage.bridgeEntities.LibraryTableId$ProjectLibraryTableId@325a44f2), exported=false, scope=COMPILE), LibraryDependency(library=LibraryId(name=Leiningen: org.clojure/core.specs.alpha:0.2.44, tableId=com.intellij.workspaceModel.storage.bridgeEntities.LibraryTableId$ProjectLibraryTableId@325a44f2), exported=false, scope=COMPILE), LibraryDependency(library=LibraryId(name=Leiningen: org.clojure/spec.alpha:0.2.176, tableId=com.intellij.workspaceModel.storage.bridgeEntities.LibraryTableId$ProjectLibraryTableId@325a44f2), exported=false, scope=COMPILE)], classId=0, Companion=com.intellij.workspaceModel.storage.bridgeEntities.ModuleEntityData$Companion@72c6ce7b, entitySource=FileInDirectory(directory=file://C:/Users/thheller/code/tmp/cursive-repro/lib-a, fileNameId=342, projectLocation=DirectoryBased(projectDir=file://C:/Users/thheller/code/tmp/cursive-repro/lib-a, ideaFolder=file://C:/Users/thheller/code/tmp/cursive-repro/lib-a/.idea)), id=0, id=0)
Persistent id: ModuleEntityData(name=lib-a, type=JAVA_MODULE, dependencies=[com.intellij.workspaceModel.storage.bridgeEntities.ModuleDependencyItem$ModuleSourceDependency@216b4355], classId=0, Companion=com.intellij.workspaceModel.storage.bridgeEntities.ModuleEntityData$Companion@72c6ce7b, entitySource=FileInDirectory(directory=file://C:/Users/thheller/code/tmp/cursive-repro/lib-a, fileNameId=355, projectLocation=DirectoryBased(projectDir=file://C:/Users/thheller/code/tmp/cursive-repro/lib-a, ideaFolder=file://C:/Users/thheller/code/tmp/cursive-repro/lib-a/.idea)), id=1, id=1)
Broken consistency: false
com.intellij.workspaceModel.storage.impl.exceptions.PersistentIdAlreadyExistsException: Entity with persistentId: ModuleId(name=lib-a) already exist
at com.intellij.workspaceModel.storage.impl.WorkspaceEntityStorageBuilderImpl.modifyEntity(WorkspaceEntityStorageImpl.kt:227)
at com.intellij.workspaceModel.ide.impl.legacyBridge.module.ModifiableModuleModelBridgeImpl.renameModule(ModifiableModuleModelBridgeImpl.kt:269)
at cursive.build.sync$ensure_module_name$fn__10978.invoke(sync.clj:35)
at cursive.build.sync$ensure_module_name.invokeStatic(sync.clj:33)
at cursive.build.sync$ensure_module_name.invoke(sync.clj:29)
at cursive.leiningen.sync$sync_modules_BANG_.invokeStatic(sync.clj:98)
at cursive.leiningen.sync$sync_modules_BANG_.invoke(sync.clj:87)
at cursive.leiningen.sync$sync$fn__26246.invoke(sync.clj:157)
at cursive.leiningen.sync$sync.invokeStatic(sync.clj:144)
at cursive.leiningen.sync$sync.invoke(sync.clj:134)
at clojure.lang.Var.invoke(Var.java:393)
at cursive.api.DelayedFn.invoke(DelayedFn.java:41)
at cursive.build.BuildSystemProjectsManager$reimportAllProjects$1$task$1$2.invoke(BuildSystemManager.kt:160)
at cursive.build.BuildSystemProjectsManager$reimportAllProjects$1$task$1$2.invoke(BuildSystemManager.kt:159)
at cursive.application.ApplicationKt.invokeLater$lambda-3(Application.kt:20)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:215)
at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:197)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:511)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:69)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:112)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:898)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:746)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:439)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:803)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:438)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:604)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:436)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:873)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:484)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Using
Build #IC-221.5080.210, built on April 12, 2022with Cursive. This has been bugging me for quite a while, so can't say when this was introduced (or if it was an issue). Definitely an issue in1.12.3.Reproduction steps:
For both generated
project.cljcreate a new Cursive Project usingNew -> Project from existing sources.... Just clicking through the Options and using my default Java 11 JDK.Once created close both projects. Now add the
lib-aas a checkout dependency tolib-b.Now open the
lib-bProject again viaOpen Recent. Once it settled down and found thelib-acheckout (happens automatically) and properly integrated it openlib-aas well. Let that settle again and then closelib-b. At this point it somehow messes with thelib-aproject and itslib-amodule either disappears completely or just forgets about thelib-aproject dir and only shows the source paths.The
lib-aproject ends up looking like this, with no module and no way to select sources or soIn
lib-ahitting theLeiningen -> Refresh Leiningen Projectsyields this error and ends up creating a new modulelib-a-1it seems?After all of this it may end up working for a bit, but after a while the
lib-aproject is lost again and refreshing it ends up creating alib-a-2. This continues on on my actual lib I'm up to-6now. I'm not sure exactly what triggers all this but it gets frustrating since all project settings are lost forlib-aevery time.This is the reported error: