Microsoft KB Archive/308782

= FIX: Use of PRINT on Invalid User Defined Function Causes Access Violation =

Article ID: 308782

Article Last Modified on 1/10/2002

-

APPLIES TO


 * Microsoft SQL Server 2000 Service Pack 1

-



This article was previously published under Q308782



BUG #: 354991 (SHILOH_BUGS)



SYMPTOMS
After you execute a PRINT statement against an invalid user defined function (UDF), SQL Server 2000 Service Pack 1 (SP1) produces a very large stack dump in the SQL Server error log. Short stack dump:

00401291 Module(sqlservr+00001291) (CCacheMonitor::CPagesSize+00000013)

0040126B Module(sqlservr+0000126B) (CCache::CpagesNotInUse+0000000C)

004014F6 Module(sqlservr+000014F6) (BPool::CalculatePoolGrowth+00000134)

0052990A Module(sqlservr+0012990A) (BPool::LazyWriter+00000483)

0052974D Module(sqlservr+0012974D) (lazywriter+000000E5)

41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)

41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)

7800A27B Module(MSVCRT+0000A27B) (beginthread+000000CE)

77E8758A Module(KERNEL32+0000758A) (SetFilePointer+0000018A)

Short Stack Dump

0046FF81 Module(DebugSR+0006FF81) (WParseName::WsTab+00000011 Line 83+00000011)

0063CE8F Module(DebugSR+0023CE8F) (CSQLObject::FTransform+000000CB Line 2091+00000011)

0063F558 Module(DebugSR+0023F558) (CSQLObject::PtrGetCmd+000000F7 Line 2837+0000000F)

0077792D Module(DebugSR+0037792D) (TrpGetExpressionProps+0000029F Line 7261+0000000B)

00777B48 Module(DebugSR+00377B48) (TrpGetExpressionPropsWithHandler+00000075 Line 7303+00000019)

00775A7B Module(DebugSR+00375A7B) (PreserveLength+000056EA Line 6448+0000001B)

0076AB93 Module(DebugSR+0036AB93) (norm_expr+00001A63 Line 1907+00000014)

005F0585 Module(DebugSR+001F0585) (CProchdr::FCompile+00000676 Line 802+00000021)

006396A7 Module(DebugSR+002396A7) (CSQLSource::FTransform+000007CC Line 882+0000001C)

0063B7F6 Module(DebugSR+0023B7F6) (CSQLStrings::FTransform+00000535 Line 1641+0000000F)

0063A1A3 Module(DebugSR+0023A1A3) (CSQLSource::Execute+00000264 Line 1133+00000011)

007D0B30 Module(DebugSR+003D0B30) (language_exec+00000A2B Line 684+00000000)

007D278E Module(DebugSR+003D278E) (process_commands+00000164 Line 1706+00000009)

41073379 Module(ums+00003379) (ProcessWorkRequests+0000024A)

41073071 Module(ums+00003071) (ThreadStartRoutine+000000BD)

7800A27B Module(MSVCRT+0000A27B) (_unDNameEx+0000484C)

77E8758A Module(KERNEL32+0000758A) (MapViewOfFileEx+00000050)



RESOLUTION
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack



STATUS
Microsoft has confirmed that this is a problem in Microsoft SQL Server 2000 Service Pack 1. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2.



MORE INFORMATION
This problem does not occur in versions of SQL Server 2000 before Service Pack 1. You can use the script that follows to reproduce the behavior on SQL Server 2000 (with SP 1 applied): -- Verify that SQL Server 2000 SP1 (8.00.384) has been applied. select @@version go -- Raise error 208 without causing an AV. select dbo.f go -- Raise error 208 but with a very large series of AVs. -- Check your latest SQL Server error log file to verify that this occurs. print dbo.f go

Additional query words: AV exception stack dump

Keywords: kbbug kbfix KB308782

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.