[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mod_perl unhappy with libxml-parser-perl



Hi!

Is there any way I can help you (as maintainer of libxml-parser-perl)?

Thanks,
Ardo

Robert Coie <rac@intrigue.com> writes:

> I have noticed a conflict between the versions of Expat in apache-perl
> 1.3.9.10-1.21-6 and libxml-parser-perl 2.27-6 that causes memory
> corruption.  I assume that the DSO apache-1.3.9/libapache-mod-perl
> 1.21 in potato is similarly affected, as I first started getting
> segfaults when running under that version.
> 
> The problem arises because the "expat-lite" version of the expat
> library is compiled into apache without defining XML_DTD.  The
> libExpat.so in libxml-parser-perl is compiled with XML_DTD defined,
> which, among other things, changes the size and composition of various
> data structures.  If an object is allocated by the expat-lite code,
> accesses to it from the libxml-parser-perl code can clobber memory.
> 
> I can think of several ways to solve the problem:
> 
> (1) Delete the expat-lite directory from the Apache build tree, or
> disable it somehow.  Pro: simple.  Con: perhaps somebody needs it.
> 
> (2) Make the expat-lite version compile with XML_DTD defined also, so
> it is compatible with the libxml-parser-perl version.  Pro: saves
> expat-lite in Apache.  Con: fragile; perhaps there are other
> incompatibilities, even some insoluble ones due to Apache forking
> Expat.
> 
> (3) Use preprocessor hackery to rename the symbols in the expat-lite
> version, so there is no possibility of code mixing and matching.  Pro:
> Solves the Cons of the first two options.  Con: more difficult to do,
> introduces what could be viewed as a gratuitous incompatibility with
> the mainstream Apache distribution.
-- 
Ardo van Rangelrooij
home email: avrangel@flevonet.nl, ardo@debian.org
home page:  http://home.flevonet.nl/~avrangel
PGP fp:     3B 1F 21 72 00 5C 3A 73  7F 72 DF D9 90 78 47 F9


Reply to: