| Summary: | Memory leak in G4VisManager | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Koichi Murakami <Koichi.Murakami> |
| Component: | visualization/management | Assignee: | John.Allison |
| Status: | RESOLVED FIXED | ||
| Severity: | critical | ||
| Priority: | P1 | ||
| Version: | 8.0 | ||
| Hardware: | All | ||
| OS: | All | ||
Thankyou! Yes! Must have been a bad day when I programmed that! Will be fixed in the next reference tag (for developers) and the next release, Geant4 version 8.1, plaaned for June 2006. Fixed in vis-V08-00-05 proposed for next reference tag and next release. |
Memory consumption will explode when executing '/vis/scene/add/trajectories' for drawing trajectories. I suspect that G4VisManager::CheckModel() could cause memory leak. 965 void G4VisManager::CheckModel () { 966 G4VModel* pModel = fpSceneHandler->GetModel(); 967 if (!pModel) { // provide a null model. 968 pModel = &fVisManagerNullModel; 969 fpSceneHandler -> SetModel (pModel); 970 } * 971 Ensure modeling parameters are right for this view... * 972 fVisManagerModelingParameters * 973 = *(fpSceneHandler -> CreateModelingParameters ()); * 974 pModel->SetModelingParameters (&fVisManagerModelingParameters); 975 } This method will be called at every time of drawing an object. SceneHandler::CreateModelingParameters() will create new object of G4ModelingParameters, but the object seems not to be well managed.