Please report new issues athttps://github.com/DOCGroup
The code to reassemble multicast fragments has serious bugs in its design and implementation. First, it assumes that a remote process will not get reassigned the same host:port combination after a crash, this is clearly incorrect. Second the implementation uses 32-bit unsigned integers, but then performs dumb loops like this: for (CORBA::ULong i = purge_first; i <= purge_last; ++i) this is an infinite loop if purge_last is std::numeric_limits<CORBA::ULong>::max() to add insult to injury I think the code handles its circular buffer incorrectly. I have fixes for most of these bugs, and will submit a patch shortly.
Created attachment 270 [details] A patch for ECG_CDR_Message_Receiver
Created attachment 271 [details] Regression test as a tar file
Did my share, I found the bug, implemented a regression test and submitted a patch. I can certainly commit all those things, but I do not have time to monitor the builds and make sure it works on every silly platform out there. Sorry, has to go to the tao-support tar pit.