openlvc / portico

Portico is an open source, cross-platform, fully supported HLA RTI implementation. Designed with modularity and flexibility in mind, Portico is a production-grade RTI for the Simulation and Training Community, so come say hi!
http://www.porticoproject.org
151 stars 81 forks source link

Invalid RTI file format in cpp example #321

Open guigui64 opened 3 years ago

guigui64 commented 3 years ago

When running the cpp example:

$ cd examples/cpp/ieee1516e
$ ./linux64.sh compile
$ ./linux64.sh execute federateTwo
[Fatal Error] RTI.rid:1:1: Content is not allowed in prolog.
Connection failed, Generic Error: hla.rti1516e.exceptions.RTIinternalError: XML format error: Content is not allowed in prolog.
        at org.portico.impl.hla1516e.Impl1516eHelper.initialize(Impl1516eHelper.java:105)
        at org.portico.impl.hla1516e.Impl1516eHelper.connect(Impl1516eHelper.java:152)
        at org.portico.impl.hla1516e.Impl1516eHelper.connect(Impl1516eHelper.java:115)
        at org.portico.impl.hla1516e.Rti1516eAmbassador.connect(Rti1516eAmbassador.java:207)
        at org.portico.impl.cpp1516e.ProxyRtiAmbassador.connect(ProxyRtiAmbassador.java:192)
Caused by: org.portico.lrc.compat.JConfigurationException: XML format error: Content is not allowed in prolog.
        at org.portico2.common.utils.XmlUtils.parseXmlFile(XmlUtils.java:83)
        at org.portico2.common.configuration.RID.parseRid(RID.java:266)
        at org.portico2.common.configuration.RID.<init>(RID.java:98)
        at org.portico2.common.configuration.RID.loadRid(RID.java:451)
        at org.portico2.common.configuration.RID.loadRid(RID.java:395)
        at org.portico2.common.configuration.RID.loadRid(RID.java:491)
        at org.portico.impl.hla1516e.Impl1516eHelper.initialize(Impl1516eHelper.java:99)
        ... 4 more
Caused by: org.xml.sax.SAXParseException; systemId: file:/home/comte/workspaces/hla/portico/codebase/dist/portico-2.2.0/examples/cpp/ieee1516e/./RTI.rid; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:348)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
        at org.portico2.common.utils.XmlUtils.parseXmlFile(XmlUtils.java:79)
        ... 10 more

Something else happened: hla.rti1516e.exceptions.NotConnected: Federate has not yet called connect()
        at org.portico.impl.hla1516e.Impl1516eHelper.checkConnected(Impl1516eHelper.java:296)
        at org.portico.impl.hla1516e.Rti1516eAmbassador.processMessage(Rti1516eAmbassador.java:5867)
        at org.portico.impl.hla1516e.Rti1516eAmbassador.createFederationExecution(Rti1516eAmbassador.java:290)
        at org.portico.impl.hla1516e.Rti1516eAmbassador.createFederationExecution(Rti1516eAmbassador.java:424)
        at org.portico.impl.cpp1516e.ProxyRtiAmbassador.createFederationExecution(ProxyRtiAmbassador.java:248)

terminate called after throwing an instance of 'rti1516e::NotConnected'
Aborted (core dumped)

Indeed, the provided RTI.rid file is not an XML file.