Bug#277469: libxml-libxml-perl: last upgrade breaks axkit
-----BEGIN PGP SIGNED MESSAGE-----
Steve Langasek wrote:
| After reviewing the patch is bug # 240334, it's clear to me why axkit has
| started failing: XML::LibXML has been fixed to call xmlInitParser() and
| xmlCleanupParser(), libxml functions which affect the global process
| context; and axkit (/usr/lib/perl5/auto/AxKit/AxKit.so) *also* uses these
| functions. Clearly, this is causing a collision that renders AxKit
| unusable, probably by XML::LibXML clearing a context that AxKit is still
| trying to use.
| Since the change to libxml-libxml-perl was made to fix real bugs in that
| package when used with mod_perl, I think this is a bug in AxKit's usage of
| libxml2, not in XML::LibXML's usage of it. Reassigned accordingly.
The problem with the unwillingly shared input callbacks has been
discussed a lot this year
Steve Hay posted a patch
similar to the one from Jason Adams
to fix the same problem
Jason's patch is part of the Debian Package now and it looks like the
extra call to xmlCleanupParser() introduced by that patch resets the
input callbacks AxKit still expects to be there.
As Christian Glahn, maintainer of XML::LibXML points out in a comment in
the source code of LibXML.xs, calling xmlInitParser() at
LibXML_init_parser is the wrong way either.
Which patch is now the "correct" one and which one isn't is up to the
module and package maintainers I guess. What I know from everyday
practice being a user of AxKit and other applications using
XML::LibXML/XML::LibXSLT together in one mod_perl environment, is the
fact that the globals and callbacks DO work together at versions AxKit
1.62, XML::LibXML 1.58_1 (also XML::LibXML 1.58), and XML::LibXSLT 1.57.
So, why not upgrade the Debian packages libxml-libxml-perl to use
XML::LibXML 1.58(_1) and libxml-libxslt-perl to use XML::LibXSLT 1.57?
With that, we would have got a working setup and still can find out what
is to fix at AxKit's code and look for someone to takeover the orphaned
063A F25E B064 A98F A479 1690 78CD D023 5E2A 6688
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (MingW32)
-----END PGP SIGNATURE-----