> With my test case, I could not crash even with this patch applied.
> Can you provide your test case?
Yes:
> hasegeli=# create table r2 as select (random() * 3)::int as i from generate_series(1, 1000000);
> SELECT 1000000
> hasegeli=# create index on r2 using brin (i);
> CREATE INDEX
> hasegeli=# analyze r2;
> ANALYZE
> hasegeli=# explain select * from only r2 where i = 10;
> QUERY PLAN
> -------------------------------------------------------------------------------------
> Gather (cost=2867.50..9225.32 rows=1 width=4)
> Workers Planned: 2
> -> Parallel Bitmap Heap Scan on r2 (cost=1867.50..8225.22 rows=1 width=4)
> Recheck Cond: (i = 10)
> -> Bitmap Index Scan on r2_i_idx (cost=0.00..1867.50 rows=371082 width=0)
> Index Cond: (i = 10)
> (6 rows)
>
> hasegeli=# select * from only r2 where i = 10;
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> The connection to the server was lost. Attempting reset: Failed.