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 ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings