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

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>, eronenp(at)gmail(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #17362: Error "could not find block containing chunk" when using index with icu collation on CentOS 7
Date: 2022-01-13 15:12:13
Message-ID: 3869d444-2f89-f157-318d-a71ed712dcb7@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 11.01.22 23:19, Peter Geoghegan wrote:
> On Tue, Jan 11, 2022 at 3:16 AM PG Bug reporting form
> <noreply(at)postgresql(dot)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.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Eisentraut 2022-01-13 15:22:16 Re: BUG #17362: Error "could not find block containing chunk" when using index with icu collation on CentOS 7
Previous Message Julien Rouhaud 2022-01-13 12:23:10 Re: BUG #17365: Error: redefinition of 'stat' in win32_port.h when including postgres.h