The following bug has been logged on the website:

Bug reference:      8461
Logged by:          Benjamin Wassermann
Email address:      be...@hegne.de
PostgreSQL version: 9.3.0
Operating system:   Windows
Description:        

Hi!


We are trying to build our own PostgreSQL 9.3 using Visual Studio 2005 on
Windows XP.


If we use the created pg_dump we get some “Heap Corruptions” and no database
dump will be created.
When we use the precomiled binaries from PostgreSQL 9.3 and use this pg_dump
we do NOT get any heap corruption and it works as expected.


To reproduce the bug you need a Microsoft Visual Studio 2005 with Version
8.0.50727.42.


Buildsteps:
1. Download the postgresql sources 9.3
2. Open a visual studio commandline and change to folder
"postgresql-9.2.3\src\tools\msvc". Execute the command "perl mkvcbuild.pl"
(make sure "ActivePerl" is installed, where using version "5.12.2 Build
1202").
3. In the root folder is now a pgpsql.sln, which u can open in visual
studio
4. Now change the "Build-Target" to Release
5. Now build the Projects in following steps and configuartions
        libpgport: 
                General > Use of MFC: "Use MFC in a Static Libary"
                Libarian: Ingore Specific Libary "Nafxcwd.lib" and "Libcmtd.lib"
                -> Build
        libpqtypes:
                General > Use of MFC: "Use MFC in a Static Libary"
                -> Build
        libpq:
                General > Use of MFC: "Use MFC in a Static Libary"
                Linker > Additional Dependencies: "ShFolder.lib" and 
"Advapi32.lib"
                -> Build
        libecpg:
                General > Use of MFC: "Use MFC in a Static Libary"
                -> Build
        libpgcommon:
                General > Use of MFC: "Use MFC in a Static Libary"
                -> Build
        psql:
                General > Use of MFC: "Use MFC in a Static Libary"
                Linker > Additional Dependencies: "Advapi32.lib"
                Rename the Function _dosmaperr to _test_dosmaperr
                -> Build
                        If there is a error like: "ERROR: psqlscan.c could not 
be found" just do
the following:
                        Open a commandline and call "flex.exe "<Path to
sources>\postgresql-9.2.3\src\bin\psql\psqlscan.l"
(http://gnuwin32.sourceforge.net/install.html). Now copy the created file to
"\postgresql-9.2.3\src\bin\psql\psqlscan.c".
                -> Build
        pg_dump:
                General > Use of MFC: "Use MFC in a Static Libary"
                Linker > Additional Dependencies: "Advapi32.lib" and "zlib.lib" 
(path
example with default installation: "C:\Programme\GnuWin32\lib\zlib.lib")
                C/C++ > Preprocessor Definitions: "HAVE_LIBZ"
                C/C++ > Additional Include Directories: 
C:\Programme\GnuWin32\include 
                -> Build
                
Now we have installed a PostgreSQL Server 9.3 on the same machine.


In Visual Studio we defined as "Command Arguments" the following:
"-h "localhost" -p 5432 -U postgres -f "C:\test.bak" -F c test"


Now start debugging and u will get the Heap corruption in Visual Studio.


Exactly u will get the following ASSERTION:


---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!


Program: ...
File: dbgheap.c
Line: 1252


Expression: _CrtIsValidHeapPointer(pUserData)


For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.


(Press Retry to debug the application)
---------------------------
Abbrechen   Wiederholen   Ignorieren   
---------------------------


Which is caused from the Function "dumpFunc" at line 9942 ff.


...
        free(funcsig);
...


Hope you can reproduce this Bug.
        Is there a workaround we could use?


Regards


Benjamin




-- 
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