From: | Rusty Conover <rconover(at)infogears(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #5412: test case produced, possible race condition. |
Date: | 2010-04-14 14:15:35 |
Message-ID: | E677BD26-B101-4CA4-A01E-93BE16718B87@infogears.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On Apr 14, 2010, at 7:10 AM, Heikki Linnakangas wrote:
> Rusty Conover wrote:
>> It seems like this is a race condition cause by the system catalog cache not being locked properly. I've included a perl script below that causes the crash on my box consistently.
>>
>> The script forks two different types of processes:
>>
>> #1 - begin transaction, create a few temp tables and analyze them in a transaction, commit (running in database foobar_1)
>> #2 - begin transaction, truncate table, insert records into table from select in a transaction, commit (running in database foobar_2)
>>
>> I setup the process to have 10 instances of task #1 and 1 instance of task #2.
>>
>> Running this script causes the crash of postgres within seconds on my box.
>
> Thanks, that script crashes on my laptop too, with assertions enabled.
>
> According to the comments above RelationClearRelation(), if it's called
> with 'rebuild=true', the caller should hold a lock on the relation, i.e
> refcnt > 0. That's not the case in RelationFlushRelation() when it
> rebuilds a new relcache entry.
>
> Attached patch should fix that, by incrementing the reference count
> while the entry is rebuilt. It also adds an Assertion in
> RelationClearRelation() to check that the refcnt is indeed > 0.
> Comments?
Hi Heikki,
This patch allows my machine to run the script without crashing, so its working for me as well.
Many thanks,
Rusty
--
Rusty Conover
rconover(at)infogears(dot)com
InfoGears Inc / GearBuyer.com / FootwearBuyer.com
http://www.infogears.com
http://www.gearbuyer.com
http://www.footwearbuyer.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-04-14 14:49:36 | Re: BUG #5412: test case produced, possible race condition. |
Previous Message | Pavel Stehule | 2010-04-14 13:51:52 | Re: [BUGS] Can you please let me know? |
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2010-04-14 14:15:43 | Re: walreceiver is uninterruptible on win32 |
Previous Message | Kevin Grittner | 2010-04-14 14:04:50 | Re: How to generate specific WAL records? |