Skip to content
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

AceJump stops working after switching context #187

Closed
presence1 opened this issue Aug 31, 2017 · 2 comments
Closed

AceJump stops working after switching context #187

presence1 opened this issue Aug 31, 2017 · 2 comments
Labels

Comments

@presence1
Copy link

presence1 commented Aug 31, 2017

AceJump 3.4.0
IntelliJ IDEA 2016.3.7
Build #IU-163.15529.5, built on May 18, 2017
JRE: 1.8.0_112-release-287-b3 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Related to #175

Steps to reproduce:

  1. Start IntelliJ. AceJump is working fine after it starts.
  2. Press Alt+Shift+L to load a different context (after previously saving a context with Alt+Shift+S).
  3. Press Ctrl+semicolon or Ctrl+Alt+semicolon to start AceJump.

Outcome: nothing happens. AceJump doesn't start.

Bonus bug (same "Editor is already disposed" error):

  1. Start IntelliJ with 1 file open.
  2. Close file (editor view is now empty and shows a small list of keyboard shortcuts, e.g. "Search Everywhere Double Shift").
  3. Open another file.
  4. Press Ctrl+semicolon or Ctrl+Alt+semicolon to start AceJump.

Outcome: nothing happens. AceJump doesn't start.

Bonus bug 2 (same "Editor is already disposed" error):

  1. Start IntelliJ with 4 files open.
  2. Close 3 of the files (I am closing using the keyboard shortcut, which I have remapped).
  3. Press Ctrl+semicolon or Ctrl+Alt+semicolon to start AceJump in the remaining file.

Outcome: nothing happens. AceJump doesn't start.

Log:
2017-08-31 12:19:01,706 [ 825288] ERROR - llij.ide.plugins.PluginManager - Editor is already disposed com.intellij.openapi.util.TraceableDisposable$DisposalException: Editor is already disposed at com.intellij.openapi.util.TraceableDisposable.throwDisposalError(TraceableDisposable.java:94) at com.intellij.openapi.editor.impl.EditorImpl.throwDisposalError(EditorImpl.java:914) at com.intellij.openapi.editor.impl.view.TextLayoutCache.b(TextLayoutCache.java:189) at com.intellij.openapi.editor.impl.view.TextLayoutCache.getLineLayout(TextLayoutCache.java:148) at com.intellij.openapi.editor.impl.view.VisualLineFragmentsIterator.a(VisualLineFragmentsIterator.java:180) at com.intellij.openapi.editor.impl.view.VisualLineFragmentsIterator.c(VisualLineFragmentsIterator.java:170) at com.intellij.openapi.editor.impl.view.VisualLineFragmentsIterator.a(VisualLineFragmentsIterator.java:153) at com.intellij.openapi.editor.impl.view.VisualLineFragmentsIterator.<init>(VisualLineFragmentsIterator.java:105) at com.intellij.openapi.editor.impl.view.VisualLineFragmentsIterator.<init>(VisualLineFragmentsIterator.java:38) at com.intellij.openapi.editor.impl.view.VisualLineFragmentsIterator$1.iterator(VisualLineFragmentsIterator.java:44) at com.intellij.openapi.editor.impl.view.EditorCoordinateMapper.visualToLogicalPosition(EditorCoordinateMapper.java:141) at com.intellij.openapi.editor.impl.view.EditorView.visualToLogicalPosition(EditorView.java:159) at com.intellij.openapi.editor.impl.EditorImpl.visualToLogicalPosition(EditorImpl.java:4144) at com.intellij.openapi.editor.impl.EditorImpl.visualToLogicalPosition(EditorImpl.java:4139) at com.johnlindquist.acejump.search.AceUtilKt.visualLineToLogicalLine(AceUtil.kt:161) at com.johnlindquist.acejump.search.AceUtilKt.getView(AceUtil.kt:70) at com.johnlindquist.acejump.control.Handler.restoreScroll(Handler.kt:233) at com.johnlindquist.acejump.control.Handler.restoreSettings(Handler.kt:227) at com.johnlindquist.acejump.control.Handler.reset(Handler.kt:196) at com.johnlindquist.acejump.view.Model.setEditor(Model.kt:31) at com.johnlindquist.acejump.control.AceAction.actionPerformed(AceAction.kt:16) at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:199) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:215) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:587) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:634) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:204) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:633) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:477) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:211) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:657) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 2017-08-31 12:19:01,722 [ 825304] ERROR - llij.ide.plugins.PluginManager - IntelliJ IDEA 2016.3.7 Build #IU-163.15529.5 2017-08-31 12:19:01,722 [ 825304] ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_112-release 2017-08-31 12:19:01,722 [ 825304] ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM 2017-08-31 12:19:01,722 [ 825304] ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o 2017-08-31 12:19:01,722 [ 825304] ERROR - llij.ide.plugins.PluginManager - OS: Windows 10 2017-08-31 12:19:01,722 [ 825304] ERROR - llij.ide.plugins.PluginManager - Last Action: AceAction

By the way, thanks for creating this plugin! I really like it and intend to use it a lot. But I also use the context switching feature a lot, so I hope this is fixed.

@breandan
Copy link
Collaborator

Thank you for the detailed bug report. As @wilkerlucio mentions in #193, we are tracking several open issues, which appear to be all related. I believe there is a stale reference to an editor, which does not get updated when the editor is disposed. I can't promise a timeline for a fix, but if someone wants to investigate, this is the culprit.

@breandan
Copy link
Collaborator

breandan commented Apr 4, 2021

Thanks to #353, this should be fixed in 3.7.0, but feel free to reopen if you re-encounter it.

@breandan breandan closed this as completed Apr 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants