From: | Andrew Chernow <ac(at)esilo(dot)com> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: parallel restore vs. windows |
Date: | 2008-12-09 18:50:27 |
Message-ID: | 493EBDF3.6010008@esilo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>>>
>>> Parts of AH need deep cloning, notably the formatData member, which
>>> is done in _ReopenArchive().
>>>
>>
>> Is it okay to clone this from within the thread?
>
> I don't see why not.
>
Because another thread may be modifying the memory you are trying to
clone. If no one modifies the formatData struct, then why is it being
deep copied to begin with.
>
> The program dies with a nasty dialog box when restoring a dump of the
> regression database after the second COPY thread disconnects.
Sounds like the friendly and helpful GPF Dialog (General Protection
Fault). This is a core dump which strongly suggests your threads are
trampling over one another. Its possible that a couple threads get
fired off but upon the first thread completion, something !(deep_copied)
is freed/modified ... bang-bang your dead :o I tried to find this, but
haven't yet.
Maybe do a full deep copy in the main thread and comment out any
in-thread deep copying. I wonder if that would work with no other changes.
--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Dan Chak | 2008-12-09 18:55:10 | syntax for reaching into records, specifically ts_stat results |
Previous Message | Tom Lane | 2008-12-09 18:24:21 | Re: cvs head initdb hangs on unixware |