AtomMaterialUI / a-file-icon-idea

Atom Material Icons for JetBrains - Replace File and UI Icons for better visual grepping.
http://www.material-theme.com/docs/configuration/icons-settings/#atom-material-icons-plugin
MIT License
218 stars 27 forks source link

PHPStorm show internal error about Atom Material Icons #409

Closed ngoctt18 closed 10 months ago

ngoctt18 commented 10 months ago

Describe the bug

PHPStorm show internal error about Atom Material Icons after open it for a while, but the icon from Atom Material Icons seems to work fine.

To Reproduce

  1. Open PHPStorm and using it for a while
  2. PHPStorm show error notification about Atom Material Icons plugin

Expected Behavior

No internal error notification

Environment

I am using PhpStorm 2023.2, Build #PS-232.8660.205, built on July 29, 2023 and Atom Material Icons 93.0.1

Error stacktrace: Unhandled exception in [CoroutineName(com.intellij.ui.IconCalculatingService), StandaloneCoroutine{Cancelling}@36cf00a6, Dispatchers.Default]

java.io.FileNotFoundException: \icons\files\binaryother.svg (The system cannot find the path specified) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:216) at java.base/java.io.FileInputStream.(FileInputStream.java:157) at java.base/java.io.FileInputStream.(FileInputStream.java:111) at icons.AtomIcons.loadSVGIcon(AtomIcons.kt:107) at icons.AtomIcons.loadIconWithFallback(AtomIcons.kt:118) at com.mallowigi.icons.providers.DefaultFileIconProvider.getIcon(DefaultFileIconProvider.kt:41) at com.mallowigi.icons.providers.AbstractFileIconProvider.loadIcon(AbstractFileIconProvider.kt:83) at com.mallowigi.icons.providers.AbstractFileIconProvider.access$loadIcon(AbstractFileIconProvider.kt:40) at com.mallowigi.icons.providers.AbstractFileIconProvider$getIconForAssociation$1.invoke(AbstractFileIconProvider.kt:75) at com.mallowigi.icons.providers.AbstractFileIconProvider$getIconForAssociation$1.invoke(AbstractFileIconProvider.kt:75) at com.mallowigi.icons.providers.AbstractFileIconProvider.getIconForAssociation$lambda$0(AbstractFileIconProvider.kt:75) at java.base/java.util.Optional.map(Optional.java:260) at com.mallowigi.icons.providers.AbstractFileIconProvider.getIconForAssociation(AbstractFileIconProvider.kt:75) at com.mallowigi.icons.providers.AbstractFileIconProvider.findIcon(AbstractFileIconProvider.kt:67) at com.mallowigi.icons.providers.AbstractFileIconProvider.getIcon(AbstractFileIconProvider.kt:50) at com.intellij.util.PsiIconUtil.getProvidersIcon(PsiIconUtil.java:21) at com.intellij.psi.impl.ElementBase.doComputeIconNow(ElementBase.java:98) at com.intellij.psi.impl.ElementBase.lambda$computeIconNow$3(ElementBase.java:94) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:130) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:119) at com.intellij.psi.impl.ElementBase.computeIconNow(ElementBase.java:94) at com.intellij.psi.impl.ElementBase.lambda$static$0(ElementBase.java:45) at com.intellij.ui.DeferredIconImpl.evaluate(DeferredIconImpl.kt:279) at com.intellij.ui.DeferredIconImpl$scheduleCalculationIfNeeded$1$result$1$1.invoke(DeferredIconImpl.kt:218) at com.intellij.ui.DeferredIconImpl$scheduleCalculationIfNeeded$1$result$1$1.invoke(DeferredIconImpl.kt:218) at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:105) at com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:14) at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:95) at com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$2.invoke(InternalReadAction.kt:94) at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1$lambda$0(cancellableReadAction.kt:41) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133) at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke$lambda$1(cancellableReadAction.kt:39) at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:133) at com.intellij.openapi.application.rw.CancellableReadActionKt$cancellableReadActionInternal$1.invoke(cancellableReadAction.kt:37) at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:248) at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:34) at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:94) at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:76) at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:63) at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:14) at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invokeSuspend(InternalReadAction.kt:42) at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invoke(InternalReadAction.kt) at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$4.invoke(InternalReadAction.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78) at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167) at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) at com.intellij.openapi.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:38) at com.intellij.openapi.application.rw.PlatformReadWriteActionSupport.executeReadAction(PlatformReadWriteActionSupport.kt:38) at com.intellij.openapi.application.ReadWriteActionSupport.executeReadAction$default(ReadWriteActionSupport.kt:15) at com.intellij.openapi.application.CoroutinesKt.constrainedReadAction(coroutines.kt:58) at com.intellij.openapi.application.CoroutinesKt.readAction(coroutines.kt:25) at com.intellij.ui.DeferredIconImpl$scheduleCalculationIfNeeded$1$invokeSuspend$$inlined$evaluateDeferred$1.invokeSuspend(IconDeferrerImpl.kt:91) at com.intellij.ui.DeferredIconImpl$scheduleCalculationIfNeeded$1$invokeSuspend$$inlined$evaluateDeferred$1.invoke(IconDeferrerImpl.kt) at com.intellij.ui.DeferredIconImpl$scheduleCalculationIfNeeded$1$invokeSuspend$$inlined$evaluateDeferred$1.invoke(IconDeferrerImpl.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78) at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167) at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) at com.intellij.ui.DeferredIconImpl$scheduleCalculationIfNeeded$1.invokeSuspend(DeferredIconImpl.kt:374) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [CoroutineName(com.intellij.ui.IconCalculatingService), StandaloneCoroutine{Cancelled}@36cf00a6, Dispatchers.Default]

Screenshots

image

welcome[bot] commented 10 months ago

Thanks for opening your first issue here! Be sure to follow the issue template!

Abdelraman commented 10 months ago

are you using a custom icons ?

ngoctt18 commented 10 months ago

No, I don't thing so. As far as I know, I only use icons from plugin Atom Material Icons.

Abdelraman commented 10 months ago

Could you check settings, atom material associations and chech if there is any icon with different color than the normal ones

ngoctt18 commented 10 months ago

I just use all icons from this Plugin and don't use any customs or others. Here is the Atom Material / Associations image

mallowigi commented 10 months ago

Yeah it's a typo all right. Thanks for letting me know.

I wish I had time to invest in some unit tests...

mallowigi commented 10 months ago

In the meantime, you can disable the "binaries" association.