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

Event dispatch thread is blocked with processing of file events #355

Closed
nicity opened this issue Apr 24, 2017 · 1 comment
Closed

Event dispatch thread is blocked with processing of file events #355

nicity opened this issue Apr 24, 2017 · 1 comment
Milestone

Comments

@nicity
Copy link

nicity commented Apr 24, 2017

Hello,
Our user support is faced with many performance problems attributed to gitignore plugin.
Below are several YouTrack problem links and stack trace.

As plugin developer I recommend to do refresh of CacheMap on bulk file events
(see BulkFileListener and MessageBus.connect().subscribe(VirtualFileManager.VFS_CHANGES, myChangedFilesCollector)).

https://youtrack.jetbrains.com/issue/IDEA-171850
https://youtrack.jetbrains.com/issue/IDEA-171637#comment=27-2119141

"AWT-EventQueue-0 2017.1.1#IU-171.4073.35 IDEA, eap:false, os:Linux 4.9.0-2-amd64, java-version:JetBrains s.r.o 1.8.0_112-release-736-b16" prio=0 tid=0x0 nid=0x0 runnable
java.lang.Thread.State: RUNNABLE

at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.appendPathOnFileSystem(VirtualFileSystemEntry.java:170)
at com.intellij.openapi.vfs.newvfs.impl.VirtualFileSystemEntry.getPath(VirtualFileSystemEntry.java:197)
at mobi.hsz.idea.gitignore.util.Utils$1.compare(Utils.java:435)
at mobi.hsz.idea.gitignore.util.Utils$1.compare(Utils.java:432)
at java.util.TimSort.binarySort(TimSort.java:296)
at java.util.TimSort.sort(TimSort.java:239)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at com.intellij.util.containers.ContainerUtil.sort(ContainerUtil.java:1725)
at mobi.hsz.idea.gitignore.util.Utils.ignoreFilesSort(Utils.java:432)
at mobi.hsz.idea.gitignore.util.CacheMap.isFileIgnored(CacheMap.java:267)
at mobi.hsz.idea.gitignore.IgnoreManager.isFileIgnored(IgnoreManager.java:321)
at mobi.hsz.idea.gitignore.vcs.IgnoreFileStatusProvider.getFileStatus(IgnoreFileStatusProvider.java:69)
at com.intellij.openapi.vcs.impl.FileStatusManagerImpl.calcStatus(FileStatusManagerImpl.java:140)
at com.intellij.openapi.vcs.impl.FileStatusManagerImpl.getStatus(FileStatusManagerImpl.java:275)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager.a(LineStatusTrackerManager.java:269)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager.a(LineStatusTrackerManager.java:244)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager.b(LineStatusTrackerManager.java:212)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager.access$1600(LineStatusTrackerManager.java:67)
at com.intellij.openapi.vcs.impl.LineStatusTrackerManager$MyFileStatusListener.fileStatusesChanged(LineStatusTrackerManager.java:419)
at com.intellij.openapi.vcs.impl.FileStatusManagerImpl.fileStatusesChanged(FileStatusManagerImpl.java:216)
at mobi.hsz.idea.gitignore.util.CacheMap.refresh(CacheMap.java:194)
at mobi.hsz.idea.gitignore.util.CacheMap.cleanup(CacheMap.java:180)
at mobi.hsz.idea.gitignore.IgnoreManager$1.fileDeleted(IgnoreManager.java:171)
at sun.reflect.GeneratedMethodAccessor168.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.util.EventDispatcher.dispatch(EventDispatcher.java:99)
at com.intellij.util.EventDispatcher.access$200(EventDispatcher.java:35)
at com.intellij.util.EventDispatcher$2.invoke(EventDispatcher.java:79)
at com.sun.proxy.$Proxy19.fileDeleted(Unknown Source)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.fireAfter(BulkVirtualFileListenerAdapter.java:85)
at com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter.after(BulkVirtualFileListenerAdapter.java:56)
@hsz
Copy link
Member

hsz commented Jun 2, 2017

@nicity Thank you for reporting. It's a duplicate of #358 - please follow this thread.

@hsz hsz closed this as completed Jun 2, 2017
@hsz hsz added this to the v2.0 milestone Jun 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants