Problem with propagator after measurement generation


I met a problem after the measurement generation and I hope you can help me out.

I added several propagators to the generator. After generation of the measurements, when I tried to use those propagators to propagate orbit backwards, the program seems to be paused.

For example,

for (int j = 0; j < propagators.length; j++) {
    satellites[j] = generator.addPropagator(propagators[j]);
SortedSet<ObservedMeasurement<?>> measurements = generator.generate(initialDate, endDate);

Till now, the program was fine. And the propagators are propagated to endDate. Now if I want to propapate the propagator backwards, like to its initialDate:


The program would never end, and it does not consume any CPU. So it seems to be paused.

I tested this with only one propagator added to the generator, and there is no problem. As long as more than one propagator added, the problem occurs.

I wonder if this is a bug or I am not supposed to use it this way for some reason?

By the way, I am using these part of codes from Orekit 10.1, since 10.0 are not handling the measurement generation for multi satellites correctly.

I hope I made myself clear. Thanks a lot in advance!

Perhaps you could try to reset the step handlers after the measurements generation has completed but before you restart the propagator.
The rationale is that the generator does set up a dedicated step handler that uses multi-threading to synchronize the propagators (as measurements may involve multiple propagators). You may get stuck here, with a now obsolete step handler that is waiting for a now defunct generator to let it run.

Hi Luc,

Thanks a lot for your suggestion. I tried and it works.

Thank you and I wish you a merry Christmas.