Project

General

Profile

User story #1628

Updated by André Neto about 1 year ago

Discuss with L. Boncagni needed patch to fix memory leak in the OPCUAClient Read/Write methods.

-OPCUAClientRead after line 276
      UA_ExtensionObject_deleteMembers(eos);
-OPCUAClientRead after line 297
UA_ReadResponse_deleteMembers(&readResponse);

-OPCUAClientWrite after line 192
UA_TranslateBrowsePathsToNodeIdsResponse_deleteMembers(&tbpResp);
UA_BrowseRequest_deleteMembers(&bReq);

-OPCUAClientWrite after line 303
UA_ReadRequest_deleteMembers(&readRequest);
UA_ReadResponse_deleteMembers(&readResponse);

-OPCUAClientWrite after line 488
      UA_ReadResponse_deleteMembers(&readResponse);

-OPCUAClientWrite RegisterNodes a 521 e UnregisterNodes e 505
      UA_UnregisterNodesResponse_deleteMembers(&rResp);
      UA_UnregisterNodesRequest_deleteMembers(&rReq);

La writeRequest e la ReadRequest che sono valiabili di classe
forse in distruzione converrebbe applicare la _deleteMembers

Mi sono accorto che sul ClientRead non ho applicato tutte le patch che ho messo
sul ClientWrite, forse è il caso di provare. Comunque solo Read() e Write() sono critiche perchè sono nel run dei threads, le altre rappresenterebbero leak in distruzione/riconfigurazione

Back