Re: BUG #5007: could not reattach to shared memory

From: "Paragon Corporation" <lr(at)pcorp(dot)us>
To: <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #5007: could not reattach to shared memory
Date: 2009-09-06 09:39:18
Message-ID: 1BEB09BE0A3544CAA0D11FC51B5AB3BA@H
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


Magnus and Craig,

Thanks for the help. We upgraded and also put in the patch and things have
been running for about a week now with all that in place. The reattach
memory problem seems to have been cured by the patch.

Unfortunately the System.OutOfMemory from .NET and the LOG: could not
receive data from client: Unknown winsock error 10061 in postgresql logs
still persist. I suspect the log error is just because the .NET app dies
and abruptly disconnects its connection to PostgreSQL when it runs out of
memory.

I think I have ruled out PostgreSQL as the culprit here since I was able to
successfully run the same query and dump out to shape with pgsql2shp command
line. Looking at the .NET code, I think its just because they are trying to
load the large query data into a DataSet object before dumping to shape file
so can't really blame npgsql for that either. I think they'll just have to
switch to use a Datareader instead or do a Process call to call pgsql2shp.

Thanks,
Regina

-----Original Message-----
From: Magnus Hagander [mailto:magnus(at)hagander(dot)net]
Sent: Tuesday, August 25, 2009 2:18 AM
To: Craig Ringer
Cc: Regina; pgsql-bugs(at)postgresql(dot)org
Subject: Re: [BUGS] BUG #5007: could not reattach to shared memory

On Tuesday, August 25, 2009, Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
wrote:
> On Tue, 2009-08-25 at 05:44 +0000, Regina wrote:
>> The following bug has been logged online:
>>
>> Bug reference:      5007
>> Logged by:          Regina
>> Email address:      lr(at)pcorp(dot)us
>> PostgreSQL version: 8.3.6
>> Operating system:   Windows 2008 Server Standard
>> Description:        could not reattach to shared memory
>> Details:
>>
>> One of our clients is getting the following error in their PostgreSQL
>> 8.3.6 logs in their http://ASP.NET application.  This only happens if
>> their application runs a long query (which they dump out to disk and
>> disk size (ESRI
>> shapefiles) is generally above 70 mb or more) when this fails.
>>
>> The error is below:
>> FATAL:  could not reattach to shared memory (key=232, addr=01DF0000):
>> 487 %t WARNING:  worker took too long to start; cancelled
>
> Search the -general mailing list archives for "reattach to shared
> memory". The issue has been around for a while but until recently
> nobody could reproduce it well enough to isolate it and test possible
fixed.
> You'll see some recent discussion and a proposed patch.
>
> Try upgrading to the latest version in the 8.3 series. If you still
> see the problem please follow up here, or try the patch for the issuye
> proposed on the pgsql-general list.

The probable fix is not in a released version - it will be in the next one.
Please try to upgrade to the latest and then replace postgres.exe with the
one from http://blog.hagander.net ad let us know if it works in your
situation.

>
>> In these cases their .NET app returns this error Exception of type
>> 'System.OutOfMemoryException' was thrown
>
> That's probably a bug in their application caused by failure to
> properly handle a connection problem.

Yes, or possibly npgsql having the bug, though I haven't heard of it there.
The stacktrace should probably tell you where - if not, a memory dump with
the debugger.

/Magnus

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

Browse pgsql-bugs by date

  From Date Subject
Next Message Martin Pitt 2009-09-06 13:33:50 8.4 dropped Russian server translations
Previous Message Lampa 2009-09-06 05:20:49 Re: BUG #5010: perl iconv function returns ? character