FIX: CcsCore.dll Fails with Access Violation Error Message for ChannelCacheItem.cpp (320488)



The information in this article applies to:

  • Microsoft TV Server

This article was previously published under Q320488

SYMPTOMS

A CCS failure is recorded in WtvServerMgr.log. Examples of the stack trace that appears in the log are listed in the "More Information" section of this article.

CAUSE

The error occurs because the programmer did not verify that a root node pointer was valid before using the pointer.

RESOLUTION

To resolve this problem, install the latest service pack for Microsoft TV Server.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This problem was corrected in Microsoft TV Server 1.0 Service Pack 2.

MORE INFORMATION

The following are examples of the failure as it is recorder in the log file:
  • Example 1
    Worker thread failed with exception: Access violation while writing to location 0x32007A4C

    0: InterlockedDecrement(0662D4B0, 00000033, 023AE700, 00000005) [ kernel32.dbg, file ???, line ??? ]

    1: CChannelCacheItem::GetChannelInfo(023AEE84, 023AEBA0, 0C43FE30, 0202DF50) [ CcsCore.dll, file ChannelCacheItem.cpp, line 68 ]

    2: CChannelCache::GetChannelInfo(023AEE84, 07EF9714, 023AEBA0, 77F82A08) [ CcsCore.dll, file ChannelCache.cpp, line 87 ]

    3: CSynchronizeRequest::Run(00000000, 00000000, 00000000, 0659C0F8) [ CcsCore.dll, file SynchronizeRequest.cpp, line 39 ]

    4: CRequest::ProcessRequest(02D01CF8, 02CEBB18, 0669FF70, 023AEE84) [ CcsCore.dll, file Request.cpp, line 85 ]

    5: CCcsCore::HandleClientRequest(0202DF28, 066A0F08, 02D01CF8, 02CEBB18) [ CcsCore.dll, file CcsCore.cpp, line 91 ]

    6: CCcsCcp::HandleClientRequest(020C5360, 066A0F08, 00000003, 77F829C0) [ CcsCcp.dll, file CcsCcp.cpp, line 91 ]

    7: CCcsMstvServer::HandleClientRequest(0209A548, 066A0F08, 023AFED0, 100AC1C8) [ CCSMST~1.DLL, file CcsMstvServer.cpp, line 139 ]

    8: ServerMgr::PassReqToServer(066A0F08, 0203BEDC, 00000000, 020050A0) [ WtvServerMgr.dll, file ServerMgr.cpp, line 1419 ]

    9: ServerMgr::StartReq(0B6B23C0, 0203BEDC, 0C52DD70, 00000000) [ WtvServerMgr.dll, file ServerMgr.cpp, line 1271 ]

    10: ServerMgrThreadPool::DoWorkItem(023AFEB8, 77F82950, 00000024, 100AAA70) [ WtvServerMgr.dll, file ServerMgrThreadPool.cpp, line 40 ]

    11: SimpleThreadPool*ServerMgrWorkItem*::ThreadMain(023AFFEC, 77E8758A, 100AAA70, 77F82950) [ WtvServerMgr.dll, file SimpleThreadPool.h, line 386 ]

    12: SimpleThreadPool*ServerMgrWorkItem*::CallThreadMain(100AAA70, 77F82950, 00000024, 100AAA70) [ WtvServerMgr.dll, file SimpleThreadPool.h, line 432 ]

    13: BaseThreadStart(00000000, 00000000, 00000000, 00000000) [ kernel32.dbg, file ???, line ??? ]

    SimpleThreadPool::HandleException()(unknown requestor)
    SimpleThreadPool.h:497 WtvServerMgr.dll[1320-0x6A8] 09/12 21:19:24*
  • Example 2
    Worker thread failed with exception: Access violation while reading from location 0x00000000
    0: CXMLElement::GetTagName(0221E660, 00000000, 0221E578, 6A83F413) [ CcsCore.dll, file XMLElement.cpp, line 28 ]

    1: CChannel::Initialize(0221E6F0, 0221E704, 00000000, 00610044) [ CcsCore.dll, file Channel.cpp, line 23 ]

    2: CChannelFile::Initialize(06F55AE4, 09A70820, 100AAB00, 0000000F) [ CcsCore.dll, file ChannelFile.cpp, line 32 ]

    3: CChannelCacheItem::UpdateFile(09A70820, 09A70820, 0221E700, 00000005) [ CcsCore.dll, file ChannelCacheItem.cpp, line 145 ]

    4: CChannelCacheItem::GetChannelInfo(0221EE84, 0221EBA0, 206553A0, 0205FE18) [ CcsCore.dll, file ChannelCacheItem.cpp, line 68 ]

    5: CChannelCache::GetChannelInfo(0221EE84, 06F1A364, 0221EBA0, 77FCB4CF) [ CcsCore.dll, file ChannelCache.cpp, line 87 ]

    6: CSynchronizeRequest::Run(00000000, 00000000, 00000000, 0644E0D8) [ CcsCore.dll, file SynchronizeRequest.cpp, line 39 ]

    7: CRequest::ProcessRequest(02D6B4A8, 0E3A3AA0, 20AD0250, 0221EE84) [ CcsCore.dll, file Request.cpp, line 85 ]

    8: CCcsCore::HandleClientRequest(0205FDF0, 065D7208, 02D6B4A8, 0E3A3AA0) [ CcsCore.dll, file CcsCore.cpp, line 91 ]

    9: CCcsCcp::HandleClientRequest(020F5A88, 065D7208, 00000003, 77F829C0) [ CcsCcp.dll, file CcsCcp.cpp, line 91 ]

    10: CCcsMstvServer::HandleClientRequest(02061E78, 065D7208, 0221FED0, 100AAB00) [ CCSMST~1.DLL, file CcsMstvServer.cpp, line 139 ]

    11: ServerMgr::PassReqToServer(065D7208, 0206C7CC, 00000000, 00000000) [ WtvServerMgr.dll, file ServerMgr.cpp, line 1419 ]

    12: ServerMgr::StartReq(0B623350, 0206C7CC, 06618018, 00000000) [ WtvServerMgr.dll, file ServerMgr.cpp, line 1271 ]

    13: ServerMgrThreadPool::DoWorkItem(0221FEB8, 77F82950, 00000024, 100AAA70) [ WtvServerMgr.dll, file ServerMgrThreadPool.cpp, line 40 ]

    14: SimpleThreadPool(ServerMgrWorkItem)::ThreadMain(0221FFEC, 77E8758A, 100AAA70, 77F82950) [ WtvServerMgr.dll, file SimpleThreadPool.h, line 386 ]

    15: SimpleThreadPool(ServerMgrWorkItem)::CallThreadMain(100AAA70, 77F82950, 00000024, 100AAA70) [ WtvServerMgr.dll, file SimpleThreadPool.h, line 432 ]

    16: BaseThreadStart(00000000, 00000000, 00000000, 00000000) [ kernel32.dbg, file ???, line ??? ]

    SimpleThreadPool::HandleException()(unknown requestor)

    SimpleThreadPool.h:497 WtvServerMgr.dll[2580-0x844] 09/06 20:58:55*

Modification Type:MinorLast Reviewed:6/18/2003
Keywords:kbbug kbfix kbprb KB320488