David Lee Lambert wrote:
On 6 mar, 22:44, and...@dunslane.net (Andrew Dunstan) wrote:
Holger Hoffstaette wrote:
On Fri, 06 Mar 2009 14:32:25 -0600, Kenneth Marshall wrote:
On Fri, Mar 06, 2009 at 02:58:30PM -0500, Andrew Dunstan wrote:
Yes, I discovered this a few weeks ago. [...]
Maybe someone can trace the libxml calls ... not sure how exactly ...
given Alvaro's example, it doesn't seem likely to me that this is due to
a call to xmlCleanupParser(), but maybe the perl code invokes by simply
doing "use XML::LibXML;" calls that for some perverse reason.
I'm able to duplicate this on Postgres 8.4 (Debian Etch, XML::LibXML
from CPAN). Here's the backtrace from the crash:
#0 0x082f3cf1 in MemoryContextAlloc ()
#1 0x082c3f8a in xml_palloc ()
#2 0xb7dfa548 in xmlInitCharEncodingHandlers () from /usr/lib/
libxml2.so.2
#3 0xb7e0195e in xmlInitParser () from /usr/lib/libxml2.so.2
#4 0xb7dff2ef in xmlCheckVersion () from /usr/lib/libxml2.so.2
#5 0xb573af2e in boot_XML__LibXML ()
from /usr/local/lib/perl/5.8.8/auto/XML/LibXML/LibXML.so
#6 0xb587981b in Perl_pp_entersub () from /usr/lib/libperl.so.5.8
#7 0xb5877f19 in Perl_runops_standard () from /usr/lib/libperl.so.5.8
#8 0xb5819b6e in Perl_magicname () from /usr/lib/libperl.so.5.8
#9 0xb581a844 in Perl_call_sv () from /usr/lib/libperl.so.5.8
...
Is it supposed to be OK to call xmlCheckVersion() more than once?
You are certainly not supposed to call xmlInitParser more than once -
see <http://xmlsoft.org/html/libxml-parser.html#xmlInitParser>
Since this is being called by xmlCheckVersion(), that looks like a bug
in libxml2.
Even if this were fixed, however, I'm still not convinced that we'll be
able to call libxml2 from perl after we've installed our memory handler
(xml_palloc).
cheers
andrew
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers