middendm
I'm new here

Fehler bei GenericConfig 2.8.0 bei Java 11 und FS 05/2020

Hallo zusammen,

wir haben FirstSpirit aktuell auf unserer Testumgebung auf Java 11 upgedated (Maiversion FirstSpirit). Seitdem tritt eine Fehlermeldung auf, wenn wir eine *.war-Datei herunterladen wollen, die GenericConfig Version 2.8.0 verwendet.

Client Version: 5.2.200508.79058

Java Version: 11.0.6 AdoptOpenJDK

FSVersion=5.2.200508.79058#3509;JDK=11.0.6 64bit AdoptOpenJDK;OS=Windows Server 2016 10.0 amd64;Date=10.08.2020 11:38:53

java.lang.InternalError: java.lang.reflect.InvocationTargetException

at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)

at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:249)

at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265)

at java.desktop/sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1243)

at java.desktop/javax.swing.JComponent.getFontMetrics(JComponent.java:1646)

at java.desktop/javax.swing.text.PlainView.calculateLongestLine(PlainView.java:783)

at java.desktop/javax.swing.text.PlainView.updateMetrics(PlainView.java:332)

at java.desktop/javax.swing.text.PlainView.updateDamage(PlainView.java:670)

at java.desktop/javax.swing.text.PlainView.insertUpdate(PlainView.java:591)

at java.desktop/javax.swing.text.FieldView.insertUpdate(FieldView.java:294)

at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1706)

at java.desktop/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1965)

at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)

at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)

at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)

at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)

at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)

at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder$ValueInfo.setValue(GenericConfigPanel.java:652)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder$ValueInfo.addToLayout(GenericConfigPanel.java:567)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder$ValueInfo.access$700(GenericConfigPanel.java:461)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder.build(GenericConfigPanel.java:356)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder.access$300(GenericConfigPanel.java:235)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel.init(GenericConfigPanel.java:130)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.loadConfiguration(WebApplicationXmlMerge.java:232)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.processWebXml(WebApplicationXmlMerge.java:207)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.loadWebXml(WebApplicationXmlMerge.java:186)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.getDocuments(WebApplicationXmlMerge.java:172)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.mergeWebXmls(WebApplicationXmlMerge.java:267)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.mergeWebXmls(WebApplicationXmlMerge.java:164)

at de.espirit.firstspirit.server.module.WebServerManagerImpl.createWarFileUsingAdditionalWebComponent(WebServerManagerImpl.java:1865)

at de.espirit.firstspirit.server.module.WebServerManagerImpl.createWarFileUsingCoreComponents(WebServerManagerImpl.java:465)

at de.espirit.firstspirit.server.module.WebServerManagerImpl.createWar(WebServerManagerImpl.java:367)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:67)

at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:141)

at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:73)

at de.espirit.firstspirit.server.io.MessageWorker.run(MessageWorker.java:50)

at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:627)

at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:592)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:436)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.base/java.lang.Thread.run(Thread.java:834)

at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:56)

Caused by: java.lang.reflect.InvocationTargetException

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84)

... 52 more

Caused by: java.lang.NullPointerException

at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)

at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)

at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)

at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)

at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:379)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:324)

at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)

at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)

at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)

at java.desktop/sun.font.SunFontManager.getInstance(SunFontManager.java:249)

at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:265)

at java.desktop/sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1243)

at java.desktop/javax.swing.JComponent.getFontMetrics(JComponent.java:1646)

at java.desktop/javax.swing.text.PlainView.calculateLongestLine(PlainView.java:783)

at java.desktop/javax.swing.text.PlainView.updateMetrics(PlainView.java:332)

at java.desktop/javax.swing.text.PlainView.updateDamage(PlainView.java:670)

at java.desktop/javax.swing.text.PlainView.insertUpdate(PlainView.java:591)

at java.desktop/javax.swing.text.FieldView.insertUpdate(FieldView.java:294)

at java.desktop/javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1706)

at java.desktop/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1965)

at java.desktop/javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:203)

at java.desktop/javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:757)

at java.desktop/javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:716)

at java.desktop/javax.swing.text.PlainDocument.insertString(PlainDocument.java:131)

at java.desktop/javax.swing.text.AbstractDocument.replace(AbstractDocument.java:675)

at java.desktop/javax.swing.text.JTextComponent.setText(JTextComponent.java:1729)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder$ValueInfo.setValue(GenericConfigPanel.java:652)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder$ValueInfo.addToLayout(GenericConfigPanel.java:567)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder$ValueInfo.access$700(GenericConfigPanel.java:461)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder.build(GenericConfigPanel.java:356)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel$ConfigGuiBuilder.access$300(GenericConfigPanel.java:235)

at com.espirit.ps.psci.genericconfiguration.GenericConfigPanel.init(GenericConfigPanel.java:130)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.loadConfiguration(WebApplicationXmlMerge.java:232)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.processWebXml(WebApplicationXmlMerge.java:207)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.loadWebXml(WebApplicationXmlMerge.java:186)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.getDocuments(WebApplicationXmlMerge.java:172)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.mergeWebXmls(WebApplicationXmlMerge.java:267)

at de.espirit.firstspirit.module.WebApplicationXmlMerge.mergeWebXmls(WebApplicationXmlMerge.java:164)

at de.espirit.firstspirit.server.module.WebServerManagerImpl.createWarFileUsingAdditionalWebComponent(WebServerManagerImpl.java:1865)

at de.espirit.firstspirit.server.module.WebServerManagerImpl.createWarFileUsingCoreComponents(WebServerManagerImpl.java:465)

at de.espirit.firstspirit.server.module.WebServerManagerImpl.createWar(WebServerManagerImpl.java:367)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at de.espirit.firstspirit.io.DefaultServerHandler.callManager(DefaultServerHandler.java:67)

at de.espirit.firstspirit.server.io.handler.ManagerCall.doCall(ManagerCall.java:141)

at de.espirit.firstspirit.server.io.handler.CompactCall.handle(CompactCall.java:73)

at de.espirit.firstspirit.server.io.MessageWorker.run(MessageWorker.java:50)

at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:627)

at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:592)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:436)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at de.espirit.firstspirit.client.io.ServerCaller.callManager(ServerCaller.java:565)

at de.espirit.firstspirit.io.DefaultClientHandler.callManager(DefaultClientHandler.java:58)

at de.espirit.firstspirit.client.io.RemoteManagerCaller.invoke(RemoteManagerCaller.java:53)

at com.sun.proxy.$Proxy30.createWar(Unknown Source)

at de.espirit.firstspirit.manager.WebServerManagerProxy.createWar(WebServerManagerProxy.java:102)

at de.espirit.firstspirit.admin.gui.projectpanels.ApplicationsWebScopePanel$ApplicationListPaneWeb$3$2.createWarFile(ApplicationsWebScopePanel.java:737)

Gibt es vielleicht schon eine neuere Version speziell für Java 11?

Oder gibt es einen andere Lösung für das Problem?

mit freundlichen Grüßen
Martin Middendorf

0 Kudos
3 Replies
mbergmann
Crownpeak employee

Hallo Martin,

auch wenn die "GenericConfig" nicht "offiziell" supported wird, kann ich mal versuchen zu helfen. Tritt der Fehler wirklich NUR beim Herunterladen als .war auf (d.h. beim Klick auf den Button), d.h. sonst funktioniert(e) alles?

War die einzige Änderung das Update auf Java 11 oder habt ihr parallel auf FS 2015-05 geupdated?

Viele Grüße

Michael

0 Kudos

Hallo Michael,

FS 2020-05 hatten wir bereits vorher auf dem Testsystem.

Das Herunterladen funktioniert nicht und das Aktualisieren der Preview läuft und läuft und wird nie fertig.

Diesen FontManagerFactory-Fehler hatte ich bei einem meiner Module ebenfalls gesehen, welches FontAwesome zur Darstellung von Icons in Swing verwendet.

Dieses Feature musste ich deaktivieren/auskommentieren.

Auch hier tritt der Fehler nur auf dem Testsystem unter FS 2020-05 auf.

Wir fragen uns, ob das FS Update 2020-08 vielleicht das Problem behebt, da es wohl ein Fehler ist, der auch an anderer Stelle auftritt?

Der Fehler ist insofern ein Problem, da wir aktuell den Rest der Funktionalitäten unter Java 11 nicht testen können, da weder die Preview funktioniert, noch ein Download möglich ist, um es auf dem Webserver zu testen.

Jede Hilfe wäre willkommen.

Mit freundlichen Grüßen

Martin

0 Kudos
eginger
Returning Observer

Zur Info:

Wir haben inzwischen herausgefunden, das es an der fehlenden "fontconfig" gelegen hat, die bei den Linux Installationspaketen von Adopt OpenJDK nicht dabei ist. Bei den Windows Paketen besteht das Problem nicht, weshalb es bei meiner lokalen FS Dev Installation von Anfang an funktionierte. Sobald man das "fontconfig" Paket nachinstalliert (z.B. „sudo yum install fontconfig dejavu-sans-fonts dejavu-serif-fonts“), verschwinden auch die Fehler am Linux FS Server und es können wieder WAR Dateien herunter geladen werden.

0 Kudos