Attached are text files with the output from the debugging tool. The
"startup" text file is when the backend was first started, the "crash"
text file has content that was triggered in the tool when the crash
occurred, and the "crash_info" text file is additional information I
requested with "~*k" after the crash.

As far as a self-contained example goes, I originally tried to make a
simple test case but it would not crash using the imitation of the
actual database. Because I wasn't sure what the cause of the crash was,
it wasn't clear how to make a test case for it. Unfortunately my job
doesn't let me expose too many details about stuff like this so I
couldn't post the real details about the database. But I'll try to help
as much as I can and I hope the stack traces will be helpful.


On Tue, 13 Jul 2010 11:15 +0800, "Craig Ringer"
<cr...@postnewspapers.com.au> wrote:
> On 13/07/10 05:00, Robert Walker wrote:
> 
> > The intent of what I was originally trying to do is to intentionally cause a
> > unique constraint violation for the sake of testing to ensure that I won't
> > get duplicate data in the final design. But when the unique violation
> > occurs, a series of other (possibly related?) errors occur that lead to the
> > crash.
> 
> 
> > This application has requested the Runtime to terminate it in an unusual
> > way.
> > Please contact the application's support team for more information.
> 
> It'd be really nice to have a backtrace of that. PostgreSQL binaries for
> Windows are released with debug information, and if you can reproduce
> the crash it's not hard to get a stack trace showing a fair bit of
> information about the state the backend was in when it crashed.
> 
> See:
> 
> 
> http://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Windows
> 
> 
> You'll need Debugging Tools for Windows or even better, the Visual C++
> Express Edition. Both are free downloads. If you have a paid version of
> Visual Studio, that's even better.
> 
> It is very important to set your symbol path up properly, and make sure
> that the information you collect is useful. See the instructions above.
> 
> -- 
> Craig Ringer
> 
> Tech-related writing: http://soapyfrogs.blogspot.com/
> 
-- 
Robert Walker (robwalke...@speedymail.org)

[e-mail provided by http://fastmail.fm]

-- 
http://www.fastmail.fm - A no graphics, no pop-ups email service


-- 
Robert Walker (robwalke...@speedymail.org)

[e-mail provided by http://fastmail.fm]

-- 
http://www.fastmail.fm - Same, same, but different...

Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.

*** wait with pending attach
Symbol search path is: C:\Program 
Files\PostgreSQL\9.0\symbols;SRV*c:\localsymbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
ModLoad: 00400000 00905000   C:\Program Files\PostgreSQL\9.0\bin\postgres.exe
ModLoad: 7c900000 7c9b0000   C:\WINDOWS\system32\ntdll.dll
ModLoad: 7c800000 7c8f4000   C:\WINDOWS\system32\kernel32.dll
ModLoad: 10000000 10033000   C:\Program Files\PostgreSQL\9.0\bin\SSLEAY32.dll
ModLoad: 00240000 0033e000   C:\Program Files\PostgreSQL\9.0\bin\LIBEAY32.dll
ModLoad: 71ad0000 71ad9000   C:\WINDOWS\system32\WSOCK32.dll
ModLoad: 71ab0000 71ac7000   C:\WINDOWS\system32\WS2_32.dll
ModLoad: 77c10000 77c68000   C:\WINDOWS\system32\msvcrt.dll
ModLoad: 71aa0000 71aa8000   C:\WINDOWS\system32\WS2HELP.dll
ModLoad: 77dd0000 77e6b000   C:\WINDOWS\system32\ADVAPI32.dll
ModLoad: 77e70000 77f01000   C:\WINDOWS\system32\RPCRT4.dll
ModLoad: 77f10000 77f57000   C:\WINDOWS\system32\GDI32.dll
ModLoad: 77d40000 77dd0000   C:\WINDOWS\system32\USER32.dll
ModLoad: 78520000 785c3000   
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4e\MSVCR90.dll
ModLoad: 61cc0000 61cd3000   C:\Program Files\PostgreSQL\9.0\bin\libintl-8.dll
ModLoad: 66000000 660e7000   C:\Program Files\PostgreSQL\9.0\bin\libiconv-2.dll
ModLoad: 00d10000 00e01000   C:\Program Files\PostgreSQL\9.0\bin\libxml2.dll
ModLoad: 00e10000 00ee9000   C:\Program Files\PostgreSQL\9.0\bin\iconv.dll
ModLoad: 00350000 00363000   C:\Program Files\PostgreSQL\9.0\bin\zlib1.dll
ModLoad: 77fe0000 77ff1000   C:\WINDOWS\system32\Secur32.dll
ModLoad: 76f60000 76f8c000   C:\WINDOWS\system32\WLDAP32.dll
ModLoad: 76390000 763ad000   C:\WINDOWS\system32\IMM32.DLL
ModLoad: 71a50000 71a8f000   C:\WINDOWS\system32\mswsock.dll
ModLoad: 662b0000 66308000   C:\WINDOWS\system32\hnetcfg.dll
ModLoad: 71a90000 71a98000   C:\WINDOWS\System32\wshtcpip.dll
ModLoad: 76f20000 76f47000   C:\WINDOWS\system32\DNSAPI.dll
ModLoad: 76fc0000 76fc6000   C:\WINDOWS\system32\rasadhlp.dll
(15f4.12e4): Break instruction exception - code 80000003 (first chance)
eax=7ffd5000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005
eip=7c901230 esp=03e2ffcc ebp=03e2fff4 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000246
ntdll!DbgBreakPoint:
7c901230 cc              int     3
0:003> ~*k

   0  Id: 15f4.161c Suspend: 1 Teb: 7ffdf000 Unfrozen
ChildEBP RetAddr  
00d0f0ec 7c90e9ab ntdll!KiFastSystemCallRet
00d0f0f0 7c8094e2 ntdll!ZwWaitForMultipleObjects+0xc
00d0f18c 0059fa40 kernel32!WaitForMultipleObjectsEx+0x12c
00d0f804 005aea80 postgres!pgwin32_select+0x2b0 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32\socket.c @ 535]
00d0ff3c 005b0242 postgres!ServerLoop+0xb0 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
1391]
00d0ff64 005133ae postgres!PostmasterMain+0xb62 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
1097]
00d0ff7c 006dd18d postgres!main+0x2de 
[c:\pginstaller-repo\postgres.windows\src\backend\main\main.c @ 188]
00d0ffc0 7c816fd7 postgres!__tmainCRTStartup+0x10f 
[f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 586]
00d0fff0 00000000 kernel32!BaseProcessStart+0x23

   1  Id: 15f4.e14 Suspend: 1 Teb: 7ffde000 Unfrozen
ChildEBP RetAddr  
0154fecc 7c90da69 ntdll!KiFastSystemCallRet
0154fed0 7c8314a6 ntdll!ZwFsControlFile+0xc
0154ff14 0059eae7 kernel32!ConnectNamedPipe+0x52
0154ffb4 7c80b683 postgres!pg_signal_thread+0x97 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32\signal.c @ 275]
0154ffec 00000000 kernel32!BaseThreadStart+0x37

   2  Id: 15f4.143c Suspend: 1 Teb: 7ffdd000 Unfrozen
ChildEBP RetAddr  
03e1fce8 7c90e9ab ntdll!KiFastSystemCallRet
03e1fcec 7c92a0d5 ntdll!ZwWaitForMultipleObjects+0xc
03e1ffb4 7c80b683 ntdll!RtlpWaitThread+0x13d
03e1ffec 00000000 kernel32!BaseThreadStart+0x37

#  3  Id: 15f4.12e4 Suspend: 1 Teb: 7ffdc000 Unfrozen
ChildEBP RetAddr  
03e2ffc8 7c9507a8 ntdll!DbgBreakPoint
03e2fff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d
Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.

*** wait with pending attach
Symbol search path is: C:\Program 
Files\PostgreSQL\9.0\symbols;SRV*c:\localsymbols*http://msdl.microsoft.com/download/symbols
Executable search path is: 
ModLoad: 00400000 00905000   C:\Program Files\PostgreSQL\9.0\bin\postgres.exe
ModLoad: 7c900000 7c9b0000   C:\WINDOWS\system32\ntdll.dll
ModLoad: 7c800000 7c8f4000   C:\WINDOWS\system32\kernel32.dll
ModLoad: 10000000 10033000   C:\Program Files\PostgreSQL\9.0\bin\SSLEAY32.dll
ModLoad: 00240000 0033e000   C:\Program Files\PostgreSQL\9.0\bin\LIBEAY32.dll
ModLoad: 71ad0000 71ad9000   C:\WINDOWS\system32\WSOCK32.dll
ModLoad: 71ab0000 71ac7000   C:\WINDOWS\system32\WS2_32.dll
ModLoad: 77c10000 77c68000   C:\WINDOWS\system32\msvcrt.dll
ModLoad: 71aa0000 71aa8000   C:\WINDOWS\system32\WS2HELP.dll
ModLoad: 77dd0000 77e6b000   C:\WINDOWS\system32\ADVAPI32.dll
ModLoad: 77e70000 77f01000   C:\WINDOWS\system32\RPCRT4.dll
ModLoad: 77f10000 77f57000   C:\WINDOWS\system32\GDI32.dll
ModLoad: 77d40000 77dd0000   C:\WINDOWS\system32\USER32.dll
ModLoad: 78520000 785c3000   
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_d495ac4e\MSVCR90.dll
ModLoad: 61cc0000 61cd3000   C:\Program Files\PostgreSQL\9.0\bin\libintl-8.dll
ModLoad: 66000000 660e7000   C:\Program Files\PostgreSQL\9.0\bin\libiconv-2.dll
ModLoad: 00d10000 00e01000   C:\Program Files\PostgreSQL\9.0\bin\libxml2.dll
ModLoad: 00e10000 00ee9000   C:\Program Files\PostgreSQL\9.0\bin\iconv.dll
ModLoad: 00350000 00363000   C:\Program Files\PostgreSQL\9.0\bin\zlib1.dll
ModLoad: 77fe0000 77ff1000   C:\WINDOWS\system32\Secur32.dll
ModLoad: 76f60000 76f8c000   C:\WINDOWS\system32\WLDAP32.dll
ModLoad: 76390000 763ad000   C:\WINDOWS\system32\IMM32.DLL
ModLoad: 71a50000 71a8f000   C:\WINDOWS\system32\mswsock.dll
ModLoad: 662b0000 66308000   C:\WINDOWS\system32\hnetcfg.dll
ModLoad: 71a90000 71a98000   C:\WINDOWS\System32\wshtcpip.dll
ModLoad: 76f20000 76f47000   C:\WINDOWS\system32\DNSAPI.dll
ModLoad: 76fc0000 76fc6000   C:\WINDOWS\system32\rasadhlp.dll
(15f4.12e4): Break instruction exception - code 80000003 (first chance)
eax=7ffd5000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005
eip=7c901230 esp=03e2ffcc ebp=03e2fff4 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000246
ntdll!DbgBreakPoint:
7c901230 cc              int     3
0:003> ~*k

   0  Id: 15f4.161c Suspend: 1 Teb: 7ffdf000 Unfrozen
ChildEBP RetAddr  
00d0f0ec 7c90e9ab ntdll!KiFastSystemCallRet
00d0f0f0 7c8094e2 ntdll!ZwWaitForMultipleObjects+0xc
00d0f18c 0059fa40 kernel32!WaitForMultipleObjectsEx+0x12c
00d0f804 005aea80 postgres!pgwin32_select+0x2b0 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32\socket.c @ 535]
00d0ff3c 005b0242 postgres!ServerLoop+0xb0 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
1391]
00d0ff64 005133ae postgres!PostmasterMain+0xb62 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
1097]
00d0ff7c 006dd18d postgres!main+0x2de 
[c:\pginstaller-repo\postgres.windows\src\backend\main\main.c @ 188]
00d0ffc0 7c816fd7 postgres!__tmainCRTStartup+0x10f 
[f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 586]
00d0fff0 00000000 kernel32!BaseProcessStart+0x23

   1  Id: 15f4.e14 Suspend: 1 Teb: 7ffde000 Unfrozen
ChildEBP RetAddr  
0154fecc 7c90da69 ntdll!KiFastSystemCallRet
0154fed0 7c8314a6 ntdll!ZwFsControlFile+0xc
0154ff14 0059eae7 kernel32!ConnectNamedPipe+0x52
0154ffb4 7c80b683 postgres!pg_signal_thread+0x97 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32\signal.c @ 275]
0154ffec 00000000 kernel32!BaseThreadStart+0x37

   2  Id: 15f4.143c Suspend: 1 Teb: 7ffdd000 Unfrozen
ChildEBP RetAddr  
03e1fce8 7c90e9ab ntdll!KiFastSystemCallRet
03e1fcec 7c92a0d5 ntdll!ZwWaitForMultipleObjects+0xc
03e1ffb4 7c80b683 ntdll!RtlpWaitThread+0x13d
03e1ffec 00000000 kernel32!BaseThreadStart+0x37

#  3  Id: 15f4.12e4 Suspend: 1 Teb: 7ffdc000 Unfrozen
ChildEBP RetAddr  
03e2ffc8 7c9507a8 ntdll!DbgBreakPoint
03e2fff4 00000000 ntdll!DbgUiRemoteBreakin+0x2d
0:003> G
eax=76390000 ebx=00000000 ecx=77d40000 edx=00d0f2f8 esi=7c90e88e edi=00000001
eip=7c90eb94 esp=00d0f348 ebp=00d0f444 iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246
ntdll!KiFastSystemCallRet:
7c90eb94 c3              ret
.  0  Id: 15f4.161c Suspend: 0 Teb: 7ffdf000 Unfrozen
ChildEBP RetAddr  
00d0f344 7c90e89a ntdll!KiFastSystemCallRet
00d0f348 7c81cd96 ntdll!ZwTerminateProcess+0xc
00d0f444 7c81cdee kernel32!_ExitProcess+0x62
00d0f458 785421cc kernel32!ExitProcess+0x14
00d0f464 78542410 MSVCR90!__crtExitProcess+0x17 
[f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c @ 731]
00d0f4a8 78542466 MSVCR90!doexit+0x10a 
[f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c @ 644]
00d0f4bc 005cdbd5 MSVCR90!exit+0x11 
[f:\dd\vctools\crt_bld\self_x86\crt\src\crt0dat.c @ 412]
00d0f4c8 006a744c postgres!proc_exit+0x35 
[c:\pginstaller-repo\postgres.windows\src\backend\storage\ipc\ipc.c @ 137]
00d0f4ec 005a0cb2 postgres!errfinish+0x19c 
[c:\pginstaller-repo\postgres.windows\src\backend\utils\error\elog.c @ 492]
00d0f50c 005cde7d postgres!PGSharedMemoryCreate+0xf2 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32_shmem.c @ 194]
00d0f54c 005ae531 postgres!CreateSharedMemoryAndSemaphores+0x1bd 
[c:\pginstaller-repo\postgres.windows\src\backend\storage\ipc\ipci.c @ 146]
00d0f568 005af6a4 postgres!PostmasterStateMachine+0x301 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
3069]
00d0f7f8 0059e855 postgres!reaper+0x564 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
2565]
00d0f810 0059ec0f postgres!pgwin32_dispatch_queued_signals+0x95 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32\signal.c @ 129]
00d0f814 005aea4c postgres!pg_usleep+0x3f 
[c:\pginstaller-repo\postgres.windows\src\backend\port\win32\signal.c @ 59]
00d0ff3c 005b0242 postgres!ServerLoop+0x7c 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
1380]
00d0ff64 005133ae postgres!PostmasterMain+0xb62 
[c:\pginstaller-repo\postgres.windows\src\backend\postmaster\postmaster.c @ 
1097]
00d0ff7c 006dd18d postgres!main+0x2de 
[c:\pginstaller-repo\postgres.windows\src\backend\main\main.c @ 188]
00d0ffc0 7c816fd7 postgres!__tmainCRTStartup+0x10f 
[f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c @ 586]
00d0fff0 00000000 kernel32!BaseProcessStart+0x23
-- 
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