JVM gets crashed after some minutes(3 to 5 mins) of creating WellboreMarker Instance

I am using fesapi java wrapper.
After creating WellboreMarker instance for pick JVM gets crash after some time like 3 to 5 mins later.
I am using following way to create the wellboremarker instances

WellboreTrajectoryRepresentation wellboreTrajectoryRepresentation = (WellboreTrajectoryRepresentation) repo.getDataObjectByUuid(trajectoryRepresentationUuid);
WellboreMarkerFrameRepresentation wellboreMarkerFrameRepresentation = repo.createWellboreMarkerFrameRepresentation(wellboreInterpretation, uuid, title,wellboreTrajectoryRepresentation);
--------More code setting MDs here----

WellboreMarker wellboreMarker = new WellboreMarker(wellboreMarkerFrameRepresentation,"",currentPickName,resqml20__GeologicBoundaryKind.resqml20__GeologicBoundaryKind__horizon);
Horizon horizon = repo.createHorizon(uuid, currentPickName);
HorizonInterpretation horizonInterpretation  = repo.createHorizonInterpretation(horizon, uuid, currentPickName);

Form JVM crash report it says crash occurs while try to delete wellboremarker objects

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.f2i.energisticsStandardsApi.fesapiJNI.delete_resqml2_0_1_WellboreMarker(J)V+0
j com.f2i.energisticsStandardsApi.resqml2_0_1.WellboreMarker.delete()V+25
j com.f2i.energisticsStandardsApi.resqml2_0_1.WellboreMarker.finalize()V+1
j java.lang.System$2.invokeFinalize(Ljava/lang/Object;)V+1
j java.lang.ref.Finalizer.runFinalizer(Lsun/misc/JavaLangAccess;)V+46
j java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;Lsun/misc/JavaLangAccess;)V+2
j java.lang.ref.Finalizer$FinalizerThread.run()V+45

Further I am attaching jvm crash report in attachment.

Processing: hs_err_pid11564.log…
From below link hs_err_pid11564.log file can be downloaded.

Husnain Mehdi


I think it is fixed in v2.0.0.0 : See JAVA or C# WellboreMarker sometimes crash the library · Issue #223 · F2I-Consulting/fesapi · GitHub
Listed in bug fix in v2.0.0.0 : Release v2.0.0.0 · F2I-Consulting/fesapi · GitHub

Hello Philippe,

Unfortunately we can’t upgrade to FESAPI v 2.x as the RESQML files created by this version are not being accepted by other vendors at this point.

Would it be possible for you to backport this fix to FESAPI 1.2.x ?

Or, is there a workaround to bypass this bug (we are using java wrapper) ?


To backport would take me too much time.
We have not sufficient ressource to afford to maintain two FESAPI versions at the same time. Please ask other vendors to support the standard, not a subset of it.

A workaround is a bit explained into the issue :

Workaround, call the SWIG implementation of the WellboreMarkers instead of the CPP-like constructor and set the last parameter to false instead of true.

It would mean to call

WellboreMarker marker0 = new WellboreMarker(fesapiJNI.new_resqml2_0_1_WellboreMarker__SWIG_1(WellboreMarkerFrameRepresentation.getCPtr(wmf), wmf, "624f9f17-6797-4d78-b3fc-9ca2c8174bcd",
          "", resqml20__GeologicBoundaryKind.horizon.swigValue()), false);

instead of

WellboreMarker marker0 = new WellboreMarker(wmf, "624f9f17-6797-4d78-b3fc-9ca2c8174bcd", "", gsoap_resqml2_0_1::resqml20__GeologicBoundaryKind__horizon);

I hope this workaround would work.

Hello Philippe,

Thanks for providing us the workaround.
We made the changes and tested it and so far we did not see a crash.

We will do more testing and update here in case we see a crash again.