Hallo allerseits,
Kurzes Feedback vorab: Es sollte kein deutsches Entwicklungsforum geben. Entwickler müssen eh alle englisch sprechen können, um den code zu verstehen. Die Zersplitterung der Entwicklungsthemen auf 2 getrennte Foren ist der Diskussion nicht zuträglich. Last but not least: Entwickler, die der deutschen Sprache nicht mächtig sind, nutzen die Unterstützung von LLM basierten Tools, um die Diskussionen hier zu nutzen, oder auch daran teilzunehmen. Das macht es unnötig kompliziert
Nun zu meinem eigentlichen Problem: Ich habe OpenEMS lokal wie hier beschrieben aufgesetzt. Einziger relevanter Unterschied: Ich nutze die Standard Java21 JRE, die Ubuntu liefert und nicht “OpenJDK Temurin builds by the Adoptium project”.
Wenn ich das Edge starte, erscheinen permanent Fehler der Art:
FrameworkEvent ERROR
org.osgi.framework.ServiceException: Service factory returned null
Ich gehe davon aus, dass diese ein Folgefehler der folgenden Execption gleich zu Beginn des Starts sind:
java.lang.VerifyError: Inconsistent stackmap frames at branch target 273
Exception Details:
Location:
io/openems/edge/core/componentmanager/EdgeConfigWorker.readConfigurations(Lio/openems/common/types/EdgeConfig$ActualEdgeConfig$Builder;Ljava/lang/String;)Z @273: aload
Reason:
Type 'java/lang/Object' (current frame, locals[10]) is not assignable to 'java/lang/String' (stack map, locals[10])
Current Frame:
bci: @203
flags: { }
locals: { 'io/openems/edge/core/componentmanager/EdgeConfigWorker', 'io/openems/common/types/EdgeConfig$ActualEdgeConfig$Builder', 'java/lang/String', '[Lorg/osgi/service/cm/Configuration;', 'java/util/Set', 'org/osgi/service/cm/Configuration', integer, integer, '[Lorg/osgi/service/cm/Configuration;', 'java/util/Dictionary', 'java/lang/Object' }
stack: { 'java/lang/Object' }
Stackmap Frame:
bci: @273
flags: { }
locals: { 'io/openems/edge/core/componentmanager/EdgeConfigWorker', 'io/openems/common/types/EdgeConfig$ActualEdgeConfig$Builder', 'java/lang/String', '[Lorg/osgi/service/cm/Configuration;', 'java/util/Set', 'org/osgi/service/cm/Configuration', integer, integer, '[Lorg/osgi/service/cm/Configuration;', 'java/util/Dictionary', 'java/lang/String' }
stack: { }
Kann mir jemand einen Tipp geben, wie ich das Problem lösen kann?
EDITED by Sn0w3y: Backend wurde durch Edge ersetzt, Backend ist alles i.O. - Fehler tritt bei EDGE ohne config.d Ordner auf.