bugCERTI - Bugs: bug #47630, JCerti RTIAmbassador's...

 
 

bug #47630: JCerti RTIAmbassador's sendInteraction method does not make use of LogicalTime input parameter

Submitter:  None
Submitted:  Wed 06 Apr 2016 10:52:57 AM UTC
   
 
Category:  JavaCERTI Severity:  * 4 - Important
Item Group:  HLA compliance error Status:  Need Info
Privacy:  Public Assigned to:  jb_ch
Open/Closed:  Open Release:  * GIT-master
Reproducibility:  Every Time Fixed Release:  Unknown
* Mandatory Fields

Add a New Comment Rich Markup
   

Thu 07 Apr 2016 01:16:27 PM UTC, comment #3: 

Hi Shom,

You found a real bug for sure.
SendInteraction message could be either RO (no time) or TSO (with time).

You can see this 'optional' time handling in
CertiMessage::writeMessage:

messageBuffer.write(federationTime != null);
if (federationTime != null) {
   messageBuffer.write(federationTime.getTime());
}

this is the same with tag or label.

Now when going from RO to TSO you may get lock beacuse of causality issue.
Your federate should use one of the tick() RTI ambassador API call in order to progress in time.


Eric NOULARD <erk>
Group administrator
Thu 07 Apr 2016 04:20:00 AM UTC, comment #2: 

Hi Jb_Ch,

Very happy to join this community.
I encountered deadlock during further testing on the fix I proposed, I am looking into it.

Best regards,
Chong Shum

Chong Shum <chongshum>
Wed 06 Apr 2016 06:51:26 PM UTC, comment #1: 

Hello,

Thanks for reporting this and suggesting a patch.
We will have a look at it.

If you want to contribute to CERTI, please do not hesitate to create a savannah account and use it for your future comments/inputs to CERTI project.

Best regards,
Jb_Ch


JbCh <jb_ch>
Group administrator
Wed 06 Apr 2016 10:52:57 AM UTC, original submission:  

The bug can be observed in the source code (src/certi/rti/impl/CertiRtiAmbassador.java@line-1189).

The method EventRetractionHandle sendInteraction(int,SuppliedParameters,byte[], LogicalTime) makes no reference to the input parameter LogicalTime, which causes the HLA Interaction to be sent in RO instead of TSO.

The bug can be easily fixed by adding a line "request.setFederationTime((CertiLogicalTime) theTime);" at line 1202.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by erk (Posted a comment)
  • -email is unavailable- added by chongshum (Posted a comment)
  • -email is unavailable- added by jb_ch (Posted a comment)
  •  

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-03-01 jb_ch StatusNone Need Info
        Assigned toNone jb_ch

    Back to the top

    Powered by Savane 3.14-8eb0.
    Corresponding source code