You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After having a closer look at the UsedChunkList, it seems there is a small window where the subscriber removed the sample from the UsedChunkList but the memory is not yet synchronized. When the subscriber is killed within this window and RouDi does the cleanup we have a double free. The problem can be solved, the question is just how expensive it will be.
After having an even closer look at the UsedChunkList it turned out to not be an issue since the sample is not freed in the application but returned to the caller which means the memory is properly synchronized. It seems I confused the releaseToSharedChunk call in remove with the one in cleanup. The former one is called in the application and does not free the sample but returns it to the caller. The latter is called from RouDi to do the cleanup and therefore frees the sample immediately.
After having a closer look at the
UsedChunkList
, it seems there is a small window where the subscriber removed the sample from theUsedChunkList
but the memory is not yet synchronized. When the subscriber is killed within this window and RouDi does the cleanup we have a double free. The problem can be solved, the question is just how expensive it will be.Originally posted by @elBoberido in #1740 (comment)
The text was updated successfully, but these errors were encountered: