Re: BUG #3860: xpath crashes backend when is querying xmlagg result

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Sokolov Yura <funny(dot)falcon(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org, Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: BUG #3860: xpath crashes backend when is querying xmlagg result
Date: 2008-01-10 20:19:41
Message-ID: 20080110201941.GT6465@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-patches

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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Alvaro Herrera 2008-01-10 21:16:40 Re: BUG #3860: xpath crashes backend when is querying xmlagg result
Previous Message Tom Lane 2008-01-10 19:21:07 Re: BUG #3867: PQconnectdb(NULL) cores instead of errors.

Browse pgsql-patches by date

  From Date Subject
Next Message Alvaro Herrera 2008-01-10 21:16:40 Re: BUG #3860: xpath crashes backend when is querying xmlagg result
Previous Message Tom Lane 2008-01-10 19:08:06 Re: Revised patch for fixing archiver shutdown behavior