Re: BUG #14932: SELECT DISTINCT val FROM table gets stuck in an infinite loop

From: "Todd A(dot) Cook" <tcook(at)blackducksoftware(dot)com>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14932: SELECT DISTINCT val FROM table gets stuck in an infinite loop
Date: 2017-11-27 20:59:37
Message-ID: 7a22f496-92b5-d199-984e-183965918304@blackducksoftware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 11/27/17 14:17, Tomas Vondra wrote:
> Hi,
>
> On 11/27/2017 07:57 PM, tcook(at)blackducksoftware(dot)com wrote:
>> The following bug has been logged on the website:
>>
>> Bug reference: 14932
>> Logged by: Todd Cook
>> Email address: tcook(at)blackducksoftware(dot)com
>> PostgreSQL version: 10.1
>> Operating system: CentOS Linux release 7.4.1708 (Core)
>> Description:
>>
>> It hangs on a table with 167834 rows, though it works fine with only 167833
>> rows. When it hangs, CTRL-C does not interrupt it, and the backend has to
>> be killed to stop it.
>>
>
> Can you share the query and data, so that we can reproduce the issue?
>
> Based on the stack traces this smells like a bug in the simplehash,
> introduced in PostgreSQL 10. Perhaps somewhere in tuplehash_grow(),
> which gets triggered for 167834 rows (but not for 167833).

I've attached a reproducer using real data. (FWIW, I wasn't able to reproduce with
fake data made with generate_series().)

Also, I forgot to mention that this problem is not present in 9.6 or 9.5.

-- todd

Attachment Content-Type Size
reproducer.pgsql text/plain 3.3 MB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Skarsol 2017-11-27 21:49:53 Re: BUG #14891: Old cancel request presented by pgbouncer honored after skipping a query.
Previous Message Tomas Vondra 2017-11-27 19:17:25 Re: BUG #14932: SELECT DISTINCT val FROM table gets stuck in an infinite loop