PyCharm does not start on Kubuntu 24.10
I've upgraded my OS to Kubuntu 24.10 (from Kubuntu 24.04) and PyCharm no longer starts.
pycharm-community 2024.2.3 414 latest/stable jetbrains✓ classic
Here is attempt to run it with console output:
$ pycharm-community
2024-10-16 11:11:34,335 [ 294] SEVERE - #c.i.p.s.l.InternalStateStorageService - Cannot deserialize value for key com.intellij.LinuxIconThemeConfiguration.iconTheme (size=14, value will be stored under key com.intellij.LinuxIconThemeConfiguration.iconTheme.__corrupted__) [Plugin: com.intellij]
com.intellij.diagnostic.PluginException: Cannot deserialize value for key com.intellij.LinuxIconThemeConfiguration.iconTheme (size=14, value will be stored under key com.intellij.LinuxIconThemeConfiguration.iconTheme.__corrupted__) [Plugin: com.intellij]
at com.intellij.platform.settings.local.InternalStateStorageService.getValue(InternalStateStorageService.kt:88)
at com.intellij.platform.settings.local.LocalSettingsController.getItem-fgh0x1k(LocalSettingsController.kt:39)
at com.intellij.platform.settings.local.SettingsControllerMediator.doGetItem-fgh0x1k(SettingsControllerMediator.kt:37)
at com.intellij.platform.settings.local.StateStorageBackedByController.getXmlSerializationState(StateStorageBackedByController.kt:83)
at com.intellij.platform.settings.local.StateStorageBackedByController.getState(StateStorageBackedByController.kt:49)
at com.intellij.configurationStore.ComponentStoreImpl$doCreateStateGetter$1.getState(ComponentStoreImpl.kt:650)
at com.intellij.configurationStore.ComponentStoreImpl.doInitComponent(ComponentStoreImpl.kt:575)
at com.intellij.configurationStore.ComponentStoreImpl.initComponent(ComponentStoreImpl.kt:493)
at com.intellij.configurationStore.ComponentStoreImpl.initComponent(ComponentStoreImpl.kt:160)
at com.intellij.configurationStore.ComponentStoreWithExtraComponents.initComponent(ComponentStoreWithExtraComponents.kt:46)
at com.intellij.serviceContainer.ComponentManagerImpl.initializeService$intellij_platform_serviceContainer(ComponentManagerImpl.kt:651)
at com.intellij.serviceContainer.ServiceInstanceInitializer.createInstance$suspendImpl(ServiceInstanceInitializer.kt:70)
at com.intellij.serviceContainer.ServiceInstanceInitializer.createInstance(ServiceInstanceInitializer.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:162)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.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.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:160)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:27)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:90)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:145)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:13)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:135)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:95)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance$suspendImpl(LazyInstanceHolder.kt:83)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt)
at com.intellij.serviceContainer.ComponentManagerImpl.preloadService$suspendImpl(ComponentManagerImpl.kt:1114)
at com.intellij.serviceContainer.ComponentManagerImpl.preloadService(ComponentManagerImpl.kt)
at com.intellij.serviceContainer.ComponentManagerImpl$preloadServices$2$1.invokeSuspend(ComponentManagerImpl.kt:1086)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
Caused by: java.lang.NullPointerException
at kotlin.UnsafeLazyImpl.getValue(Lazy.kt:81)
at com.intellij.platform.settings.local.InternalStateStorageServiceKt.getStringSerializer(InternalStateStorageService.kt:125)
at com.intellij.platform.settings.local.InternalStateStorageServiceKt.access$getStringSerializer(InternalStateStorageService.kt:1)
at com.intellij.platform.settings.local.InternalStateStorageService.getValue(InternalStateStorageService.kt:55)
... 41 more
2024-10-16 11:11:34,348 [ 307] SEVERE - #c.i.p.s.l.InternalStateStorageService - PyCharm 2024.2.3 Build #PC-242.23339.19
2024-10-16 11:11:34,348 [ 307] SEVERE - #c.i.p.s.l.InternalStateStorageService - JDK: 21.0.4; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2024-10-16 11:11:34,349 [ 308] SEVERE - #c.i.p.s.l.InternalStateStorageService - OS: Linux
2024-10-16 11:11:34,349 [ 308] SEVERE - #c.i.p.s.l.InternalStateStorageService - Last Action:
2024-10-16 11:11:34,585 [ 544] SEVERE - #c.i.o.e.i.FontFamilyServiceImpl - Cannot invoke "String.startsWith(String)" because "platName" is null
java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "platName" is null
at java.desktop/sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:164)
at java.desktop/sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3218)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:474)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:343)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:343)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:33)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:58)
at java.desktop/sun.font.PlatformFontInfo.createFontManager(PlatformFontInfo.java:37)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:51)
at java.desktop/sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:191)
at java.desktop/sun.java2d.SunGraphicsEnvironment.getAllFonts(SunGraphicsEnvironment.java:210)
at com.intellij.openapi.editor.impl.FontFamilyServiceImpl.<init>(FontFamilyServiceImpl.java:75)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$2.invoke(instantiate.kt:45)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$2.invoke(instantiate.kt:42)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:313)
at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:42)
at com.intellij.serviceContainer.ServiceInstanceInitializer.createInstance$suspendImpl(ServiceInstanceInitializer.kt:31)
at com.intellij.serviceContainer.ServiceInstanceInitializer.createInstance(ServiceInstanceInitializer.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:162)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.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.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:160)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:27)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:90)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:145)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:13)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:135)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:95)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance$suspendImpl(LazyInstanceHolder.kt:83)
at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt)
at com.intellij.serviceContainer.ComponentManagerImpl.preloadService$suspendImpl(ComponentManagerImpl.kt:1114)
at com.intellij.serviceContainer.ComponentManagerImpl.preloadService(ComponentManagerImpl.kt)
at com.intellij.serviceContainer.ComponentManagerImpl$preloadServices$2$1.invokeSuspend(ComponentManagerImpl.kt:1086)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
2024-10-16 11:11:34,587 [ 546] SEVERE - #c.i.o.e.i.FontFamilyServiceImpl - PyCharm 2024.2.3 Build #PC-242.23339.19
2024-10-16 11:11:34,587 [ 546] SEVERE - #c.i.o.e.i.FontFamilyServiceImpl - JDK: 21.0.4; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o.
2024-10-16 11:11:34,587 [ 546] SEVERE - #c.i.o.e.i.FontFamilyServiceImpl - OS: Linux
2024-10-16 11:11:34,587 [ 546] SEVERE - #c.i.o.e.i.FontFamilyServiceImpl - Last Action:
**Start Failed**
Internal error
java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "platName" is null
at java.desktop/sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:164)
at java.desktop/sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3218)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:474)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:343)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:343)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:33)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:58)
at java.desktop/sun.font.PlatformFontInfo.createFontManager(PlatformFontInfo.java:37)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:51)
at java.desktop/java.awt.Font.getFont2D(Font.java:569)
at java.desktop/java.awt.Font.getFamily(Font.java:1494)
at java.desktop/java.awt.Font.getFamily_NoClientCode(Font.java:1468)
at java.desktop/java.awt.Font.getFamily(Font.java:1460)
at com.intellij.platform.ide.bootstrap.UiKt$initUi$preloadFontJob$1.invokeSuspend(ui.kt:60)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:125)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:608)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:873)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:763)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:750)
-----
JRE: 21.0.4+13-b509.17 amd64 (JetBrains s.r.o.)
/snap/pycharm-community/414/jbr
-----
Also, a UI exception occurred in an attempt to show the above message:
java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "platName" is null
at java.desktop/sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:164)
at java.desktop/sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3218)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:474)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:343)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:343)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:33)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:58)
at java.desktop/sun.font.PlatformFontInfo.createFontManager(PlatformFontInfo.java:37)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:51)
at java.desktop/java.awt.Font.getFont2D(Font.java:569)
at java.desktop/java.awt.Font.getFamily(Font.java:1494)
at java.desktop/java.awt.Font.getFamily_NoClientCode(Font.java:1468)
at java.desktop/java.awt.Font.getFamily(Font.java:1460)
at java.desktop/javax.swing.text.StyleContext.getFont(StyleContext.java:277)
at java.desktop/javax.swing.text.StyleContext.getFont(StyleContext.java:225)
at java.desktop/javax.swing.text.DefaultStyledDocument.getFont(DefaultStyledDocument.java:959)
at java.desktop/javax.swing.text.LabelView.setPropertiesFromAttributes(LabelView.java:145)
at java.desktop/javax.swing.text.LabelView.sync(LabelView.java:56)
at java.desktop/javax.swing.text.LabelView.getFont(LabelView.java:209)
at java.desktop/javax.swing.text.GlyphPainter1.sync(GlyphPainter1.java:236)
at java.desktop/javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:62)
at java.desktop/javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:587)
at java.desktop/javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:762)
at java.desktop/javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:241)
at java.desktop/javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:709)
at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
at java.desktop/javax.swing.text.BoxView.getMinimumSpan(BoxView.java:569)
at java.desktop/javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:904)
at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:936)
at java.desktop/javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:344)
at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709)
at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398)
at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1823)
at java.desktop/javax.swing.plaf.basic.BasicTextUI.getPreferredSize(BasicTextUI.java:948)
at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1730)
at java.desktop/javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1390)
at java.desktop/javax.swing.text.JTextComponent.getPreferredScrollableViewportSize(JTextComponent.java:1995)
at java.desktop/javax.swing.ViewportLayout.preferredLayoutSize(ViewportLayout.java:100)
at java.desktop/java.awt.Container.preferredSize(Container.java:1826)
at java.desktop/java.awt.Container.getPreferredSize(Container.java:1810)
at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1732)
at java.desktop/javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:500)
at java.desktop/java.awt.Container.preferredSize(Container.java:1826)
at java.desktop/java.awt.Container.getPreferredSize(Container.java:1810)
at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1732)
at com.intellij.platform.ide.bootstrap.StartupErrorReporter.prepareMessage(StartupErrorReporter.java:196)
at com.intellij.platform.ide.bootstrap.StartupErrorReporter.showError(StartupErrorReporter.java:130)
at com.intellij.platform.ide.bootstrap.StartupErrorReporter.showError(StartupErrorReporter.java:90)
at com.intellij.idea.Main.mainImpl(Main.kt:78)
at com.intellij.idea.Main.main(Main.kt:49)
请先登录再写评论。
Check out the workaround in the following case: https://youtrack.jetbrains.com/issue/JBR-7112/PyCharm-crashes-on-Kubuntu-24.04-JDK-17.0.10-NPE-Cannot-invoke-String.startsWithString-because-platName-is-null