KronicDeth / intellij-elixir

Elixir plugin for JetBrain's IntelliJ Platform (including Rubymine)
Other
1.84k stars 154 forks source link

"StackOverflowError when annotating call" bricks IDE #3405

Open rwinslow-papa opened 1 year ago

rwinslow-papa commented 1 year ago

Describe the bug The plugin has begun producing StackOverflowError errors that freeze the IDE, requiring a force quit. It happens in both IntelliJ IDEA and RubyMine, and all I have to do is edit any Elixir code (at least the files I've tried so far in my project) to make it happen.

This behavior just began today, but has shut me down completely because it's now completely unavoidable. The only way I can keep the IDE running is to disable the plugin. I tried installing the current canary release, but the behavior didn't change. I tried disabling the plugin and editing some code, and after nothing crashed, I tried enabling the plugin again, not long after which, the IDE again froze during editing. I tried disabling the plugin, closing RubyMine, deleting the project's ".idea" directory, starting up RubyMine and opening up the (now raw) project, and shortly after setting up the Elixir SDK settings and starting to edit, the IDE froze again. I don't know how to return to a stable state.

It's hard to predict which edits will produce the behavior; there appear to be multiple possibilities, and it has also frozen when just navigating around the file without editing. It happens in multiple files.

To Reproduce Steps to reproduce the behavior:

  1. Start up the IDE with the plugin enabled and my project loaded.
  2. Edit some code.
  3. IDE becomes unresponsive to keyboard and mouse input. "RubyMine" menu may be briefly selectable, but Quit won't work. Then it'll freeze, too.

Expected behavior Non-brick.

Screenshots n/a

Logs If reporting a hang or other performance issue, please attach the thread dumps.

threadDump-20231017-131706.txt threadDump-20231017-131711.txt idea.log

Desktop:

Erlang:

Elixir:

Plugin:

Additional context n/a

rwinslow-papa commented 1 year ago

UPDATE: After downloading VSCode and its Elixir plugin and getting my syntax errors all squared away, I was able to return to JetBrains IDEs with this plugin and continue working as normal without incident. There was definitely a file (or perhaps multiple files) with a syntax error that confounded the plugin.

KronicDeth commented 1 year ago

@rwinslow-papa if you have anyway to restore the old version the files I really need a test repo for these performance issue.

rwinslow-papa commented 1 year ago

@KronicDeth I've tried to reconstitute the state of the file I suspect was at fault, but to no avail. No syntax-broken version appears in Local History (as, I suspect, the IDE breakage prevented Local History from being updated), and the file contents regurgitated into the idea.log (you'll see them if you search for "sets webhooks") don't appear to produce the behavior.