cursive

mike_ananev 2026-04-29T09:08:52.194289Z

Cursive with an expired license causes silent IDE restarts

mike_ananev 2026-04-29T09:09:06.951419Z

Summary: When the Cursive license is expired, the plugin causes memory pressure via StubsChecker, which triggers a chain of events that silently restarts the IDE with no obvious error message.

mike_ananev 2026-04-29T09:09:24.102039Z

Root cause chain (from idea.log): 1. cursive.stubs.StubsChecker starts checking modules and loads a large number of stubs into memory 2. Multiple LowMemoryWatcher signals fire in quick succession 3. IDE reacts by attempting to unload plugins via DynamicPlugins 4. During plugin unloading, i18n.locale is reset to "" by SYSTEM 5. IDE interprets the locale change as a restart signal and shuts down cleanly

mike_ananev 2026-04-29T09:09:40.260519Z

What makes this hard to diagnose: • The shutdown looks completely normal in the logs — there are no exceptions, no SEVERE entries related to Cursive, and IDE SHUTDOWN is written cleanly • The IDE appears to "crash" but leaves no crash evidence • The pattern repeats across sessions and was reproduced on two different machines

mike_ananev 2026-04-29T09:10:01.269579Z

Fix: Renewing the Cursive license stopped the restarts immediately. Expected behavior: An expired license should show a dialog or disable functionality gracefully — not cause memory pressure leading to silent IDE restarts.

cfleming 2026-04-29T21:40:31.517329Z

So, I'm not sure what actually happened here, but I'm 100% certain that there's no interaction between the stubs and the licence. It's possible that there are two independent problems that happened simultaneously, but there is definitely no interaction between them. An expired Cursive licence does shut down the IDE after a grace period now, but there should be a notification. However, I've come to realise that they're very easy to miss, and IntelliJ seems to also auto-hide them after a period of time now. I'll change that to something you can't ignore.

👍 1
cfleming 2026-05-14T23:39:44.711359Z

This is fixed in the next build: https://github.com/cursive-ide/cursive/issues/3094