View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010293ParaViewBugpublic2010-02-15 15:112010-03-01 21:58
ReporterBurlen 
Assigned ToUtkarsh Ayachit 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionDevelopment 
Target VersionFixed in Version3.8 
Summary0010293: PV Plugin Loader resource leaks (doesn't close dynamic library)
Descriptionrunning with valgrind I see a bunch of leaks coming from

vtkPVPluginLoader::SetFileName

where vtkDynamicLoader::OpenLibrary is called. if the call is successful , vtkDynamicLoader::CloseLibrary is never called later. This introduces a bunch of memory leaks (which at the very least confound finding more serious leaks in valgrind output).

The right thing to do is always call vtkDynamicLoader::CloseLibrary at some point after the library is no longer needed.

A typical valgrind trace is included below.

Additional Information 788 ==687== 267 bytes in 6 blocks are still reachable in loss record 43 of 51
 789 ==687== at 0x4C25153: malloc (vg_replace_malloc.c:195)
 790 ==687== by 0x400B1EC: _dl_new_object (dl-object.c:146)
 791 ==687== by 0x400647B: _dl_map_object_from_fd (dl-load.c:966)
 792 ==687== by 0x40083A7: _dl_map_object (dl-load.c:2235)
 793 ==687== by 0x400C46C: openaux (dl-deps.c:65)
 794 ==687== by 0x400E385: _dl_catch_error (dl-error.c:178)
 795 ==687== by 0x400CB63: _dl_map_object_deps (dl-deps.c:247)
 796 ==687== by 0x4012DA2: dl_open_worker (dl-open.c:326)
 797 ==687== by 0x400E385: _dl_catch_error (dl-error.c:178)
 798 ==687== by 0x40126C6: _dl_open (dl-open.c:615)
 799 ==687== by 0x16EE6F65: dlopen_doit (dlopen.c:67)
 800 ==687== by 0x400E385: _dl_catch_error (dl-error.c:178)
 801 ==687== by 0x16EE72AB: _dlerror_run (dlerror.c:164)
 802 ==687== by 0x16EE6EE0: dlopen@@GLIBC_2.2.5 (dlopen.c:88)
 803 ==687== by 0x86E5766: ??? (in /usr/lib/libGL.so.185.18.36)
 804 ==687== by 0x18D1F19D: vtkDynamicLoader::OpenLibrary(char const*) (vtkDynamicLoader.cxx:38)
 805 ==687== by 0x4F2CDD9: vtkPVPluginLoader::SetFileName(char const*) (vtkPVPluginLoader.cxx:127)
TagsNo tags attached.
Project
Topic Name
Type
Attached Files

 Relationships

  Notes
(0019532)
Burlen (developer)
2010-02-15 15:13

Steps to reproduce:

run pvserver in valgrind with the --leak-check=full option, load a plugin, disconnect.
(0019636)
Utkarsh Ayachit (administrator)
2010-02-25 17:30

vtkDynamicLoader::CloseLibrary is called before application quits.

/cvsroot/ParaView3/ParaView3/Servers/Common/vtkPVPluginLoader.cxx,v <-- Servers/Common/vtkPVPluginLoader.cxx
new revision: 1.21; previous revision: 1.20
(0019679)
Alan Scott (manager)
2010-03-01 21:58

Trusting that Utkarsh got it.

 Issue History
Date Modified Username Field Change
2010-02-15 15:11 Burlen New Issue
2010-02-15 15:13 Burlen Note Added: 0019532
2010-02-25 17:13 Utkarsh Ayachit Status backlog => tabled
2010-02-25 17:13 Utkarsh Ayachit Assigned To => Utkarsh Ayachit
2010-02-25 17:30 Utkarsh Ayachit Note Added: 0019636
2010-02-25 17:30 Utkarsh Ayachit Status tabled => @80@
2010-02-25 17:30 Utkarsh Ayachit Fixed in Version => 3.8
2010-02-25 17:30 Utkarsh Ayachit Resolution open => fixed
2010-03-01 21:58 Alan Scott Note Added: 0019679
2010-03-01 21:58 Alan Scott Status @80@ => closed


Copyright © 2000 - 2018 MantisBT Team