Skip to content

endless loading when using in git commit diff #75

@spike-rabbit

Description

@spike-rabbit

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:

Details ``` 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) ```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions