-----Original Message-----
From: Craig Ringer [mailto:ring...@ringerc.id.au] 
Sent: Tuesday, October 04, 2011 4:44 AM
To: Pavel Holec
Cc: pgsql-bugs@postgresql.org
Subject: Re: [BUGS] BUG #6233: pg_dump hangs with Access Violation C0000005

On 03/10/11 19:42, Pavel Holec wrote:
> On 09/29/2011 05:18 AM, Holec wrote:
>>
>> The following bug has been logged online:
>>
>> Bug reference:      6233
>> Logged by:          Holec
>> Email address:      ho...@email.cz
>> PostgreSQL version: 8.4.8
>> Operating system:   Windows 7
>> Description:        pg_dump hangs with Access Violation C0000005
>> Details:
>>
>> I use pg_dump on Windows 7 with:
>> pg_dump -i -h 192.168.2.2 -p 5432 -U user -F c -b -v -f file.backup 
>> mydb
> 
> 
>>> Does this crash happen when you back up a different database? Say, if you 
>>> back up the `template1' database, does it crash then too?
> 
>>> Is this a 32-bit or 64-bit install of Windows 7? If 64-bit, are you using a 
>>> 32-bit or 64-bit build of PostgreSQL?
> 
>>> Is there any antivirus software on the machine? If so, what type and 
>>> version? Does the problem still happen if you turn it off and re-test?
> 
>>> --
>>> Craig Ringer
> 
> Can anybody help me please?

>>>>Honestly, I haven't the foggiest. I didn't see anything dodgy in the DLL 
>>>>list you posted earlier or any of the other info you've provided.

>>>>To progress, I think you'd need to get a usable backtrace to show how and 
>>>>where the crash happens. Use Visual Studio (or the free Express
>>>>Edition) or use windbg from Debugging Tools for Windows. Set the symbol 
>>>>path appropriately. Use the debugger to run >>>>pg_dump with appropriate 
>>>>arguments, and when it crashes, get a backtrace (stack trace) of the 
>>>>failure.

>>>>There's some guidance on debugging on Windows here:

>>>>http://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Windows

>>>>It's written for getting a stack trace of a BACKEND, and you want to get a 
>>>>stack trace of the CLIENT (pg_dump) so it's not quite the same, but you'll 
>>>>require the same tools and the same initial configuration of the symbol 
>>>>path etc. Instead of >>>>attaching to a running postgres.exe though you 
>>>>must run a new pg_dump via the debugger.


>>>>--
>>>>Craig Ringer

Thank you for the link - perfect guide
In the meantime I tried debug in msvc2005 (Win7/32) and
free(funcsig); in pg_dump.c line 7510 cause
_ASSERTE(_CrtIsValidHeapPointer(pUserData)); in dbgheap.c line 1252
* If this ASSERT fails, a bad pointer has been passed in. It may be
* totally bogus, or it may have been allocated from another heap.
* The pointer MUST come from the 'local' heap.

If I comment free(funcsig); and next one free(funcsig_tag); pg_dump works fine.

Pavel Holec



-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to