# Service management partially broken in recent IDE releases

**URL:** <https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402>\
**Category:** IntelliJ Platform\
**Created:** [July 31, 2025, 7:39pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402 "2025-07-31T19:39:50Z")\
**Posts on this page:** 7\
**Page:** 3

<div class="post-metadata">

**Author:** ![yuriy.artamonov](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/yuriy.artamonov/32/48_2.png) [@yuriy.artamonov](https://platform.jetbrains.com/u/yuriy.artamonov)\
**Post date:** [August 1, 2025, 6:22pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/41 "2025-08-01T18:22:18Z")

</div>

> [@jansorg](#):
>
> This isn’t loading any icon or similar.

No, for sure it’s just a coincidence that it touches run configuration instances very early. But please note that it causes a poor startup performance problem (minor one probably) when you do that.

> <https://github.com/jonathanlermitage/intellij-extra-toolwindow-colorful-icons-pub/issues/22>
>
> \## Running environment
> \- Extra ToolWindow Colorful Icons Lifetime (lermitage.ex…tratci.lifetime) 2025.1.11
> \- IntelliJ IDEA 2025.1.4.1
> \- Windows 11 10.0
> 
> \## Bug description
> Please include steps to reproduce (like \`go to...\`/\`click on...\` etc.) + expected and actual behaviour.
> 
> \## Additional info
> N/A
> 
> \## Stack trace
> \`\`\`
> java.lang.Throwable: icons.AwsIcons$Resources \<clinit\> requests lermitage.intellij.extratci.SettingsService instance. Class initialization must not depend on services. Consider using instance of the service on-demand instead.
> at com.intellij.openapi.diagnostic.Logger.error(Logger.java:375)
> at com.intellij.serviceContainer.ComponentManagerImplKt.checkOutsideClassInitializer(ComponentManagerImpl.kt:1585)
> at com.intellij.serviceContainer.ComponentManagerImplKt.getOrCreateInstanceBlocking(ComponentManagerImpl.kt:1554)
> at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:752)
> at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:696)
> at lermitage.intellij.extratci.SettingsService.getInstance(SourceFile:47)
> at lermitage.intellij.extratci.d.a(SourceFile:34)
> at lermitage.intellij.extratci.d.a(SourceFile:45)
> at lermitage.intellij.extratci.SettingsService.getAllIcons(SourceFile:51)
> at lermitage.intellij.extratci.d.a(SourceFile:161)
> at lermitage.intellij.extratci.d.patchPath(SourceFile:89)
> at com.intellij.ui.icons.IconTransform.applyPatchers(IconTransform.kt:91)
> at com.intellij.ui.icons.IconTransform.patchPath(IconTransform.kt:77)
> at com.intellij.ui.icons.CachedImageIconKt.patchIconPath(CachedImageIcon.kt:53)
> at com.intellij.openapi.util.IconLoaderKt.findIconUsingDeprecatedImplementation(IconLoader.kt:354)
> at com.intellij.openapi.util.IconLoaderKt.findIconUsingDeprecatedImplementation$default(IconLoader.kt:346)
> at com.intellij.openapi.util.IconLoader.getIcon(IconLoader.kt:113)
> at icons.AwsIcons.load(AwsIcons.kt:190)
> at icons.AwsIcons.access$load(AwsIcons.kt:14)
> at icons.AwsIcons$Resources.\<clinit\>(AwsIcons.kt:65)
> at software.aws.toolkits.jetbrains.services.lambda.execution.LambdaRunConfigurationType.\<init\>(LambdaRunConfigurationType.kt:19)
> at com.intellij.serviceContainer.ComponentManagerImpl.findConstructorAndInstantiateClass(ComponentManagerImpl.kt:909)
> at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:918)
> at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:903)
> at com.intellij.openapi.extensions.impl.SimpleConstructorInjectionAdapter.instantiateClass(XmlExtensionAdapter.kt:102)
> at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:52)
> at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.createInstance(XmlExtensionAdapter.kt:33)
> at com.intellij.openapi.extensions.impl.ExtensionPointImpl.processAdapter(ExtensionPointImpl.kt:404)
> at com.intellij.openapi.extensions.impl.ExtensionPointImpl.createExtensionInstances(ExtensionPointImpl.kt:377)
> at com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensionList(ExtensionPointImpl.kt:223)
> at com.intellij.openapi.extensions.ExtensionPointName.getExtensionList(ExtensionPointName.kt:54)
> at com.intellij.execution.configurations.ConfigurationTypeUtil.findConfigurationType(ConfigurationTypeUtil.kt:12)
> at com.microsoft.azure.hdinsight.spark.run.configuration.LivySparkBatchJobRunConfigurationType.getInstance(LivySparkBatchJobRunConfigurationType.java:80)
> at com.microsoft.azure.hdinsight.spark.run.LivySparkRunConfigurationProducer.\<init\>(LivySparkRunConfigurationProducer.kt:29)
> at com.intellij.serviceContainer.ComponentManagerImpl.findConstructorAndInstantiateClass(ComponentManagerImpl.kt:909)
> at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:918)
> at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:903)
> at com.intellij.openapi.extensions.impl.SimpleConstructorInjectionAdapter.instantiateClass(XmlExtensionAdapter.kt:102)
> at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.doCreateInstance(XmlExtensionAdapter.kt:52)
> at com.intellij.openapi.extensions.impl.XmlExtensionAdapter.createInstance(XmlExtensionAdapter.kt:33)
> at com.intellij.openapi.extensions.impl.ExtensionPointImplKt.getOrCreateExtensionInstance(ExtensionPointImpl.kt:1059)
> at com.intellij.openapi.extensions.impl.ExtensionPointImplKt.access$getOrCreateExtensionInstance(ExtensionPointImpl.kt:1)
> at com.intellij.openapi.extensions.impl.ExtensionPointImpl$iterator$2.advanceToNextNonNull(ExtensionPointImpl.kt:292)
> at com.intellij.openapi.extensions.impl.ExtensionPointImpl$iterator$2.hasNext(ExtensionPointImpl.kt:274)
> at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.findFirstSafe$intellij\_platform\_extensions(ExtensionProcessingHelper.kt:168)
> at com.intellij.openapi.extensions.ExtensionPointName.findFirstSafe(ExtensionPointName.kt:66)
> at pro.bashsupport.b6.L(b6.java:183)
> at pro.bashsupport.b6.d(b6.java:157)
> at pro.bashsupport.wg.l(wg.java:44)
> at pro.bashsupport.wg.invoke(wg.java:44)
> at pro.bashsupport.b6.B(b6.java:69)
> at pro.bashsupport.b6.o(b6.java:44)
> at pro.bashsupport.\_62.appFrameCreated(\_62.java:9)
> at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:768)
> at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:712)
> at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:451)
> at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:430)
> at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
> at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:493)
> at jdk.proxy2/jdk.proxy2.$Proxy55.appFrameCreated(Unknown Source)
> at com.intellij.idea.IdeStarter$openProjectIfNeeded$isOpenProjectNeeded$1$1.invokeSuspend(IdeStarter.kt:130)
> at com.intellij.idea.IdeStarter$openProjectIfNeeded$isOpenProjectNeeded$1$1.invoke(IdeStarter.kt)
> at com.intellij.idea.IdeStarter$openProjectIfNeeded$isOpenProjectNeeded$1$1.invoke(IdeStarter.kt)
> at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:62)
> at kotlinx.coroutines.BuildersKt\_\_Builders\_commonKt.withContext(Builders.common.kt:163)
> at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
> at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56)
> at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:48)
> at com.intellij.idea.IdeStarter$openProjectIfNeeded$isOpenProjectNeeded$1.invokeSuspend(IdeStarter.kt:128)

---

<div class="post-metadata">

**Author:** ![jansorg](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/jansorg/32/52_2.png) [@jansorg](https://platform.jetbrains.com/u/jansorg)\
**Post date:** [August 1, 2025, 6:28pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/42 "2025-08-01T18:28:23Z")

</div>

Thanks for the link!

Oh my, so in this particular case, BashSupport Pro is searching for RunConfigurationProducer, which initializes the registered extensions. A producer of `com.microsoft.azure.hdinsight.spark` is searching for a `ConfigurationType` and a ConfigurationType from `software.aws.toolkits` is accessing a `static` Icon, which then triggers the IconPatcher, which uses a service and that causes an `LOG.error(…)`.

I’ll see what I can do to delay this, but I’m not sure yet what’s possible here.

Nonetheless, this will be just a one of many possible stacktraces of other plugins triggering this and the IconPatcher should be made safe, if possible.

---

<div class="post-metadata">

**Author:** ![yuriy.artamonov](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/yuriy.artamonov/32/48_2.png) [@yuriy.artamonov](https://platform.jetbrains.com/u/yuriy.artamonov)\
**Post date:** [August 1, 2025, 6:30pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/43 "2025-08-01T18:30:31Z")

</div>

> [@jansorg](#):
>
> is searching for RunConfigurationProducer

What task do you solve by doing that? Can you do that on-demand?

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [August 1, 2025, 6:45pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/44 "2025-08-01T18:45:05Z")

</div>

Also, [ComponentManagerImpl:checkOutsideClassInitializer](https://github.com/JetBrains/intellij-community/blob/a8c6da86ad21d6664738639795e636d855ce2e6b/platform/service-container/src/com/intellij/serviceContainer/ComponentManagerImpl.kt#L1546) could log a warning message. And it could continue to log an error message only in unit/integration tests.

This way, maintained plugin would have time to publish fixes. For unmaintained plugins, especially if the until-build field is ignored in a near future (😊), we would avoid these error reports.

---

<div class="post-metadata">

**Author:** ![jansorg](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/jansorg/32/52_2.png) [@jansorg](https://platform.jetbrains.com/u/jansorg)\
**Post date:** [August 2, 2025, 10:39am UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/45 "2025-08-02T10:39:46Z")

</div>

That’s for compatibility with the Shell plugin.

I’ve made changes to avoid eager init of the queried extension points and moved init code, which can be delayed, to a `ProjectActivity`. This will be part of the next update, which will be out very soon.

---

<div class="post-metadata">

**Author:** ![yuriy.artamonov](https://sea1.discourse-cdn.com/flex001/user_avatar/platform.jetbrains.com/yuriy.artamonov/32/48_2.png) [@yuriy.artamonov](https://platform.jetbrains.com/u/yuriy.artamonov)\
**Post date:** [August 2, 2025, 2:23pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/46 "2025-08-02T14:23:48Z")

</div>

Thank you so much, this helps

---

<div class="post-metadata">

**Author:** ![jonathanlermitage.1](https://avatars.discourse-cdn.com/v4/letter/j/e480ec/32.png) [@jonathanlermitage.1](https://platform.jetbrains.com/u/jonathanlermitage.1)\
**Post date:** [August 6, 2025, 3:38pm UTC](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402/47 "2025-08-06T15:38:38Z")

</div>

> Could you please create a topic for the second problem of ClassCastException? We will take a look and may be make it more helpful for others as well

Sure. I created [https://youtrack.jetbrains.com/issue/IDEA-377026/java.lang.ClassCastException-on-service-invocation](https://youtrack.jetbrains.com/issue/IDEA-377026/java.lang.ClassCastException-on-service-invocation)

[Previous page](https://platform.jetbrains.com/t/service-management-partially-broken-in-recent-ide-releases/2402.md?page=2)
