← Back to team overview

kaliveda-dev team mailing list archive

[Bug 1047241] [NEW] Fuite de mémoire dans KVINDRA

 

Public bug reported:

J'ai remarqué une petite fuite de mémoire qui provenant des KVACQParam's
définis dans la méthode KVINDRA::SetArrayACQParams(). Ces KVACQParam's
n'étant pas associés à un détecteur, il ne sont pas détruit lorsque le
KVINDRA est détruit. Voir le test suivant:

root [0] KVClassMonitor cm
:
:
root [9] cm.Check()
Info in <KVClassMonitor::Check>: Checking class instance statistics
root [10] new KVINDRA
root [11] gIndra->Build()
root [12] delete gIndra
root [13] cm.Check()
Info in <KVClassMonitor::Check>: Checking class instance statistics
Warning in <KVClassMonitor::Check>: KVACQParam +23     (23 --> 46)

de plus à chaque appel de la méthode KVINDRA::UpdateArray(), ces 23 KVACQParam's sont perdus dans la nature.
Je conçois que cette perte de mémoire est mineure car on ne travaille jamais avec plusieurs INDRA en même temps, mais bon peut une prochaine manipe qui sait!

Je pense qu'il faudrait que les 3 KVACQParameter's associés au
KVINDRATriggerInfo soient détruits dans le destructeur de
KVINDRATriggerInfo.  Pour les 20 autres, il faudrait peut être les
charger dans une donnée membre de KVMultiDetArray,  un KVSeqCollection
propriétaire, qui serait détruit dans le destructeur de KVMultiDetArray.
Et finalement, dans la méthode KVINDRA::SetArrayACQParams ne créer les
ACQParameters d'INDRA seulement si ce KVSeqCollection est vide et que
KVINDRATriggerInfo est vide.

** Affects: kaliveda
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of KaliVeda
Development Team, which is subscribed to KaliVeda.
https://bugs.launchpad.net/bugs/1047241

Title:
  Fuite de mémoire dans KVINDRA

Status in KaliVeda data analysis framework:
  New

Bug description:
  J'ai remarqué une petite fuite de mémoire qui provenant des
  KVACQParam's définis dans la méthode KVINDRA::SetArrayACQParams(). Ces
  KVACQParam's n'étant pas associés à un détecteur, il ne sont pas
  détruit lorsque le KVINDRA est détruit. Voir le test suivant:

  root [0] KVClassMonitor cm
  :
  :
  root [9] cm.Check()
  Info in <KVClassMonitor::Check>: Checking class instance statistics
  root [10] new KVINDRA
  root [11] gIndra->Build()
  root [12] delete gIndra
  root [13] cm.Check()
  Info in <KVClassMonitor::Check>: Checking class instance statistics
  Warning in <KVClassMonitor::Check>: KVACQParam +23     (23 --> 46)

  de plus à chaque appel de la méthode KVINDRA::UpdateArray(), ces 23 KVACQParam's sont perdus dans la nature.
  Je conçois que cette perte de mémoire est mineure car on ne travaille jamais avec plusieurs INDRA en même temps, mais bon peut une prochaine manipe qui sait!

  Je pense qu'il faudrait que les 3 KVACQParameter's associés au
  KVINDRATriggerInfo soient détruits dans le destructeur de
  KVINDRATriggerInfo.  Pour les 20 autres, il faudrait peut être les
  charger dans une donnée membre de KVMultiDetArray,  un KVSeqCollection
  propriétaire, qui serait détruit dans le destructeur de
  KVMultiDetArray. Et finalement, dans la méthode
  KVINDRA::SetArrayACQParams ne créer les ACQParameters d'INDRA
  seulement si ce KVSeqCollection est vide et que KVINDRATriggerInfo est
  vide.

To manage notifications about this bug go to:
https://bugs.launchpad.net/kaliveda/+bug/1047241/+subscriptions


Follow ups

References