Re: BUG #3860: xpath crashes backend when is querying xmlagg result - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #3860: xpath crashes backend when is querying xmlagg result
Date
Msg-id 20080110201941.GT6465@alvh.no-ip.org
Whole thread Raw
In response to Re: BUG #3860: xpath crashes backend when is querying xmlagg result  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-bugs
Alvaro Herrera escribió:
> Tom Lane escribió:
>
> > We might be able to compromise by only resetting the context after
> > an error, but this is still only possible if we have a way to make
> > libxml let go of *all* pointers to alloc'd objects.  I don't understand
> > your comment that xmlCleanupParser solves it --- we call that already,
> > and it doesn't seem to be preventing the problem.
>
> With the attached patch, it doesn't crash, but I see the added WARNING
> four times in the log, which is proof that the cleanup thing is not
> called as the code seems to think.

Update: it does crash for another of the test cases by Sokolov, if
executed more than once.  Reason: it calls xml_init after
xmlCleanupParser has been called, so the memory context is created
again, only to be reset later.  The culprit seems to be
xml_out_internal.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #3867: PQconnectdb(NULL) cores instead of errors.
Next
From: Alvaro Herrera
Date:
Subject: Re: BUG #3860: xpath crashes backend when is querying xmlagg result