From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc> |
Cc: | Postgresql Hackers Mailinglist <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: spoonbill vs. -HEAD |
Date: | 2013-03-26 20:33:53 |
Message-ID: | 19523.1364330033@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc> writes:
> On 03/26/2013 08:45 PM, Tom Lane wrote:
>> It looks from here like the isolationtester client is what's dropping
>> the ball --- the backend states are unsurprising, and two of them are
>> waiting for a new client command. Can you get a stack trace from the
>> isolationtester process?
> https://www.kaltenbrunner.cc/files/isolationtester.txt
Hmm ... isolationtester.c:584 is in the code that tries to cancel the
current permutation (test case) after realizing that it's constructed
an invalid permutation. It looks like the preceding PQcancel() failed
for some reason, since the waiting backend is still waiting. The
isolationtester code doesn't bother to check for an error result there,
which is kinda bad, not that it's clear what it could do about it.
Could you look at the contents of the local variable "buf" in the
run_permutation stack frame? Or else try modifying the code along the
lines of
- PQcancel(cancel, buf, sizeof(buf));
+ if (!PQcancel(cancel, buf, sizeof(buf)))
+ fprintf(stderr, "PQcancel failed: %s\n", buf);
and see if it prints anything interesting before hanging up.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Brendan Jurd | 2013-03-26 20:39:44 | Re: [PATCH] Exorcise "zero-dimensional" arrays (Was: Re: Should array_length() Return NULL) |
Previous Message | Tom Lane | 2013-03-26 20:21:59 | Drastic performance loss in assert-enabled build in HEAD |