Hi @vtikha, I found a small problem in activeParticleTrack. For the purpose of our demo, I already solved this on my side with a workaround (see below) :sweat_smile: but in my opinion it would be good to address this anyway.
Problem: the "reset" rpc function of activeParticleTrack works fine when all tracks are active, but:
if one or more tracks are paused when a "reset" command is issued, the "getPausedID" list is not emptied - that ID remains present in "getPausedID" even after the reset, although it is deleted correctly from "getIDs";
if we are in the above problematic situation, then a client asks "getPausedID" and obtains for example (5) and he tries to "resume 5", the tracker segfaults (recently you added a check to pause/resume only valid IDs, that works, but the issue here seems to be that this ID is in a limbo between valid and deleted);
(minor thing: in the Thrift documentation for this module, I suggest to specify that "getIDs" returns all the IDs, both active and paused - at the moment the documentation talks about the IDs being tracked which is a bit ambiguous, the user might be led to think that it only refers to active, not-paused tracks).
My workaround in the world state routine that resets activeParticleTrack now looks like this:
first resume all paused tracks (to be precise, all paused tracks that are "valid" i.e. that are both in "getPausedIDs" and in "getIDs");
Hi @vtikha, I found a small problem in
activeParticleTrack
. For the purpose of our demo, I already solved this on my side with a workaround (see below) :sweat_smile: but in my opinion it would be good to address this anyway.Problem: the "reset" rpc function of
activeParticleTrack
works fine when all tracks are active, but:My workaround in the world state routine that resets
activeParticleTrack
now looks like this: