kaliveda-dev team mailing list archive
-
kaliveda-dev team
-
Mailing list archive
-
Message #00751
[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