[Mono-dev] mscorlib.dll not unloaded on windows

Kornél Pál kornelpal at gmail.com
Mon Aug 23 12:19:12 EDT 2010

This is very strange since no more than a single mscorlib.dll should be 
loaded no matter how many AppDomians you have.

Could you please send me more details about multiple mscolib.dlls:
- are they loaded as DLLs or just file handles?
- do they have exactly (string comparison, not considering .., links, 
etc.) the same full path names?

Thank you.


Ignas wrote:
> I haven't attached a sample but test scenario is really simple. Init mono,
> create child app domain, load assembly, unload domain, cleanup mono, observe
> how mscorlib.dll is still loaded (at least on Windows). I can tell that by
> looking at Process Explorer utility which shows that mscorlib.dll is still
> memory mapped. After every consecutive iteration one more mscorlib.dll is
> loaded until process runs out of virtual memory. Which is really bad for our
> browser plugin (Unity Web Player).
> Is this a known issue? I can make it go away by manually calling
> mono_assembly_close() on corlib but not sure if this is safe and at which
> point it is safe. Before mono_runtime_cleanup() or after?
> Thanks,
> Ignas

More information about the Mono-devel-list mailing list