views:

291

answers:

1

I'm having intermittent trouble with an OPENQUERY statement that pulls data through ODBC from a Progress database into SQL 2005. Most of the time it works, but every couple weeks, one of the many calls using this method bombs with a SQL Stack dump, shown below. We've run exhaustive hardware checks and also DB integrity checks, and have come up empty.

=====================================================================

BugCheck Dump

This file is generated by Microsoft SQL Server
version 9.00.4035.00
upon detection of fatal unexpected error. Please return this file,
the query or program that produced the bugcheck, the database and
the error log, and any other pertinent information with a Service Request.

Computer type is AT/AT COMPATIBLE.
Bios Version is HP - 2
Current time is 22:25:51 07/07/09.
8 Intel x86 level 6, 2400 Mhz processor (s).
Windows NT 5.2 Build 3790 CSD Service Pack 1.

Memory
MemoryLoad = 86%
Total Physical = 32764 MB
Available Physical = 4310 MB
Total Page File = 34447 MB
Available Page File = 6117 MB
Total Virtual = 2047 MB
Available Virtual = 155 MB
***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLDump0032.txt
SqlDumpExceptionHandler: Process 122 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.


    • BEGIN STACK DUMP:
  • 07/07/09 22:25:51 spid 122
  • Exception Address = 6D4A01D2 Module(pgoe1023+000801D2)
  • Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION
  • Access Violation occurred reading address 00000010
  • Input Buffer 510 bytes -
  • --Import all data from QAD into local tables truncate table
  • qad.pi_mstr insert into qad.pi_mstr select 'QADDB', * from openquery(QA
  • DPWPSPRES,'select * from pub.pi_mstr WITH (NOLOCK)') insert into qad.pi
  • _mstr select 'Paragon', * from openquery(QADPWPSPPARA,'select * from pub
  • .pi_mstr WITH (NOLOCK)') --Copy desired subset of data over into the
  • end result table truncate table PriceListMasterCustomer insert into Pr
  • iceListMasterCustomer (PriceListID, CustomerPriceList, PriceListDescript
  • ion, CustomerAnalysisCode, ItemAnalysisCode, StartDate, ExpireDate, ModD
  • ate, CombType, AmountType, BreakCategory, PI_UM,
  • Curr, QtyType, CostSet, ConfgDisc, CustomerType, PartType, UserID, Disc
  • Sequence, ListPrice, MinNet, MaxQty, Manual) SELECT pi_list_id, pi_
  • list, pi_desc, pi_cs_code, pi_part_code, pi_start, pi_expire, pi_mod_dat
  • e, pi_comb_type, pi_amt_type, pi_break_cat, pi_um, pi_curr, pi_qty_type,
  • pi_cost_set, pi_confg_disc, pi_cs_type, pi_part
  • _type, pi_userid, pi_disc_seq, pi_list_price, pi_min_net, pi_max_qty, pi
  • _manual FROM qad.pi_mstr where dbname = 'QADDB'
  • MODULE BASE END SIZE
  • sqlservr 01000000 02C1FFFF 01c20000
  • ntdll 7C800000 7C8C1FFF 000c2000
  • kernel32 77E40000 77F42FFF 00103000
  • MSVCR80 78130000 781CAFFF 0009b000
  • msvcrt 77BA0000 77BF9FFF 0005a000
  • MSVCP80 7C420000 7C4A6FFF 00087000
  • ADVAPI32 77F50000 77FEBFFF 0009c000
  • RPCRT4 77C50000 77CEEFFF 0009f000
  • sqlos 344D0000 344D4FFF 00005000
  • Secur32 76F50000 76F62FFF 00013000
  • USERENV 76920000 769E3FFF 000c4000
  • USER32 77380000 77411FFF 00092000
  • GDI32 77C00000 77C48FFF 00049000
  • WINMM 76AA0000 76ACCFFF 0002d000
  • opends60 333E0000 333E6FFF 00007000
  • NETAPI32 71C40000 71C97FFF 00058000
  • IMM32 76290000 762ACFFF 0001d000
  • psapi 76B70000 76B7AFFF 0000b000
  • instapi 48060000 48069FFF 0000a000
  • sqlevn70 4F610000 4F7B8FFF 001a9000
  • rsaenh 68000000 6802EFFF 0002f000
  • AUTHZ 76C40000 76C53FFF 00014000
  • MSCOREE 79000000 79045FFF 00046000
  • ole32 62A40000 62B73FFF 00134000
  • msv1_0 76C90000 76CB6FFF 00027000
  • iphlpapi 76CF0000 76D09FFF 0001a000
  • WS2_32 71C00000 71C16FFF 00017000
  • WS2HELP 71BF0000 71BF7FFF 00008000
  • kerberos 62BF0000 62C47FFF 00058000
  • cryptdll 766E0000 766EBFFF 0000c000
  • MSASN1 76190000 761A1FFF 00012000
  • schannel 76750000 76776FFF 00027000
  • CRYPT32 761B0000 76242FFF 00093000
  • COMRES 62CB0000 62D75FFF 000c6000
  • XOLEHLP 62D80000 62D85FFF 00006000
  • MSDTCPRX 62D90000 62E07FFF 00078000
  • OLEAUT32 77D00000 77D8BFFF 0008c000
  • msvcp60 780C0000 78120FFF 00061000
  • MTXCLU 62E10000 62E28FFF 00019000
  • VERSION 77B90000 77B97FFF 00008000
  • WSOCK32 71BB0000 71BB8FFF 00009000
  • CLUSAPI 62E30000 62E41FFF 00012000
  • RESUTILS 62E50000 62E62FFF 00013000
  • mswsock 71B20000 71B60FFF 00041000
  • DNSAPI 76ED0000 76EF8FFF 00029000
  • winrnr 62EC0000 62EC6FFF 00007000
  • WLDAP32 76F10000 76F3DFFF 0002e000
  • rasadhlp 62EF0000 62EF7FFF 00008000
  • security 632C0000 632C3FFF 00004000
  • msfte 63C20000 63E78FFF 00259000
  • dbghelp 63E90000 63FA4FFF 00115000
  • WINTRUST 76BB0000 76BDAFFF 0002b000
  • imagehlp 76C10000 76C38FFF 00029000
  • dssenh 68100000 68123FFF 00024000
  • hnetcfg 641F0000 64248FFF 00059000
  • wshtcpip 71AE0000 71AE7FFF 00008000
  • NTMARTA 77E00000 77E21FFF 00022000
  • SAMLIB 64310000 6431EFFF 0000f000
  • ntdsapi 766F0000 76704FFF 00015000
  • xpsp2res 643A0000 64664FFF 002c5000
  • CLBCatQ 64670000 646F2FFF 00083000
  • sqlncli 64700000 64926FFF 00227000
  • COMCTL32 64930000 649C6FFF 00097000
  • comdlg32 00750000 00799FFF 0004a000
  • SHELL32 7C8D0000 7D0D3FFF 00804000
  • SHLWAPI 77DA0000 77DF1FFF 00052000
  • comctl32 649D0000 64AD2FFF 00103000
  • SQLNCLIR 64C00000 64C32FFF 00033000
  • msftepxy 64DD0000 64DE4FFF 00015000
  • xpsqlbot 667D0000 667D5FFF 00006000
  • xpstar90 667F0000 6683AFFF 0004b000
  • SQLSCM90 66850000 66858FFF 00009000
  • ODBC32 66870000 668ACFFF 0003d000
  • BatchParser90 668B0000 668CEFFF 0001f000
  • ATL80 7C630000 7C64AFFF 0001b000
  • odbcint 66BA0000 66BB6FFF 00017000
  • xpstar90 66BC0000 66BE5FFF 00026000
  • xplog70 66BF0000 66BFBFFF 0000c000
  • xplog70 66C10000 66C12FFF 00003000
  • msxmlsql 78800000 788D4FFF 000d5000
  • msxml2 67C50000 67CFEFFF 000af000
  • msxml3 69730000 6984AFFF 0011b000
  • oledb32 6A250000 6A2C8FFF 00079000
  • MSDART 698D0000 698E9FFF 0001a000
  • OLEDB32R 6B7F0000 6B800FFF 00011000
  • msdasql 6D1F0000 6D23CFFF 0004d000
  • MSDATL3 6D240000 6D254FFF 00015000
  • MSDASQLR 68150000 68153FFF 00004000
  • comsvcs 6D260000 6D398FFF 00139000
  • pgoe1023 6D420000 6D50EFFF 000ef000
  • pgicu23 6D510000 6E108FFF 00bf9000
  • odbccp32 6E120000 6E139FFF 0001a000
  • pgoe1023R 63BB0000 63BC5FFF 00016000
  • dbghelp 70380000 70494FFF 00115000
    • Edi: 6E8382E4: 00000000 00000000 00000000 00000031 00000CE3 00000001
  • Esi: 6E7E2364: 6D4D7DCC 6E18AFD0 6E88ED38 00000000 00000000 00000000
  • Eax: 00000042:
  • Ebx: 00000000:
  • Ecx: 00000000:
  • Edx: 00000023:
  • Eip: 6D4A01D2: 8B10518B 4E8B9A04 C1835004 09ACE808 C3830000 745E3B01
  • Ebp: 00000000:
  • SegCs: 0000001B:
  • EFlags: 00010206: 006E0069 0000005C 0055004E 0042004D 00520045 004F005F
  • Esp: 6872F0AC: 6E7E2364 6E80265C 6E18AFD0 00000000 6872F0FC 00000000
  • SegSs: 00000023:



  • Short Stack Dump
    6D4A01D2 Module(pgoe1023+000801D2)

PSS @0x39449328

CSession @0x39448278

m_spid = 122 m_cRef = 12 m_rgcRefType[0] = 1
m_rgcRefType[1] = 1 m_rgcRefType[2] = 9 m_rgcRefType[3] = 1
m_rgcRefType[4] = 0 m_rgcRefType[5] = 0 m_pmo = 0x39448040
m_pstackBhfPool = 0x00000000 m_dwLoginFlags = 0x83e0 m_fBackground = 0
m_fClientRequestConnReset = 0 m_fUserProc = -1 m_fConnReset = 0
m_fIsConnReset = 0 m_fInLogin = 0 m_fAuditLoginSent = 1
m_fAuditLoginFailedSent = 0 m_fReplRelease = 0 m_fKill = 0
m_ulLoginStamp = 7684188 m_eclClient = 5 m_protType = 6
m_hHttpToken = FFFFFFFF

m_pV7LoginRec

00000000: 48010000 03000a73 401f0000 00000006 740b0000 †[email protected]...

00000014: 00000000 e0830000 00000000 00000000 5e000d00 †................^...

00000028: 00000000 00000000 78001c00 b0000d00 ca000000 †........x...........

0000003C: ca001c00 02010000 02010500 001cc493 53260c01 †................S&..

00000050: 3c004801 00004801 00000000 0000†††††††††††††††<.H...H.......

CPhysicalConnection @0x39448188

m_pPhyConn->m_pmo = 0x39448040 m_pPhyConn->m_pNetConn = 0x394487B0 m_pPhyConn->m_pConnList = 0x39448260
m_pPhyConn->m_pSess = 0x39448278 m_pPhyConn->m_fTracked = -1 m_pPhyConn->m_cbPacketsize = 8000
m_pPhyConn->m_fMars = 0 m_pPhyConn->m_fKill = 0

CBatch @0x39448AB8

m_pSess = 0x39448278 m_pConn = 0x39448A18 m_cRef = 3
m_rgcRefType[0] = 1 m_rgcRefType[1] = 1 m_rgcRefType[2] = 1
m_rgcRefType[3] = 0 m_rgcRefType[4] = 0 m_pTask = 0x008C86B8

EXCEPT (null) @0x6872D680

exc_number = 0 exc_severity = 0 exc_func = 0x024231C0

Task @0x008C86B8

CPU Ticks used (ms) = 309469 Task State = 2
WAITINFO_INTERNAL: WaitResource = 0x00000000 WAITINFO_INTERNAL: WaitType = 0x0
WAITINFO_INTERNAL: WaitSpinlock = 0x00000000
WAITINFO_EXTERNAL: WaitResource = 0x00000000 WAITINFO_EXTERNAL: WaitType = 0x40006D WAITINFO_EXTERNAL: WaitSpinlock = 0x00000000 SchedulerId = 0x1
ThreadId = 0x1b08 m_state = 0 m_eAbortSev = 0

EC @0x39449330

spid = 122 ecid = 0 ec_stat = 0x0
ec_stat2 = 0x0 ec_atomic = 0x0 __fSubProc = 1
ec_dbccContext = 0x00000000 __pSETLS = 0x39448A58 __pSEParams = 0x39448CF8
__pDbLocks = 0x39449818

SEInternalTLS @0x39448A58

m_flags = 0                          m_TLSstatus = 3                      m_owningTask = 0x008C86B8             
m_activeHeapDatasetList = 0x39448A58                                      m_activeIndexDatasetList = 0x39448A60

SEParams @0x39448CF8

m_lockTimeout = -1                   m_isoLevel = 4096                    m_logDontReplicate = 0                
m_neverReplicate = 0                 m_XactWorkspace = 0x416CA2D0         m_pSessionLocks = 0x39449A28          
m_pDbLocks = 0x39449818              m_execStats = 0x52133778             m_pAllocFileLimit = 0x00000000
A: 

Is it possible that your input is hitting some kind of lock in the source database and it's crashing the import process? I know it's a longshot, and I would expect ODBC to fail more gracefully if it encounters something like that, but the fact that it's intermittant would suggest that it's something like this. What other processes run in the neighborhood of the schedule for this one? Are there any other potential conflicts?

I'm not knowledgable about Progress, but there seem to be some complaints online that the ODBC driver isn't graceful at all when there's a problem, so it could be something simple that's causing this error. Is there a way to enable any sort of logging so that you don't have rely on what SQL reports the error as, but can use some kind of output from the ODBC driver itself?

rwmnau