imgdiff icon indicating copy to clipboard operation
imgdiff copied to clipboard

endless loading when using in git commit diff

Open spike-rabbit opened this issue 3 years ago • 0 comments

Describe the bug A clear and concise description of what the bug is. When using imgdiff for comparing local changes in git, the comparision itself works, but intellij pops up permanently a loading bar (screenshot) so that Intellij is almost unusable.

To Reproduce Open an image with local changes in the diff editor

Expected behavior It should just load once and then display the changes.

Screenshots Sorry for the splitted screenshot. I don't want to expose the actual content. grafik grafik

Desktop (please complete the following information):

  • Which jetbrains product did you use: Ultimate Edition
  • Which version of the product did you use: Build #IU-222.4167.29, built on September 13, 2022
  • running on ubuntu 22.04

Additional context Stacktrace from the IntelliJ console:

``` java.lang.Throwable: AWT events are prohibited inside MyChangeDiffToolAction#update@DiffToolbar (com.intellij.diff.impl.DiffRequestProcessor$MyChangeDiffToolAction); got java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=javax.swing.RepaintManager$ProcessingRunnable@51cf846b,notifier=null,catchExceptions=false,when=1665578179683] on sun.awt.X11.XToolkit@2f89df35 at com.intellij.openapi.diagnostic.Logger.error(Logger.java:184) at com.intellij.ide.ProhibitAWTEvents.dispatch(ProhibitAWTEvents.java:41) at com.intellij.ide.IdeEventQueue.runCustomProcessors(IdeEventQueue.java:512) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:470) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:488) at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:965) at com.intellij.openapi.progress.util.ProgressWindow.lambda$startBlocking$4(ProgressWindow.java:211) at com.intellij.openapi.application.impl.ApplicationImpl.runUnlockingIntendedWrite(ApplicationImpl.java:907) at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:206) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$execFromEDT$6(ProgressRunner.java:329) at java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:757) at java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:735) at java.base/java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2182) at com.intellij.openapi.progress.impl.ProgressRunner.execFromEDT(ProgressRunner.java:326) at com.intellij.openapi.progress.impl.ProgressRunner.submit(ProgressRunner.java:267) at com.intellij.openapi.progress.impl.ProgressRunner.submitAndGet(ProgressRunner.java:193) at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:479) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:537) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:85) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:266) at git4idea.index.vfs.GitIndexVirtualFile.contentsToByteArray(GitIndexVirtualFile.kt:91) at git4idea.index.vfs.GitIndexVirtualFile.getInputStream(GitIndexVirtualFile.kt:84) at de.ehmkah.projects.imgdiff.ImgDiffBaseBinaryDiffToolKt.isValidImage(ImgDiffBaseBinaryDiffTool.kt:95) at de.ehmkah.projects.imgdiff.ImgDiffBaseBinaryDiffTool.canShow(ImgDiffBaseBinaryDiffTool.kt:81) at com.intellij.diff.impl.DiffRequestProcessor.filterFittedTools(DiffRequestProcessor.java:275) at com.intellij.diff.impl.DiffRequestProcessor.getAvailableFittedTools(DiffRequestProcessor.java:266) at com.intellij.diff.impl.DiffRequestProcessor$MyChangeDiffToolAction.update(DiffRequestProcessor.java:800) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performDumbAwareUpdate$0(ActionUtil.java:150) at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:173) at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:660) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$updateActionReal$4(ActionUpdater.java:128) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$computeOnEdt$6(ActionUpdater.java:211) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:66) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:66) at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$computeOnEdt$7(ActionUpdater.java:207) at com.intellij.openapi.actionSystem.impl.ActionUpdateEdtExecutor.lambda$computeOnEdt$0(ActionUpdateEdtExecutor.java:45) at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:194) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881) at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:513) at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:75) at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:118) at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:766) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105) at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92) ```

spike-rabbit avatar Oct 12 '22 13:10 spike-rabbit