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

Federates will throw a NoSuchMethodError when resigning from a federation if federates are joined. #301

Closed timpokorny closed 4 years ago

timpokorny commented 4 years ago

For code brevity I did what nobody should ever do – I quietly extended the HLA spec. I added an extra constructor to all the standard exceptions that directly took a Throwable, rather than requiring (String,Throwable).

This is fine... most of the time. When isn’t it? Any time you have the standard interfaces on the classpath ahead of the portico jar.

In that case, the standard interfaces get loaded first (without extra constructor), and you get a MethodNotFoundError whenever Portico tries to create one.

Fixed by:

Lesson that should never have to be learnt: Learnt

timpokorny commented 4 years ago

Fixed in dd6680b2c908189e9b6e585e614e50885e8533d1