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

Fix exception in the cargo toolwindow init #6125

Merged
merged 1 commit into from Sep 17, 2020

Conversation

vlad20012
Copy link
Member

Fix for #5999. Looks like runAfterOpened can run outside of EDT.

Stacktrace
Access is allowed from event dispatch thread with IW lock only.

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: EventQueue.isDispatchThread()=false Toolkit.getEventQueue()=com.intellij.ide.IdeEventQueue@6d984235
Current thread: Thread[ApplicationImpl pooled thread 11,4,Idea Thread Group] 1697154984
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,Idea Thread Group] 1894364389
  at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:1061)
  at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:1043)
  at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.doRegisterToolWindow(ToolWindowManagerImpl.kt:986)
  at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.initToolWindow(ToolWindowManagerImpl.kt:530)
  at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.initToolWindow(ToolWindowManagerImpl.kt:512)
  at org.rust.cargo.project.toolwindow.CargoToolWindow$Companion.initializeToolWindow(CargoToolWindow.kt:151)
  at org.rust.cargo.project.model.impl.CargoProjectsServiceImpl$$special$$inlined$with$lambda$3$1.run(CargoProjectImpl.kt:106)
  at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:436)
  at com.intellij.ide.startup.impl.StartupManagerImpl.runActivities(StartupManagerImpl.java:392)
  at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivitiesRegisteredDynamically(StartupManagerImpl.java:334)
  at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivities(StartupManagerImpl.java:247)
  at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170)
  at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
  at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
  at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
  at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
  at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:254)
  at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$projectOpened$1(StartupManagerImpl.java:154)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:652)
  at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:649)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:649)
  at java.lang.Thread.run(Thread.java:748)

Looks like `runAfterOpened` can run outside of EDT
@vlad20012 vlad20012 added the fix Pull requests that fix some bug(s) label Sep 17, 2020
Copy link
Member

@mchernyavsky mchernyavsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bors r+

@mchernyavsky mchernyavsky added this to the v132 milestone Sep 17, 2020
bors bot added a commit that referenced this pull request Sep 17, 2020
6125: Fix exception in the cargo toolwindow init r=mchernyavsky a=vlad20012

Fix for #5999. Looks like `runAfterOpened` can run outside of EDT.

<details>
  <summary>Stacktrace</summary>
  
  ```
  Access is allowed from event dispatch thread with IW lock only.

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: EventQueue.isDispatchThread()=false Toolkit.getEventQueue()=com.intellij.ide.IdeEventQueue@6d984235
Current thread: Thread[ApplicationImpl pooled thread 11,4,Idea Thread Group] 1697154984
SystemEventQueueThread: Thread[AWT-EventQueue-0,6,Idea Thread Group] 1894364389
	at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:1061)
	at com.intellij.openapi.application.impl.ApplicationImpl.assertIsDispatchThread(ApplicationImpl.java:1043)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.doRegisterToolWindow(ToolWindowManagerImpl.kt:986)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.initToolWindow(ToolWindowManagerImpl.kt:530)
	at com.intellij.openapi.wm.impl.ToolWindowManagerImpl.initToolWindow(ToolWindowManagerImpl.kt:512)
	at org.rust.cargo.project.toolwindow.CargoToolWindow$Companion.initializeToolWindow(CargoToolWindow.kt:151)
	at org.rust.cargo.project.model.impl.CargoProjectsServiceImpl$$special$$inlined$with$lambda$3$1.run(CargoProjectImpl.kt:106)
	at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:436)
	at com.intellij.ide.startup.impl.StartupManagerImpl.runActivities(StartupManagerImpl.java:392)
	at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivitiesRegisteredDynamically(StartupManagerImpl.java:334)
	at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivities(StartupManagerImpl.java:247)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:170)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
	at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:254)
	at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$projectOpened$1(StartupManagerImpl.java:154)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:652)
	at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:649)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:649)
	at java.lang.Thread.run(Thread.java:748)
  ```
</details>

Co-authored-by: vlad20012 <beskvlad@gmail.com>
@bors
Copy link
Contributor

bors bot commented Sep 17, 2020

Build failed:

  • check

@mchernyavsky
Copy link
Member

bors retry

@bors
Copy link
Contributor

bors bot commented Sep 17, 2020

Build succeeded:

@bors bors bot merged commit 642706b into master Sep 17, 2020
@bors bors bot deleted the fix-excpetion-cargo-toolwindow branch September 17, 2020 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix Pull requests that fix some bug(s)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants