Cursive with an expired license causes silent IDE restarts
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.
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
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
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.
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.
This is fixed in the next build: https://github.com/cursive-ide/cursive/issues/3094