Обсуждение: BUG #17362: Error "could not find block containing chunk" when using index with icu collation on CentOS 7

Поиск
Список
Период
Сортировка

BUG #17362: Error "could not find block containing chunk" when using index with icu collation on CentOS 7

От
PG Bug reporting form
Дата:
The following bug has been logged on the website:

Bug reference:      17362
Logged by:          Pasi Eronen
Email address:      eronenp@gmail.com
PostgreSQL version: 14.1
Operating system:   CentOS 7
Description:

When I query a table containing certain Unicode data, using an index that
has certain collation, I get error message "could not find block containing
chunk". This is fully reproducible on CentOS 7 using the official RPM. (I
could not reproduce this on Oracle Linux 8, though):

Installing PostgreSQL on new CentOS 7 VM:

vagrant init centos/7
vagrant up
vagrant ssh
sudo -i
yum update -y
yum install -y
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql14-server
su - postgres
cd /var/lib/pgsql
/usr/pgsql-14/bin/initdb data
/usr/pgsql-14/bin/pg_ctl -D data -l postgres.log start

Populating data (bad_strings_data.sql contains non-ASCII characters, so
using base64 here to ensure they don't get modified in this bug report):

/usr/pgsql-14/bin/psql 
postgres=# CREATE TABLE public.bad_strings (id uuid, value text);
postgres=# CREATE INDEX bad_strings_lower_idx ON public.bad_strings USING
btree (lower((value COLLATE "fi-FI-x-icu")));
base64 -d <<EOF | gunzip > /tmp/bad_strings_data.sql 
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
xuQeDuS1Deb1htW8/tUPr/8Ltw0xjodvAAA=
EOF
/usr/pgsql-14/bin/psql < /tmp/bad_strings_data.sql

Query (using enable_seqscan=off to force index scan):

/usr/pgsql-14/bin/psql 
postgres=# set enable_seqscan=off;
postgres=# \set VERBOSITY verbose
postgres=# select id from bad_strings order by lower(value collate
"fi-FI-x-icu") asc, id;
ERROR:  XX000: could not find block containing chunk 0x20c2398
LOCATION:  AllocSetFree, aset.c:1026

The version I'm using:

postgres=# select version();
PostgreSQL 14.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623
(Red Hat 4.8.5-44), 64-bit

# rpm -qa | egrep 'icu|postgresql'
postgresql14-server-14.1-1PGDG.rhel7.x86_64
libicu-50.2-4.el7_7.x86_64
postgresql14-14.1-1PGDG.rhel7.x86_64
postgresql14-libs-14.1-1PGDG.rhel7.x86_64

Stack trace from "errfinish" (using a version compiled from
postgresql14-14.1-1PGDG.rhel7.src.rpm)

(gdb) bt
#0  errfinish (filename=filename@entry=0xa857b3 "aset.c",
lineno=lineno@entry=1026, funcname=funcname@entry=0xa857c0 <__func__.6365>
"AllocSetFree") at elog.c:514
#1  0x0000000000902b19 in AllocSetFree (context=<optimized out>,
pointer=0x254e4b8) at aset.c:1026
#2  0x00000000008b4728 in varstrfastcmp_locale (a1p=0x2550da9 "a", 'x'
<repeats 27 times>, len1=28, a2p=0x2550ad9 "axxxxxxx-\245w\256\245q\240g[",
'x' <repeats 14 times>, "@", 
    len2=<optimized out>, ssup=0x254c868, ssup=0x254c868) at
varlena.c:2425
#3  0x00000000008b47c6 in varlenafastcmp_locale (x=39128488, y=39127768,
ssup=0x254c868) at varlena.c:2280
#4  0x0000000000912f55 in ApplySortAbbrevFullComparator (ssup=0x254c868,
isNull2=<optimized out>, datum2=<optimized out>, isNull1=false,
datum1=<optimized out>)
    at ../../../../src/include/utils/sortsupport.h:262
#5  comparetup_heap (a=<optimized out>, b=<optimized out>, state=0x254c458)
at tuplesort.c:3791
#6  0x0000000000911d3b in qsort_tuple (data=<optimized out>, n=<optimized
out>, compare=0x912d70 <comparetup_heap>, arg=arg@entry=0x254c458)
    at ../../../../src/include/lib/sort_template.h:351
#7  0x0000000000913eb6 in tuplesort_sort_memtuples
(state=state@entry=0x254c458) at tuplesort.c:3566
#8  0x0000000000915be4 in tuplesort_performsort
(state=state@entry=0x254c458) at tuplesort.c:2061
#9  0x0000000000663dfe in ExecIncrementalSort (pstate=0x2535be0) at
nodeIncrementalSort.c:776
#10 0x0000000000642232 in ExecProcNode (node=0x2535be0) at
../../../src/include/executor/executor.h:257
#11 ExecutePlan (execute_once=<optimized out>, dest=0x253d238,
direction=<optimized out>, numberTuples=0, sendTuples=true,
operation=CMD_SELECT, 
    use_parallel_mode=<optimized out>, planstate=0x2535be0,
estate=0x25359b8) at execMain.c:1551
#12 standard_ExecutorRun (queryDesc=0x2540548, direction=<optimized out>,
count=0, execute_once=<optimized out>) at execMain.c:361
#13 0x00000000007b60fb in PortalRunSelect (portal=portal@entry=0x24de9f8,
forward=forward@entry=true, count=0, count@entry=9223372036854775807,
dest=dest@entry=0x253d238)
    at pquery.c:921
#14 0x00000000007b7587 in PortalRun (portal=portal@entry=0x24de9f8,
count=count@entry=9223372036854775807, isTopLevel=isTopLevel@entry=true,
run_once=run_once@entry=true, 
    dest=dest@entry=0x253d238, altdest=altdest@entry=0x253d238,
qc=qc@entry=0x7fffaf9db030) at pquery.c:765
#15 0x00000000007b3337 in exec_simple_query (query_string=0x247afb8 "select
id from bad_strings order by lower(value collate \"fi-FI-x-icu\") asc, id;")
at postgres.c:1214
#16 0x00000000007b47b3 in PostgresMain (argc=argc@entry=1,
argv=argv@entry=0x7fffaf9db400, dbname=0x24a6a08 "postgres",
username=<optimized out>) at postgres.c:4486
#17 0x000000000048cba5 in BackendRun (port=<optimized out>, port=<optimized
out>) at postmaster.c:4530
#18 BackendStartup (port=0x249e1d0) at postmaster.c:4252
#19 ServerLoop () at postmaster.c:1745
#20 0x0000000000731e32 in PostmasterMain (argc=argc@entry=3,
argv=argv@entry=0x2475b20) at postmaster.c:1417
#21 0x000000000048dcc2 in main (argc=3, argv=0x2475b20) at main.c:209

Best regards,
Pasi


On Tue, Jan 11, 2022 at 3:16 AM PG Bug reporting form
<noreply@postgresql.org> wrote:
> When I query a table containing certain Unicode data, using an index that
> has certain collation, I get error message "could not find block containing
> chunk". This is fully reproducible on CentOS 7 using the official RPM. (I
> could not reproduce this on Oracle Linux 8, though):

It looks like you're probably not using utf8 as your database
encoding, based on the stacktrace -- even though I would expect that
on your ICU version. What does "show server_encoding;" show you when
run from psql?

My guess is that you can temporarily work around the bug (which looks
like a bug in our !HAVE_UCOL_STRCOLLUTF8 ICU support) by making sure
to use UTF-8 as the server encoding.

-- 
Peter Geoghegan



On Wed, Jan 12, 2022 at 12:20 AM Peter Geoghegan <pg@bowt.ie> wrote:
> It looks like you're probably not using utf8 as your database
> encoding, based on the stacktrace -- even though I would expect that
> on your ICU version. What does "show server_encoding;" show you when
> run from psql?

It's UTF8.

postgres=# show server_encoding;
 server_encoding
-----------------
 UTF8
(1 row)

Best regards,
Pasi



On 11.01.22 23:19, Peter Geoghegan wrote:
> On Tue, Jan 11, 2022 at 3:16 AM PG Bug reporting form
> <noreply@postgresql.org> wrote:
>> When I query a table containing certain Unicode data, using an index that
>> has certain collation, I get error message "could not find block containing
>> chunk". This is fully reproducible on CentOS 7 using the official RPM. (I
>> could not reproduce this on Oracle Linux 8, though):
> 
> It looks like you're probably not using utf8 as your database
> encoding, based on the stacktrace -- even though I would expect that
> on your ICU version. What does "show server_encoding;" show you when
> run from psql?
> 
> My guess is that you can temporarily work around the bug (which looks
> like a bug in our !HAVE_UCOL_STRCOLLUTF8 ICU support) by making sure
> to use UTF-8 as the server encoding.

It looks like the reporter's system is rhel7, which does not have 
HAVE_UCOL_STRCOLLUTF8, so it will use the other code independent of the 
encoding.

There could very well be some subtle memory counting bug or similar in 
icu_to_uchar() perhaps.  Needs more analysis.



On 13.01.22 16:12, Peter Eisentraut wrote:
> On 11.01.22 23:19, Peter Geoghegan wrote:
>> On Tue, Jan 11, 2022 at 3:16 AM PG Bug reporting form
>> <noreply@postgresql.org> wrote:
>>> When I query a table containing certain Unicode data, using an index 
>>> that
>>> has certain collation, I get error message "could not find block 
>>> containing
>>> chunk". This is fully reproducible on CentOS 7 using the official 
>>> RPM. (I
>>> could not reproduce this on Oracle Linux 8, though):
>>
>> It looks like you're probably not using utf8 as your database
>> encoding, based on the stacktrace -- even though I would expect that
>> on your ICU version. What does "show server_encoding;" show you when
>> run from psql?
>>
>> My guess is that you can temporarily work around the bug (which looks
>> like a bug in our !HAVE_UCOL_STRCOLLUTF8 ICU support) by making sure
>> to use UTF-8 as the server encoding.
> 
> It looks like the reporter's system is rhel7, which does not have 
> HAVE_UCOL_STRCOLLUTF8, so it will use the other code independent of the 
> encoding.
> 
> There could very well be some subtle memory counting bug or similar in 
> icu_to_uchar() perhaps.  Needs more analysis.

Ok, I can reproduce this with the given test data and steps if I undef 
HAVE_UCOL_STRCOLLUTF8 in my build.

Interestingly, I couldn't just rebuild and rerun the query.  In order 
for the error to occur, I had to rebuild the index.



Hi Peter E & Peter G,

Although I have not touched PostgreSQL internals before, I took a stab
at debugging this, and found something that looks strange (and might
be related):

In varlena.c, ssup_extra->buf1 and buf2 are initialized to 1024-byte
buffers, allocated from the ssup->ssup_cxt memory context.  That
strange-looking test string in my bug report just happens to be 1044
bytes, so a larger buffer is needed at some point.

If growing the buffer happens in "varstrfastcmp_locale", it uses
MemoryContextAlloc(ssup->ssup_cxt, ...). But if growing the buffer
happens in "varstr_abbrev_convert", it just calls "palloc" - and
apparently the current memory context is not ssup_cxt at this point
(at least according to debugging printf's I added).

Might this be causing the problem? (changing the palloc to
MemoryContextAlloc certainly makes the problem go away, but on the
other hand, it looks like neither memory context has been deleted yet
when the error occurs, so it shouldn't really matter...?)

In other news, I tried tweaking the test data strings (mainly
replacing "x"s with other ascii characters), and accidentally found a
version that causes a reproducible segfault (instead of "could not
find block containing chunk" error). I've included the base64-encoded
dump below.

Best regards,
Pasi

base64 -d <<EOF | gunzip > /tmp/bad_strings_data.sql
H4sIAAAAAAAAA+ydS85lyXWd2/eOoqCWLDioeD9gWQBJ60WKIkFSBAQ1jHhShEmKECkBGoF6bhvq
WLYnYMAdtzUUT8Aegr91s7IqX/d/ZRZtQEyQRVZmnjhxIvZee60dO/b/ze9+7y8++8Xfjp/+ZH5t
9PXvf/mrv/nJz3/8y89++yfrX3/2d/2nf7v/1Wd/+P3vfuezX/5q/eTn/+a60ikp7my27dlEG5up
Kw9jd+yptrn3qpc/61/+um6XXO+pmV6qM7G6aVpfPNbjSbbMNmO4fPvNJ1KLY6UeTTphmrjTMH0H
Z3pfZ62cmzvrrSc+fy4M73Oe3rQ8l4n+VDNOscae7fKeca0+Ll9fL/p17bHuOlwxLiZrYjrL9NqC
aSfX7LuzyYbLj96b0/IjjzWC2ScW1qszJ8enrXbaPvZkd+Llh28/MwsLMMI22+/Gq4IWKxweTD7u
bjMr9+4zscbR/bCmp8D0imVmY/Jam31yM+116uWPXvbt7y6FnbHvU7Jx6XQTz2mm1ch00+gu9s4/
9+U7Lx9/tXFCn93sXbCY061p8QyT0ojO+Z5P8pfvvrfUPYbgJlsS3Wb77WRapXYzu2WdZzvHjctf
vHxas4x2xogm25WYVqmmLevNYmDXarUju8u3Xjp6bTEMO5zJfUc28GDGe3te5svYPeS08uV7Lxg4
LltC3NuE3FiWFpepDa+YPh/rz7ax+suPXjhtjCHPmuSs27nB8FuOviqOPtzuKZfu1uX7Lx6+l5x3
9t5MF4+Jc3TTHJt6so85Fb/86pc/eenwb71qjdT37IwdPLAT8PC6RzHFnZMaFp5jeil8vH7HwHWq
BwJL1GboH22taNqsju3Zye34Qje9uuOsWxnvt8MDm7ayExsHBU6Stf2UmS9fektwsl5n0nKATCnA
cqvNzFkxxZb8Pun1376GxsMjJTPTZBcidtmHFwKmNUNpO3R24V2HnG4MN/Be7I0J8S/g2Eim8A7n
SkvtzMvPPv/LVTDqdjE1p81fZh+anRtk8RUs6LnldvmDj1r8BW7UCQJX63DgtgIL1I+czdU4HcuU
Lj948fChr35WacYVwfYYmYjFsq6TF44QswLdiz1Bb+hY4E7s6wLrTez+mE7sMeBDJRjt7k64/Lt3
t8F5lrQ5Z5xL+OUksIwcunHDOk+kKJl5/eyNbWPwXDzO7C3W4+RysVnjawlrZNsAqMufvw+/Kaxa
TjEjgV3Rj0Ns3IShBS6POVeM8fKL96I2T7bYJ0xgmNCE952g32ouJoPaacWBzcXLn7141Ry2cxjL
hF4JDoRPVq1j+HUevtPPNMblL182drJxBI8nzFCxWuf4aCerzdH7OgrI5T73oqvd+ElY3QDoGF23
BSdK09i63MJ4Fgv8blgfy7oa2OKlvxn72dAtT+CZs4B+3tWa3qMCo+4mJ2oly8zPEfU6JrD/iwDG
c/vyq/e3weewIEp8Sxd++5ZlXQmHXBPv7A2/ff3cFU611inH1FkIVyGI17QKOwputQDbGvXlvvRq
cYs+YA++duvjD7bVEt81WrONbSNw1ZeExA+96mRWLbJcvYLLNTl8hM2MyecWfcq95RfG9quD9J0U
PIEkauyQcBHoXLHb+zGgzcV9gbR7g0K7YhWn4XywSjYcMqcgBEOwe+LiP3zRPOqARPtcTdhRzt28
GQHqnno6dTY72h6Xb77oG798CVgCd8OXcxDbP5Eg5NYwa/Zde3ZgFhD1ES8IgNgsy8uH8bi5lhk+
ZINiCB3rOBFC8Nsf9xV6T+m79Ya3gpVBxscrLPzaA6UVy2x59Iv76PcI1YW3trERIfOmWUR3iU3L
+dCHMLf2y+98ADdHcqUI2PZqWG7K4OYt6uCrYY5Y9nAv949rKCvOjclC4bAX4guBE8K/6sJapi9p
lMu3P/br5wCLIT+YodAKi+EtmM7wBZ0RIAKpfySQYPqpbJuAtoMcI96jqEYA37BHAmrc5bCZH0Ht
rpBF1CfYFBwRP+KtwCYhN6Qyz7Czz2ov39tfya9rqOHkjNm4gtlED58cZ1fjxUFKGcXZc2lfzcvf
mkhJLsErkwlVNBTlRoQ7wdjuwnYTIodv5q/q7ckBYApdGcJL3LNEigLxXC2feHK3Ff77V1/R2zUB
SHTghQUhHGFABQrT+8KyK7jtkIfDxcsPPvlrCRT4j3i5m3w3gQLdIrpn02Tr96n1nRTD1Q+YKlhh
+tFzeeAPOUUDt5u5R1sPof6P38UbfNM77WdLvQBUPNpPnHxkJbakaQWJ76oA4ZTrw4JmxuFsigmH
AMjuwF8OU0xh5i+lBiKlwlQ6UYpAGdcN1AjHu09UWIVNpnb57fncX1eexdfRqSEhQeJMXkwNsbfQ
qdDAoKTKN96fuy2xwg1MDVVBMww0DARvrACVOlro8sXcmaBX7opBtxQY3jhWtObMFhYsthIBLz/6
1AbwnkHsCt3tlfdmJSoi4ZdZNZP8aUSsaGNo7+fPUPIp2hWdWQuyEs8t46Rnc0NXlkC0OZc//tST
bfBYNjmKDrHAeWJekDAm4Uuv+YSB9f70E790gtYTomVyDljygknUEwlteAVeBJ7W/VXA9bXYHEv3
1vR1lNpD5dYAVO9dW0WATrj+5duf9JUZRsG2o/daX/K+bFpAiitRaGuZIZZx+fqnfCM+kc7mPYR2
3rjHLaQnI42HL0+flC34VG9rXi6KeXc8EgOyvA1GYU4pMU58vBR7+daXZh5QFAHjknJh7x1+Ur3S
2CeANiMt5nr5o080O+Y3LEYWJu5XlNjwXeoWHAwhppTDjBFQ+KRb/v4c/JrWxUZMaGBXbEOJgwLF
7Kt09mPh+5fvvYUGPWORfU7jqqLpgQLWWLDUc9JaJdu+xuUbn2qCPRDEQkeRAKGYTENHb9fMTCFK
8+R0/OWbn+ht77581DMOn6XkqPgT6mUMtOwuAeoGBvLfr+zl8LO2VicAb7Hs3XFPbc1B5xMdbQh7
fTIoulaf4tiwE1AHIpzTMn1jlilDy0awkb/0FXKkKyHfY1dWeQIYYlMupik0xTN7dwffXJc//GSv
szbMNDzYACJhxITwAQkxJSZXRwgeQfMWz7kiEHYUaYNRYwsd5tGys/p/tWIH2/cvxPqrJwB0do2I
VfYt7e0Jm9irSdPFnVJqAcLy5gMaxru2+OgaX8Fjq+j8ftDgM6bqAYR3yNd1bX676PRoZRwkdCVn
wFRro491DwzWvZMIusV09jkWwB+g511jOlPXBiHLmisuX0Oo77Ce6/anEqYgzjXK85FNHRcxOtjp
dnm3p/2S8uwF0YXop3LQ+1ErPFk0Bh+j1F1FGl7/5XQGvwGZQloqmb+IQsohnWU9+wItqfnt2VyB
70WYQkMA5nzAZp1yQGcRqfsK9qTs30D31xg/12br4d8OyIqJt7UCFwp2rF7cSMnty//5z//wP95d
sNv+sBvoNW9Q4nxSSMl0XBFCuosQO4x3wfL2bTpUQcFjz1Up8slWTVFGlBiIOVwL+72n9LYTwoqY
qAvC2Q0CtaxMeba5pBltG/ny/fce65Ool/k4sJuXQCeIejD4YEveLtSE8rx874NMOOgIIgI2Dohn
SZUpDMRDlxpKqfqs49UfvjHD2toJVmL26HABbMZni1JlRYeso8xx+dan8tnXrrtRDH3AlMo4RW7F
Llhk9XQb78EIodqX77y3LixZHlEL4ZrOQfcE6ppiHnIFeJlw8a8m2l7PcM6x7GajNBUxGwrD8f+i
dXhIa7Hayw8+YHA7LHa7YjpbBzdNp7j5Zrz4U9pscPAfMB0ZHeNj0YTNssUtMjy2H51grR5QOz2t
d43u2pPH8eECyx4mZ8NCz9VlFgT/+JYWsHL5wX0hFfpex28emMLUYQldPS4sT0eJDnWR30JIMAgF
3ncxs/FWJAayc2LmJzQ2U0+0ennnuyClgVHNsbfzmZlMW8qpVB5nWZKb7sP+e/WbtR46++06BT7S
jxMXdtvaXayfdfv3pK2WhRdCOXAoHcKCzAJ+AHYMX5K1uQNmb3oF2q/lqRxnrh0JYUWpkBAW56tb
2XmwrL33mrVSRz6z+l2mAaSY0XBj9jtGUDyvHD5/7IpmrMtJhgWrA+0CSfUoY3w0gX6BJcmXr38x
IT+BJixvAjl8+IBIVFwnFEtIi62FWN+OQyU5lvmouEJWig201rE9SEeZbtWz6uVv3njguMkLymSJ
gOG4mnTlue0ra4Sb2WAvf/fuF1shWYNtLJ7mi71yDcRW1z0BoFn2JFz+8r2FCqwI+4gQrIPHYJym
4mBKq0VvnU4GyjunGFe2Puel45eiyDoyEzxusbgb3YEcZ4lfLdj15Dh6W9vkqIObqoKUoCdhIwxi
HUh/+fv3t8/2YSFLgiElTm6wq0Ofk6DSdlac9fJnT8lHlNlOT7ab+eoAxcoN2bjlPBa3YsZHLt9+
ykjHNmK5kjErBVkilttB6mx3R3MsYo9/wKE/H4WIFwtuRTD2hMzF58EplLgvs+R2orPt8sMnzOf1
gLGdqnQ/ZIvFjZ0I2iZhJnroimJ9wxG//rSxVoSF5x3MDj7q/Jng2pUxH44/COw5lOkPnjgxOFbW
EYJS+XDgpYKkorIO1N8orP4p886XXlkRHHhm+Gu5nQ6JUBKaiie851pziP7y3Ucm0I8jAueGI+PS
ceoEt+qMb9fa67EpxXT52selvNetICDmA1gAzeKMB5/oG/IH21pws5RhKZe/+7h3VHSTnVbeZtnb
xmf01YcpjSjoiNFHcPtRrygF7noAASJC/pzDnhVNSlDnmTbGPi4//woCekV8AeQKyUHOvvm2kES8
3d58X4JYfPhE2/tCGMZKQfAkzZ+lQF5lGw6BBFoXLx960FlVmqxiDgRdGXR8uRFVQisNBpFzPF+e
9+qAtGfVYEGsmWW1FkOC5+8acrD2IKjdB056QT9GP315g+bT1hH2qgMoY1cdU9jBEVner7AC+MQZ
iSlT5CpLFLSjA+OIyvKr7tUv400Q12mnbTpMTUMnVEXJ3ICr1ZghqZ5g+VZMQi3Vcjv+WTr+nDC3
vh3Ubx9fpRTxjy/PSoPqKjyQVbIOqJBpbeOWLGHfeQViWLn88vO/PCXp6zh88rwlr4ep/AUDWSws
+GxA+xdrdUUyLCxXRQ8K8ahW06tjMn0iAqJ3wvn9xsQRFicfWM1A0CuN6QFhiNkMyPixfDizvFUX
+TqejK7cH8xGKXUXkapWiRllv92KsbNA78obrdM6NS9VghSvkonD/Lw+vbeSkUr4i7381Qc2HiSo
FTmFz2zVyPHcgS0DiKBPx9xx17945yFXJswms9lDdZVQIR5alvWrfDQqGl79BQ956+sqaiuqpscp
8b8KZEd1fQ5ja2MQuEp6V9tcXbLOT5WUWsHzEEOaXYUGxH3k5HQQ//eKXNirgdpMBhYkbsKqNPzO
OA+yxnV63/O1r16x4TUtaj0pnx+TvZWqRATRsWGM7okw74tpcUt4QYYs2SZz3rDMrpOW4H0rO+fh
0xvc8tp6xNc7TBnJgjOjprtOxVPvwbvUba3lXXbOm/NK1vMdVhIZm64ES+ObR4kCOWWey/pysXaZ
Cxw3WKX8RdURYJNpflm8QPreX8DOfwm/rpgvCwY5O+NkqX7sFD1sPKQ1OAygunPZ96Jyqlbn0JGV
v2UadHjjF+AyT0OkAEVjf1hRf2g0ZJmfSHskYNJhZFRNUKvGnzTGtgVsjk8fzaU6ZoBnTK+K2z46
SmCpyKJJDIcE4X3yaJ8PWVAVEw417eBzqzJxCU6yiScFfr5s6M8Y8mr3wW4rPpV1xD4kK1dQQRDQ
ltaoVUeKdx4uLrmaMXOehRGFqiJSOEvIDgl9Uph2Xr7/pHmAzdF2FY8vxagBz6sdymC731DYCCWK
lx89+CW5hxVCM2UoR9oCi71h5mhR3HdOBFW+9yVvDLOA5opGJCTrm0RbwLFkiAV9OdBWFVLtzsO7
rjQbMhGFEbXhKJmpmjW7mkcYlTTmk9TBl+sCgru1VFRtlRKLFZA4DFuLT0D/9LFf/vDOwx7uHSZh
I0ElWRLgjP0keE4oGVE8d5jkEw9liXk74KDwXTlnVJnEeFUt2LfvgOYo7fKzx8ep1hcf0M626UQX
yoLRxGNsrO2EWGAx+fLtXy8EVU9cq7C2PVXy6uJNUXpzCLAI10b4O7/mOf1/8OvKDu3JXmFtS2XP
XnaHFoSfQoU3BL+4X9+yXHubMImOWL5dSZkA67Aq0EMdoYNBewjNn/66pnNvlglS0S3M0xWnqQL6
Y2FLMMY0B3GFpbv88P/V7KxbA8qFmtyEtQgF+jzU+TbzGgnn3pdf75RygoqiHlT46pRKJ4rMg5Ya
IYXjpVTXvzzn+7S/rs0TkmEHKD8dlurKQF8oYwSeHdG2UE69/K//9E//+3/+x3v//Od/evjPP/vN
H//mj3/zx4/88e/95Gc//uyXfzP/7W/97vnrv/7aL37+49/6/d/7XX7z9z/6tf9N//KPt9/6x/9y
+4P/+vFfo3PV41SkjF5tSqeh6QMi3JaUrQpv4un3SP617B7rKsjb251QJaorysIMVFW3a05f5r3E
6xX4XyXB46GdSlIi+rtV8kRpWKJsXnndy/jm0w9SfRhbb0dsA0aXxFaV+apWxZLxrjS5br4JvTeU
XNbZl65TeJQ6L8wJepjKsPez6tc64hit6+gzOJ2DSZPqUqArYffuQ7Turki7QqpLrB1GPJYOsmM0
AwliavJrHYh2T+O+xLsOEL4cVOZMqo3pLSntEyHZrYbZdS0lPE90vhq2ur2QDIaITADhO9gWV0zQ
NeHsXVAJ3POHzdEm5/o0fJwq6zLWtZj8CZ5NI0St+HTB/ca4XfUNKEKzjsq3qg+mDx2Grxa8dbCg
+oJxr9vmYCPD5qrkubKdw2Nlo9QYet0lzPyCYXUNSWrOeK8TsKVbC8PetnyjulYqwb5gWF23YeSJ
4FN2bTfd/2PPSh95sULuRbPFMUc7M9xyycrg4hGq2Dgo7+URvjXmcaeK4c54G7OMcOQelbYvBYlh
87oRwhx0eXqsZyU1Dg5TC0K3Wp2VI35rxh29czrrdkulEs8Yb9cdQ8q676lDZqcC+bCDsWzPOCt0
PPwuHFz566PHqLPweasBYl7lRLNzX6Cg7jeXy68engFvOXtNa9JUSnYnpE8PzdhzZu3gwg77kTFu
HxJTg+AvXTJnYbIugq2Kt9VZdJkI4Fn3UXFMlwoCwWRkF8uAY9VRt/Gg+WkrsRx3zj6vvThXsWKk
kC5qOd3hTF5ebxP46HOO/inHlFfvdC/REVBCVEpDFQPTAq11aDFHsn49eGoKkPHFDt1Tsg7c21JJ
6VZp3XGtV4JG2k9MWtm5amq6spFUzVPWNrrLaWpfcxBAovcPhIm3x1ppZlRPN3aq4wAxh8VlbpPv
nFb+VtJzbLZ1b/2cBTNzujszD2I5seJ9rpkPqDWf5aOjzRPsymZX7SD/arrK53RDAhgpadmn51m1
kb32qTSfO7e7PUBejdsZH3pqdSpz9Zzx+OB4cgbaTVZWChDByjcuMk/2JUUdIj2QbL3OW0Vvb0Y5
Tx3hWQNNmMb1cawbfPmo9/byCqDwuE2fLw6K2lQXGIavKDNNXXF5gC+U1E4s4IIXVYp2Kf2kQ6m0
YSre899w+dpDH39SsghnVStb3dnGxccO3sw1pu1n4rHzgRGuZ5zkVXmjagvCpehGzSownWe77vvY
/pEZoCCP1ttVJaZDUIkqHr4dc0gWAKjnsh4aofUcMsFV2X+rOxu6yLAtU8KxVvF5g5PjoRECX8o+
AmpWx7A26Y41DExXo+dydlnXL3//wAgapPrZj4M6zaymFFG1trMmo9vIblSWo+ZLeHgQjTOSG7ej
xVW0ILt6M6JuS0PhEqPmvdrlp4+Oo6GcPbOMIPZddWDsiJQtQcXKrkHVX8Wly+/ceZbFxK8sbNJv
HX7pNAtYWCztSCw4AejOs7fVIHLVfivuvpWDdEdQBeLyBqGmraeGcP9xjbAGe690+LK3Gzwqm1Dv
BD6juTB8c+0RbnNVhU5wgA3sSyfGVeXHbMnS5fW1aq7LP8Cns84HiT11qK3CRFD0PdQGhTg0qyLo
uf/0ir3sEBVqo9XJHmxK5yU66Dvs5Rn2gafDmm2J3q6gioJbZRqaCSERiVS7Nub2wNO9FKtLBxBA
FffII3RwvEILuxzbnbsfE+Cq4HyrcF51EYj4En6RDiyo69JKwa/vU+BrGpAFZYimqvKiKg9rBlhH
Hba5CQN84OzqGuCXNt76Wdz62hSdqPUOc6jT5eN1g/n+0zUAO6IXu6jUVXVDLd0ut8MXwDYX4gP6
qa7uvCorusJfLC7q6jnekhKBdLadWrv/dNtY1RjiaIrDXXajEv8ydy651NUeWnM18yBYd1OqqjTr
VoWGSi1ZtrFZ9JMeWPOuT1OQbkuFuiFFXeWvulnAFkap3gesJaVm40naonqrgVcvoaiOMSuknb3K
S+4/DQFbY2TdwqnSCroBjkwwGdtfS8d8OV9+fufpD4y3TrU+gHxENnCHoKyCxWZK9LUW6CJ6/gGf
dXoMqEhDDL7oDN6CeKgW54HPjRq///TcRZGAcJy2iGofOihoRjWwhajERvbLn3/42Rpqt/s0ifWu
GiCo5mD/JxEeXrfwvScx1dfjDYmsAWyGIcLaMaqq1ku7xjXLQvZaf59yr436USUlJEDgSXDuqv1B
hE7oHJKuz3sVdNfuS+gS6l3FxVF1FTVaLBKyjHOmE4H+O7Mm+h4fpoqZs2rQeKoCAblM3hk3Orhe
vvP418dQHZECGrtVX0MIhtQU3W7stU3ocYE1Plbk+OaAGd/srKeunuxXXUGag6uVA/0Juzrdb3pU
CL3xocHCN9HEjFkUHqHwFf4FeVJB1eF/0v3t6fGob8g2asqjEnDVceC1U22I+iG8nnD/6Zxy8oCS
2UOREa2uljsTyo+x7tKYVn3CiTWs63j2GYDzAtxXPtyMr71YFX6NcR6y2GtFVFZoL6ClzjFqDtdT
h+kX2yEcGG6MDw5AJAXWcXO0rNinrp74tmToNlW+IqR1+dZjH6L1rG0zhK516hZxSLoTzaJCYG95
mznZjXt1mtdqW6p4m5xdTdssUBhbxe19Bf7QBi09xWhXDs6pVAgQYZyjkpLB/qaRvRKPEWh4ikK8
rhK8C0K+IQdUo5Vbt5KW91FjBqUFniY1X4/o8vSlZmxkq4BsiS0PIkQO9mTrwl77PFgm8XqgMdVS
TAdAMt9IuGXNQWvUGJteVl72kfzYtaxQ4JTZEI0lddDQgJ27ZcUC8NKts08qqhZdSAP50I3TNYOo
y4TVAvwjLEiaxIM7j8HEVffEjnfiCmLJh5ihvI2BisBxF7LejgeSGwBe0MWAc+N5Ax03MsAFAV4F
/l+QNM/B/UTQzIrByuCJR2DUSGh4BP7lmk87pecUZr8aNbhFjCYmwWe7OJ1VVgmSBruCxkLtbHtG
gck1HxEWlKdqO7TwBdaEctZ9573d6u08JfF4i1NNVI9lDNKPja/F0qu2Lic417oPhG8PhZJtHlli
1hSYFJVkepx6Q4066usWtR6eki7vDj/cMVthH0hUP6u2pSc95LMh1h8gcTlDpNTJag6dOwRseiBv
TS19gKdDzUcuf/LYd8A1MmTdmdIUqXKuxAYA2qulRsDEoYRPQKP3Z5f8Vg8lk5ik7nWx1FE57pn7
PmlGHO/yz//93uOulgU43wp0de0AbgHqq+jFulGw+DztfS+BzODnuk+82u0ivH1VU9pD2exZ3rjt
sz7qOgtKZh7pU7Uv0A3vUUJQC47C7lXI7H22/sEBUXkjqp+Ov3WmcdKbVaEgKSezbMt3Ejls/MLA
QLRWdOXpEAJGQzbZ6iZS0YVcHwyEHxhyHZ2Pbac8nqqmLF8WsWtrCXMl2QrJfgpgvz0qoe0MtChh
QC2EgurMbFbJ5IDo9zVXeegy2JcD4f4hxqMkhe4qLTW58ntCpxKespso6oP7eQ2bL9NFyHDrLnJu
fQOVIGCEDf6pC+PjJOaL4cqQStji6qqMvTUI8GBxxTTH2SsQqZ5qDtfshivYpFrIjdc1ybAbLKB3
+HNrPl7+9tFhEKuEOvjM7uIVOaqXmTLgCJmRGhO29b7LqO+lmxWOOHTxLg5YHrak5nwt7e5nLPef
vjslXWcCs2FGS3dzdG11DYJXG6fxWwtgf3Z0EYXKFb0P4ypT7SX9VhNBHXdUMLHr5NOH+0zuegoC
u6di3FpqJqhuqGvBVrB1xyRXSw+EkyvSexGxi7GqnIyeeKKOfEoVVVVW7rUeyglf1Y0zuVfNv5Ss
IpAPVQXvDaCrj/A+j9KIN8frUI8ErTJgguyHTexKDJ+8ffXF4s5PVy/X6FELTeW/amATi1eMHNHo
ukpcx9pS1+PW+MW3DhdLEf/Luj7WAfOqHJM/axSXbdUZ84N3q6468IEVEe1vn3eWmkCuxOZB3ifi
pe8nnjpe1ezsdB3oNHu7YgzTxf8xyp7VlbLFmp7d/ueqBroIO2esP+oDcOugiFZrFs6LIqgllEfB
U5kN1FxRmyT1oi2I+eFBu5qgq6N1VX4+7fJf95EYx1RCF1oOYAq0tIK+Fl0O0uMP6pyrLmjCuLNJ
Xlk1q/PjGOVuWTYexyr+8pdPWx2CPUpkon1911VLJ4JhJQOByhFzYhueiQFq6+NaAJ3w9a1T/qIm
lCr7HPm0fgJveIRfXuuKWUBtcr21sVXbCt1XbdGiMMKwda07x4QNIaDupmbcOqVi4hg1SjSkvAjB
I81ZHmVerwcLgM5W5+6lpEcUE+zzDLMgZtnmAzMNz+Aq10jEzVt9YHSwgN7Bjo5HoapVANtJ8HwA
XVCnK1v13ULyx1etvnvRnZyKy04fiW7xiVsv7QU1X0rNFAWVPc6rvB2Rs7D6rHJ4Vl5FvBufcCk1
w6TUHlztf6Y6X9qgqzjqA3xPEV7j1GVC6FLS1Yu4p86VlXcdlbkhFFUj9MB0JABTUQu6HsbSGblX
qU80YaHbXFvO+8cp9+vBCPo+xhYMIed2jQ/EOE0t4O22yDI7XLq4Jw7mQB3A65YSESFRV3PdsiVW
4cotENrvlj+plgeH2sSNpu5juCvivwH8PBi662pp4R/HnmvXpcACzz63G0wNOVQ9M8HTcaoWQwrP
I6bX2bparR+1m1P/iqwjR6DbztTiylsG9jgrucZYA3sE8dhKIwyvm4K6WFtPB+fO3ODZs3D/iryA
c6t9bNPVy6LbkbNF0/lNvARqUJ9ctHJF0W8U7u206db1QL3vKtB04IBntC1AeRL2pwSxPv7WbUh3
mZPXUUhhRyqhPOog6Jl3eW7DRo95d7/NvJUQbN0Cn8gfn13BGUfE/h9I+es6ZmkDjpxUaIbNo+2a
UfPA0HvOcNUnwcA1ZWe9J5jYolObqJuJC/Rf7RBiElIl5AeA/zpAtt118WarsuR25tHXMqdj55BG
F55wm/02EstJ1Ecs5aUg65XyVvVMxS6hSYRPP+9dwHlzHMKN9PvS6e9W1+2s3hJVHT4Cy9NqBm+/
8YQZ3UZD+oWlNjYY0+cXputWTrC32npC4pXzWGAsrK1+1oLR2Zs6PFsd5y2QpZSuS/8O5f7ECPDm
uCn1HSG6ZursKNaiozpYMI5ZoF+nEiserolRf4S6slJetw6gRRfVzi3/Vlpd46w9npLA1UKpRb46
P57iVSAmKR+VVVfev+pnebQHqhdfjYEvHXfWMbncfE2hqKghKXRnTw8t3enyp09dHp+wJ4zThK3i
DFaZkA0JBJZXi17Xq55TDfb5qGr4oENQk6x6rpcMYGEkxEwffUGWww+ehnzXlmeA/TXjppZM4aL3
YZEtGAtRefntLr/84KPuZBdUlOZryoqbkwlkHc/XTBw/I+/9YSO/tgZ0h6zzYKVL/a0OqrPI04bO
/HUd68NvvfshaPboelrsm06coUtGrT9FIexUDaZOXu8wrutE+vUesnKPqqGBQzRW2ChDwsAFcvIo
wF5TQFbrxqVTXiw21VAqveGq6hXhNLoE+IRLah0N7fVjXMAvLDAz2FA6Uo1dnLDQ66rxA8/f6l1u
fcLUg8BaFfNA9rdXFxkPm+rxiV00vhgTHRNy0LmsFTD2rB+tA61B3NpmXTns4VO+DRldl04lnNUN
R1YXDaKcT16TncJ84r1M97WfWdVLzJRXvRXyjSQOg8DrCRMc7jy54q0MnUv2ZGzSKf9kHi2MZGZN
Pi0/kcPx7tkmKHP8mvpZRop82xKvbhmjUXJbh//A8Z6TV1NrLt/UwyDG3tTy4dbRjxfggjaMAwdZ
j/QIuarXqq1sTLD6aTAJmG+WUNEOYnWF4UZ+VjcW2NCcOJR+HE5TSdMNo3XLfo2GhcWW/Xy4/ubO
uEigMKaHaBQJPV21xXmLAVzTmnYPtPez+saE6JWGuvVF0rW3fCvRJF72GkMZi6WZHz5sfj1CA+e8
fjyJv/XK2/xjKKo5HbunUl3P/fIf7j5urVP1QzVlCc9uzWYQ2KwUa2WF1uXhlNhVp+k63zd26Lqs
/LXdWjQEuEeO2P6+U7JwhfDwS9utDhVRxdBVfTaWMjyEUOuSe87F32tOE2ooIMw3zqJyS3DD5B5O
mbqcOu0jGubqejsnhIQQj/opF0s/UaKLb+RwUjr6sVSX+lFNXhJ+wegTOXSr1DnCyXwLsBVWNJhC
+oifKfX6NZDIYpOqJpZkxrldzx6b1bAAj21pIr3jx76l7eN9A++nemxH629iIRNMUxpFyb5xPuYn
UaXh9ZNYYOtBDZ6n04/JKZavyKWUjM5e9aO/Qi+q+ehCLOxbP7YNwx3QOZzCTvXEhrXUsC9/+sLB
nTsbwwK2VTIQ1dyvdl1uad6rHQqhIF38i+euRi02SrLHG/1X+cqEd+cJBCRJkfkYf7wZ/9qswP8d
eHG3Mej4QyNgoyjRApiBLC1MDS0MzM2NjUySEUfypBgYgXb5ACPcAHTAMzBV61qaGoPOaQGWXcAu
JGj1P/qFLTF6XABiKPgvh28AAA==
EOF

On Thu, Jan 13, 2022 at 5:22 PM Peter Eisentraut
<peter.eisentraut@enterprisedb.com> wrote:
>
>
> On 13.01.22 16:12, Peter Eisentraut wrote:
> > On 11.01.22 23:19, Peter Geoghegan wrote:
> >> On Tue, Jan 11, 2022 at 3:16 AM PG Bug reporting form
> >> <noreply@postgresql.org> wrote:
> >>> When I query a table containing certain Unicode data, using an index
> >>> that
> >>> has certain collation, I get error message "could not find block
> >>> containing
> >>> chunk". This is fully reproducible on CentOS 7 using the official
> >>> RPM. (I
> >>> could not reproduce this on Oracle Linux 8, though):
> >>
> >> It looks like you're probably not using utf8 as your database
> >> encoding, based on the stacktrace -- even though I would expect that
> >> on your ICU version. What does "show server_encoding;" show you when
> >> run from psql?
> >>
> >> My guess is that you can temporarily work around the bug (which looks
> >> like a bug in our !HAVE_UCOL_STRCOLLUTF8 ICU support) by making sure
> >> to use UTF-8 as the server encoding.
> >
> > It looks like the reporter's system is rhel7, which does not have
> > HAVE_UCOL_STRCOLLUTF8, so it will use the other code independent of the
> > encoding.
> >
> > There could very well be some subtle memory counting bug or similar in
> > icu_to_uchar() perhaps.  Needs more analysis.
>
> Ok, I can reproduce this with the given test data and steps if I undef
> HAVE_UCOL_STRCOLLUTF8 in my build.
>
> Interestingly, I couldn't just rebuild and rerun the query.  In order
> for the error to occur, I had to rebuild the index.



Hi Peter E & Peter G,

I continued my debugging session, and it indeed looks like buf1 is
allocated from the wrong memory context, and is being used after the
memory context has been reset (not deleted). And it looks like this
happens even with HAVE_UCOL_STRCOLLUTF8 (but there the memory
corruption does not lead to easily noticeable results...).

Best regards,
Pasi

On Wed, Feb 2, 2022 at 4:39 PM Pasi Eronen <pe@iki.fi> wrote:
>
> Hi Peter E & Peter G,
>
> Although I have not touched PostgreSQL internals before, I took a stab
> at debugging this, and found something that looks strange (and might
> be related):
>
> In varlena.c, ssup_extra->buf1 and buf2 are initialized to 1024-byte
> buffers, allocated from the ssup->ssup_cxt memory context.  That
> strange-looking test string in my bug report just happens to be 1044
> bytes, so a larger buffer is needed at some point.
>
> If growing the buffer happens in "varstrfastcmp_locale", it uses
> MemoryContextAlloc(ssup->ssup_cxt, ...). But if growing the buffer
> happens in "varstr_abbrev_convert", it just calls "palloc" - and
> apparently the current memory context is not ssup_cxt at this point
> (at least according to debugging printf's I added).
>
> Might this be causing the problem? (changing the palloc to
> MemoryContextAlloc certainly makes the problem go away, but on the
> other hand, it looks like neither memory context has been deleted yet
> when the error occurs, so it shouldn't really matter...?)
>
> In other news, I tried tweaking the test data strings (mainly
> replacing "x"s with other ascii characters), and accidentally found a
> version that causes a reproducible segfault (instead of "could not
> find block containing chunk" error). I've included the base64-encoded
> dump below.
>
> Best regards,
> Pasi
>
> base64 -d <<EOF | gunzip > /tmp/bad_strings_data.sql
> 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
> JGj1P/qFLTF6XABiKPgvh28AAA==
> EOF
>
> On Thu, Jan 13, 2022 at 5:22 PM Peter Eisentraut
> <peter.eisentraut@enterprisedb.com> wrote:
> >
> >
> > On 13.01.22 16:12, Peter Eisentraut wrote:
> > > On 11.01.22 23:19, Peter Geoghegan wrote:
> > >> On Tue, Jan 11, 2022 at 3:16 AM PG Bug reporting form
> > >> <noreply@postgresql.org> wrote:
> > >>> When I query a table containing certain Unicode data, using an index
> > >>> that
> > >>> has certain collation, I get error message "could not find block
> > >>> containing
> > >>> chunk". This is fully reproducible on CentOS 7 using the official
> > >>> RPM. (I
> > >>> could not reproduce this on Oracle Linux 8, though):
> > >>
> > >> It looks like you're probably not using utf8 as your database
> > >> encoding, based on the stacktrace -- even though I would expect that
> > >> on your ICU version. What does "show server_encoding;" show you when
> > >> run from psql?
> > >>
> > >> My guess is that you can temporarily work around the bug (which looks
> > >> like a bug in our !HAVE_UCOL_STRCOLLUTF8 ICU support) by making sure
> > >> to use UTF-8 as the server encoding.
> > >
> > > It looks like the reporter's system is rhel7, which does not have
> > > HAVE_UCOL_STRCOLLUTF8, so it will use the other code independent of the
> > > encoding.
> > >
> > > There could very well be some subtle memory counting bug or similar in
> > > icu_to_uchar() perhaps.  Needs more analysis.
> >
> > Ok, I can reproduce this with the given test data and steps if I undef
> > HAVE_UCOL_STRCOLLUTF8 in my build.
> >
> > Interestingly, I couldn't just rebuild and rerun the query.  In order
> > for the error to occur, I had to rebuild the index.



Pasi Eronen <pe@iki.fi> writes:
> In varlena.c, ssup_extra->buf1 and buf2 are initialized to 1024-byte
> buffers, allocated from the ssup->ssup_cxt memory context.  That
> strange-looking test string in my bug report just happens to be 1044
> bytes, so a larger buffer is needed at some point.

> If growing the buffer happens in "varstrfastcmp_locale", it uses
> MemoryContextAlloc(ssup->ssup_cxt, ...). But if growing the buffer
> happens in "varstr_abbrev_convert", it just calls "palloc" - and
> apparently the current memory context is not ssup_cxt at this point
> (at least according to debugging printf's I added).

> Might this be causing the problem?

Indeed.  The whole thing seems flat-out wrong to me: repalloc
would be shorter, safer, and more idiomatic.

            regards, tom lane