FS#67323 - [intellij-idea-community-edition] build with java11

Attached to Project: Community Packages
Opened by soloturn (soloturn) - Sunday, 19 July 2020, 06:25 GMT
Last edited by Levente Polyak (anthraxx) - Wednesday, 22 July 2020, 10:10 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Maxime Gauduin (Alucryd)
Levente Polyak (anthraxx)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
most repo's have a README.md. currently this file cannot be opened as it falls over with "tried to use preview panel provider "JavaFX WebView", but is unavailable. i tried to install java8-openjfx, java11-openjfx, and java-openjfx but none of them made it work.
This task depends upon

Closed by  Levente Polyak (anthraxx)
Wednesday, 22 July 2020, 10:10 GMT
Reason for closing:  Fixed
Additional comments about closing:  2:2020.1.3-2
Comment by soloturn (soloturn) - Sunday, 19 July 2020, 06:35 GMT Comment by Levente Polyak (anthraxx) - Sunday, 19 July 2020, 09:47 GMT
upstream basically never gives any useful advice _what_ the issue is. the issue is not the damn shitty bundled jre crap but the discovery of the javafx component. will need proper investigation instead of recommending to use crap.

EDIT: Here is what i fails to auto discovery (load class from classpath) which needs investigation why that happens and how/where it tries to find/load the class

2020-07-19 11:49:28,706 [ 46179] ERROR - llij.ide.plugins.PluginManager - javafx/scene/paint/Paint
java.lang.NoClassDefFoundError: javafx/scene/paint/Paint
at org.intellij.plugins.markdown.ui.preview.javafx.JavaFxHtmlPanelProvider.createHtmlPanel(JavaFxHtmlPanelProvider.java:25)
at org.intellij.plugins.markdown.ui.preview.MarkdownPreviewFileEditor.attachHtmlPanel(MarkdownPreviewFileEditor.java:352)
at org.intellij.plugins.markdown.ui.preview.MarkdownPreviewFileEditor.<init>(MarkdownPreviewFileEditor.java:152)
at org.intellij.plugins.markdown.ui.preview.MarkdownPreviewFileEditorProvider.createEditor(MarkdownPreviewFileEditorProvider.java:28)
at org.intellij.plugins.markdown.ui.split.SplitTextEditorProvider$2.build(SplitTextEditorProvider.java:146)
at org.intellij.plugins.markdown.ui.split.SplitTextEditorProvider$1.build(SplitTextEditorProvider.java:71)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4Edt(FileEditorManagerImpl.java:826)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$null$8(FileEditorManagerImpl.java:796)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.runBulkTabChange(FileEditorManagerImpl.java:1635)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openFileImpl4$9(FileEditorManagerImpl.java:795)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:467)
at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:485)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4(FileEditorManagerImpl.java:794)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:739)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openFileImpl2$5(FileEditorManagerImpl.java:722)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:212)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:178)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:168)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:154)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:722)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:653)
at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java:138)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$openEditorImpl$12(FileEditorManagerImpl.java:1087)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:212)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:178)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:168)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:154)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openEditorImpl(FileEditorManagerImpl.java:1085)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openEditor(FileEditorManagerImpl.java:1064)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInAnyFileEditor(OpenFileDescriptor.java:149)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInEditor(OpenFileDescriptor.java:130)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInEditorOrNativeApp(OpenFileDescriptor.java:126)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigate(OpenFileDescriptor.java:109)
at com.intellij.psi.impl.source.PsiFileImpl.navigate(PsiFileImpl.java:914)
at com.intellij.codeInsight.navigation.NavigationUtil.lambda$openFileWithPsiElement$1(NavigationUtil.java:179)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:178)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:168)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:154)
at com.intellij.codeInsight.navigation.NavigationUtil.openFileWithPsiElement(NavigationUtil.java:172)
at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.navigate(AbstractPsiBasedNode.java:239)
at com.intellij.ide.projectView.impl.nodes.AbstractPsiBasedNode.navigate(AbstractPsiBasedNode.java:249)
at com.intellij.ide.projectView.impl.nodes.PsiFileNode.navigate(PsiFileNode.java:115)
at com.intellij.util.OpenSourceUtil.navigateToSource(OpenSourceUtil.java:119)
at com.intellij.util.OpenSourceUtil.navigate(OpenSourceUtil.java:74)
at com.intellij.util.OpenSourceUtil.navigate(OpenSourceUtil.java:58)
at com.intellij.util.OpenSourceUtil.navigate(OpenSourceUtil.java:51)
at com.intellij.util.OpenSourceUtil.openSourcesFrom(OpenSourceUtil.java:19)
at com.intellij.util.EditSourceOnDoubleClickHandler$TreeMouseListener.processDoubleClick(EditSourceOnDoubleClickHandler.java:121)
at com.intellij.util.EditSourceOnDoubleClickHandler$TreeMouseListener.onDoubleClick(EditSourceOnDoubleClickHandler.java:115)
at com.intellij.ui.DoubleClickListener.onClick(DoubleClickListener.java:30)
at com.intellij.ui.ClickListener$1.mouseReleased(ClickListener.java:63)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6631)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at com.intellij.ui.treeStructure.Tree.processMouseEvent(Tree.java:394)
at com.intellij.ide.dnd.aware.DnDAwareTree.processMouseEvent(DnDAwareTree.java:44)
at java.desktop/java.awt.Component.processEvent(Component.java:6396)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5007)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4839)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4839)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:974)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:912)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:844)
at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: javafx.scene.paint.Paint
at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:328)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 96 more
Comment by soloturn (soloturn) - Sunday, 19 July 2020, 19:45 GMT
as a java8 class is bundled i thought compiling with 11 might fix it:

$ yay -Ql intellij-idea-community-edition | grep java | grep cene
intellij-idea-community-edition /usr/share/idea/plugins/javaFX/lib/rt/java8/SceneBuilderKit-8.2.0.jar
intellij-idea-community-edition /usr/share/idea/plugins/javaFX/lib/rt/sceneBuilderBridge.jar

Comment by Levente Polyak (anthraxx) - Sunday, 19 July 2020, 21:34 GMT
i've a fix present which addjs JFX properly to the classpath. their bundled kraken puts JFX into the libs of the JDK which is not a proper location. fix will be pushed after some further local tests. Yet another issue because of their wanky assumptions and deny of helping any distros compiling their own sources for usage. i guess open source at jetbrains means getting free developers to contribute but without giving a darn about the community and distros at all, purely from their mindset its clearly not meant to be compiled by anyone but themselves.
Comment by Levente Polyak (anthraxx) - Sunday, 19 July 2020, 22:52 GMT
please test 2:2020.1.3-2
Comment by soloturn (soloturn) - Monday, 20 July 2020, 09:50 GMT
thanks a lot, it works.

i also created a bug report for intellij to ease the os packaging: https://youtrack.jetbrains.com/issue/IDEA-246189. they install updated plugins into the data dir, not in cache. jetbrains i found a nice citizen up to now - they are technically good. and they do opensource quite a lot. scripting and packaging is not their strong point though :)
Comment by Marcin Rzeźnicki (mrzeznicki) - Monday, 20 July 2020, 19:00 GMT
Sorry for hijacking the thread, but in all honesty - do I really have to install openjfx, ruby, rubygems, ruby-something, webkit2gtk and all its deps to read the markdown files? I've been doing just fine without this feature (in fact I think I installed a plugin for this - anyways who cares). Could you please at least make openjfx an optional dependency? Intellij works without it.
Comment by soloturn (soloturn) - Tuesday, 21 July 2020, 00:23 GMT
good catch: openjfx does not need ruby to run, but to build: https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX. added a hint here: https://bugs.archlinux.org/task/67102?project=1&string=java11-openjfx. also, intellij does not need python to run, so i guess it could be optional as well?

for openjfx, i cannot open a markdown file without it, i have the preview switched off in settings. it works for you @mrzeznicki?

2020-07-20 12:19:54,112 [ 110793] ERROR - llij.ide.plugins.PluginManager - Could not initialize class org.intellij.plugins.markdown.ui.preview.jcef.MarkdownJCEFHtmlPanel
java.lang.NoClassDefFoundError: Could not initialize class org.intellij.plugins.markdown.ui.preview.jcef.MarkdownJCEFHtmlPanel


Comment by Marcin Rzeźnicki (mrzeznicki) - Tuesday, 21 July 2020, 13:03 GMT
@soloturn - you're right - it *used to* work without extra deps, but now I get the same error. Thanks for taking care of the bloat!
Comment by soloturn (soloturn) - Wednesday, 22 July 2020, 09:49 GMT
the error message includes java-cef - and really they throw out javafx and switch to java-cef, which is 50mb bigger. with 2020.2. but the guide says that it should be optional again, this time:
https://blog.jetbrains.com/platform/2020/07/javafx-and-jcef-in-the-intellij-platform/

Loading...