Skip to content

Jetbrains plugin makes IDE unusable #681

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Azn9 opened this issue Mar 24, 2025 · 12 comments
Open

Jetbrains plugin makes IDE unusable #681

Azn9 opened this issue Mar 24, 2025 · 12 comments

Comments

@Azn9
Copy link

Azn9 commented Mar 24, 2025

Describe the bug
When the plugin is enabled, the IDE freezes for very long periods (30s to 5mn!), making it completly unusable

To Reproduce
Steps to reproduce the behavior:

  1. Install IJ Ultimate 2025.1 Beta
  2. Install the manifold plugin
  3. Open a project

Expected behavior
It works

Screenshots
https://i.azn9.dev/uploads/iwdKeEy3CT.mp4

Desktop (please complete the following information):

  • OS Type & Version: Windows 11
  • Java/JDK version: Bundled / N/A
  • IDE version (IntelliJ IDEA or Android Studio): IntelliJ IDEA Ultimate 2025.1 Beta
  • Manifold version: N/A
  • Manifold IntelliJ plugin version: 2025.1.7

Additional context
I switched to 2025.1 beta to try, because I had the same issue on 2024.3 with the 2024.1.27 version of the plugin too

See attached files

dump-0.txt
dump-1.txt
dump-2.txt
stacktrace.txt

@Azn9 Azn9 changed the title Jetbrain's plugin makes IDE unusable Jetbrains plugin makes IDE unusable Mar 24, 2025
@rsmckinney
Copy link
Member

@Azn9 thanks for reporting this issue. Generally, the manifold plugin works with both versions of IJ, so more context is needed from your end. Is your project available on github for debugging? Are your build files available? What features/dependencies of manifold is your project using?

Sometimes long pauses in IJ indicate low memory issues. Have you tried increasing IJ's memory?

@Azn9
Copy link
Author

Azn9 commented Mar 25, 2025

Is your project available on github for debugging? Are your build files available?

Unfortunately, no, this is a private project. I'll try to reproduce it tonight with an example if possible

What features/dependencies of manifold is your project using?

We're planning to use the extension methods but the issue is not really on these, the functionalities of the plugin works, just they take a huge time to load.

Sometimes long pauses in IJ indicate low memory issues. Have you tried increasing IJ's memory?

Iirc, I already have it at 8+ GB, but I'll double check it to be sure.

I'm at work today so I won't be able to check these until 6pm :/

@Azn9
Copy link
Author

Azn9 commented Mar 25, 2025

Hello @rsmckinney, I made a project on which I can reproduce the issue, but at a way lower scale, as this project is empty compared to the other (private) one: https://github.com/Azn9/testbugmanifold

Also, here's a side-by-side comparaison of what is happening when I open this project with and without the plugin: https://i.azn9.dev/uploads/bugmanifoldcomparaison.mp4 , the difference is quite noticeable. (I'm scrolling on the two screens, but the left one appears frozen due to the IDE freeze but it's not a recording issue)

Also, I checked and on my other IJ (2024.3), I have 12GB of RAM allocated

@rsmckinney
Copy link
Member

rsmckinney commented Mar 31, 2025

@Azn9 Thanks for making the test project. Unfortunately, I can't reproduce the problem you are experiencing in the project. All is operating smoothly. I spent some time making your build and tests work and none of that activity caused any lag or slowness. I also loaded up other projects in the background, still works fine.

Can you think of anything special about your environment or IntelliJ configuration that is worth mentioning? Sometimes plugins can clash, perhaps you are using other IntelliJ plugins you could temporarily disable to rule that out?

I'm looking at your stack traces for clues as to what might be causing this.

BTW, here are my changes to your project as an IntelliJ Patch. Maybe there is a chance these changes could address the issue?

Index: core-common/src/test/java/fr/ekalia/service/test/CoreExtensions.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/core-common/src/test/java/fr/ekalia/service/test/CoreExtensions.java b/core-common/src/test/java/fr/ekalia/service/test/CoreExtensions.java
--- a/core-common/src/test/java/fr/ekalia/service/test/CoreExtensions.java	(revision fbd22c88a82dd638ac1d17e22dd45b57be62be60)
+++ b/core-common/src/test/java/fr/ekalia/service/test/CoreExtensions.java	(date 1743391343948)
@@ -15,7 +15,7 @@
                     return Mono.just(a + "/" + b);
                 });
 
-        var src = Mono.just(Tuples.<Object, Boolean, Integer, Integer, Object, Set<Integer>, Set<Integer>, Boolean>of(null, true, 0, 0, null, Set.of(), Set.of(), true));
+        var src = Mono.just(Tuples.<Object, Boolean, Integer, Integer, Object, Set<Integer>, Set<Integer>, Boolean>of("hi", true, 0, 0, "hello", Set.of(), Set.of(), true));
 
         src.flatMap(tuple8 -> {
             Object data = tuple8.getT1();
Index: core-common/build.gradle.kts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/core-common/build.gradle.kts b/core-common/build.gradle.kts
--- a/core-common/build.gradle.kts	(revision fbd22c88a82dd638ac1d17e22dd45b57be62be60)
+++ b/core-common/build.gradle.kts	(date 1743391130317)
@@ -39,11 +39,19 @@
     }
 }
 
+repositories {
+    mavenCentral()
+}
+
 dependencies {
-    implementation("systems.manifold:manifold-ext-rt:2025.1.5")
-    annotationProcessor("systems.manifold:manifold-ext:2025.1.5")
+    testImplementation("systems.manifold:manifold-ext-rt:2025.1.5")
+    testAnnotationProcessor("systems.manifold:manifold-ext:2025.1.5")
 
-    implementation(project(mapOf(
+    testImplementation(project(mapOf(
         "path" to ":core-extensions"
     )))
 }
+
+tasks.withType<JavaCompile>() {
+    options.compilerArgs.add("-Xplugin:Manifold")
+}

@rsmckinney
Copy link
Member

One more change you'll need to add to CoreExtensions build.gradle.kts to expose extension methods to outside modules:

tasks.withType<Jar> {
    manifest {
        attributes["Contains-Sources"] = "java,class"
    }

This is explained in manifold-ext docs.

@Azn9
Copy link
Author

Azn9 commented Mar 31, 2025

@rsmckinney

Can you think of anything special about your environment or IntelliJ configuration that is worth mentioning? Sometimes plugins can clash, perhaps you are using other IntelliJ plugins you could temporarily disable to rule that out?

No, I tried with my "regular" IDE and one I installed specially without any plugin, and I have the same issue on both.

BTW, here are my changes to your project as an IntelliJ Patch. Maybe there is a chance these changes could address the issue?

Unfortunately, no

Also, I now have this banner everytime I open a project.
Image

I'm gonna check if I can share you the whole big private project, do you have an email address I can contact you on?

@Azn9
Copy link
Author

Azn9 commented Mar 31, 2025

The issue only happens during project scanning

Image

Image

@rsmckinney
Copy link
Member

do you have an email address I can contact you on?

[email protected]

The issue only happens during project scanning

that's interesting, does this happen only at startup, or does this happen when you make changes that cause a scan, like changing a dependency version or similar?

@rsmckinney
Copy link
Member

Also, I now have this banner everytime I open a project.

Did you update the plugin and/or manifold to latest versions, or are you using the same ones as before? Can you attach the logs corresponding with the time the banner began displaying?

@Azn9
Copy link
Author

Azn9 commented Mar 31, 2025

that's interesting, does this happen only at startup, or does this happen when you make changes that cause a scan, like changing a dependency version or similar?

It also happens when there's a change, every re-indexation causes it

Here's the intelliJ log, there's not really much here and the other logs are just like the first ones I sent :(
idea.log

I sent you an email with the full project to see if it happens for you there too

@RadekWikturna
Copy link

I've started testing Manifold today and the IDE keeps freezing often!

Windows 10
IntelliJ IDEA 2024.3.5 (Ultimate Edition) (currently the latest one)
Manifold plugin 2024.1.28 (isn't there a newer one?)

I'm writing test classes to get acquainted with the possibilities of Manifold, and run the tests. Then sometimes I notice in the status bar 'Saving test results', which cannot be cancelled nor removed...and then usually the IDE becomes unresponsive and I have to kill it from a Task Manager.

I keep adding dependencies as I need them, currently I have:

dependencies {
    implementation group: 'systems.manifold', name: 'manifold-ext-rt', version: '2025.1.10'
    implementation group: 'systems.manifold', name: 'manifold-collections', version: '2025.1.10'
    testImplementation 'junit:junit:4.12'
    // Add manifold to -processorpath for javac
    annotationProcessor group: 'systems.manifold', name: 'manifold-ext', version: '2025.1.10'
    annotationProcessor group: 'systems.manifold', name: 'manifold-collections', version: '2025.1.10'
    annotationProcessor group: 'systems.manifold', name: 'manifold-strings', version: '2025.1.10'
    testAnnotationProcessor group: 'systems.manifold', name: 'manifold-ext', version: '2025.1.10'
    testAnnotationProcessor group: 'systems.manifold', name: 'manifold-collections', version: '2025.1.10'
    testAnnotationProcessor group: 'systems.manifold', name: 'manifold-strings', version: '2025.1.10'
}

@rsmckinney
Copy link
Member

Hi @RadekWikturna. There are newer versions for IJ 2024 & 2025. You should see them in the IDE's Settings | Plugin page. You can also download arbitrary versions directly at https://plugins.jetbrains.com/plugin/10057-manifold-ij/versions

Can you attach a log file here the next time you encounter a freeze? That would help a lot. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants