Re: BUG #15420: Server crash. Segmentation fault when parsing xml file - Mailing list pgsql-bugs

From Pavel Stehule
Subject Re: BUG #15420: Server crash. Segmentation fault when parsing xml file
Date
Msg-id CAFj8pRCnEiQdAt2YQBZGS2n=qKVU42AHenSXmC-aHGgXKtkA9w@mail.gmail.com
Whole thread Raw
In response to Re: BUG #15420: Server crash. Segmentation fault when parsing xml file  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: BUG #15420: Server crash. Segmentation fault when parsing xml file  (Sergey Mirvoda <sergey@mirvoda.com>)
List pgsql-bugs


čt 4. 10. 2018 v 13:47 odesílatel Pavel Stehule <pavel.stehule@gmail.com> napsal:


čt 4. 10. 2018 v 13:43 odesílatel Andrey Borodin <x4mmm@yandex-team.ru> napsal:


4 окт. 2018 г., в 16:38, Pavel Stehule <pavel.stehule@gmail.com> написал(а):




Actually we found this error in very fresh intatallation of Ubuntu 16.04 and postgres 10.5
After that we checked every configuration we have. 
And only postgres 9.4 works as expected. 

This issue is related to libxml2 limits - and it cannot to work with modern libxml2 libraries.
Yes, root cause is inside libxml2 code.

Can we protect postmaster from crashing from libxml2 error? There is a bunch of PG_TRY there, but it does not help.

Unfortunately, no. You cannot to handle crash. PostgreSQL doesn't start separate process for libxml2 calls, and fault there is fatal.

I played with it, and it looks on some problems with libxml2 and your specific document (maybe too much multibyte chars, .. I don't know)

I imported 200MB long xml document with 1M items. So it has not sense to limit xml size of PostgreSQL side.

It looks so your xml document hits some corner case of libxml2 where it is extremely memory expensive. What I can see, there is lot of long content inside attributes.

Regards

Pavel



Regards

Pavel


Best regards, Andrey Borodin.

pgsql-bugs by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: BUG #15420: Server crash. Segmentation fault when parsing xml file
Next
From: Sergey Mirvoda
Date:
Subject: Re: BUG #15420: Server crash. Segmentation fault when parsing xml file