[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]

Re: [ID 20000118.004] DynaLoader doesn't dlclose XS code on interpreter



Super-User writes:
> The failure of DynaLoader to dlclose the XS modules leads to a very insiduous
> bug.  The XS modules are left loaded in memory, and if the perl libperl.so is
> subsequently reloaded via dlopen, it is often loaded into a different address.
> The orphaned XS .so files are still in memory, linked to a 'ghost' of the perl
> libperl.so.  This causes all sorts of insiduous memory and heap corruption
> problems.

Looks like "do not do this" category.  Though may be it is safe to
dlclose() things at the end of "global destruction"...

> DynaLoader maintains a list of opened .so files in dl_librefs - on exit it
> should dlunload all the objects in this list.

Is not this list dead at the end of global destruction?  1/2 ;-)

Ilya


References to:
Super-User <root@mongo.uk.sun.com>

[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]