FIX: Specifying More Than One Operator E-mail Address May Terminate SQL Server Agent with Dr. Watson (302892)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) SP1

This article was previously published under Q302892
BUG #: 354683 (SHILOH_BUGS)

SYMPTOMS

When testing a new operator that has more than one e-mail address to be notified, SQL Server Agent may terminate after several successful attempts with an access violation (AV), and a Dr. Watson error is generated for the SQL Server Agent process.

The following is seen in SQLAgent.out (note that it is the last line that has the error):
The ExecReAlloc memory operation failed (request [for 84 bytes] occurred at line 685 of function ParseRecipients)
SQLAgent.out may also have the following errors:
2001-06-26 12:29:09 - ! [LOG] Exception 5 caught at line 173 of file ..\src\refreshr.c. SQLServerAgent initiating self-termination
2001-06-26 12:29:09 - ? [358] Mail session ended
2001-06-26 12:29:12 - ! [097] Memory leak detected [352 bytes]
2001-06-26 12:29:12 - ? [098] SQLServerAgent terminated (normally)
This problem is also seen with jobs that have notifications set up to an operator with multiple addresses. After the job completes the first time, the mail is sent successfully. Running the same job a second time, or running another job, may terminate SQL Server Agent.

You may also see this problem when testing the SQL Mail Profile. When Test is clicked again after several successful attempts, the following message may appear:
Unable to test this address because the SQL Server Agent service is not running.

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

WORKAROUND

To work around this problem, follow these steps:
  1. Create a distribution alias on the Exchange server which has the e-mail addresses of all persons to be notified.
  2. Use this distribution alias in the e-mail name. Clicking the Test button or the Job completion notifications should notify all the addresses specified in the alias.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 2000 SP1. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2.

MORE INFORMATION

The following dump from the offending thread could be seen in the DrWtsn32.log:

State Dump for Thread Id 0xbc0

eax=01b52398 ebx=00000043 ecx=00000000 edx=00000000 esi=01b52278 edi=00000024
eip=77fcbfe1 esp=00fffce0 ebp=00fffe74 iopl=0         nv up ei pl zr na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000246


function: RtlCreateHeap
        77fcbfbd 50               push    eax
        77fcbfbe 6aff             push    0xff
        77fcbfc0 e85763fbff       call    ZwFreeVirtualMemory (77f8231c)
        77fcbfc5 33c0             xor     eax,eax
        77fcbfc7 e933eaffff       jmp     RtlFreeHeap+0x4ca (77fca9ff)
        77fcbfcc 884e05           mov     [esi+0x5],cl                 ds:0236f84e=??
        77fcbfcf 8b4808           mov     ecx,[eax+0x8]          ds:0236f96e=????????
        77fcbfd2 898dd8feffff     mov     [ebp+0xfffffed8],ecx   ss:00fffd4c=00000000
        77fcbfd8 8b500c           mov     edx,[eax+0xc]          ds:0236f96e=????????
        77fcbfdb 8995d4feffff     mov     [ebp+0xfffffed4],edx   ss:00fffd48=00000000
FAULT ->77fcbfe1 890a             mov     [edx],ecx              ds:00000000=????????
        77fcbfe3 895104           mov     [ecx+0x4],edx          ds:0081d5d6=????????
        77fcbfe6 3bca             cmp     ecx,edx
        77fcbfe8 0f85cf000000     jne     RtlCreateHeap+0xc6e (77fcc0bd)
        77fcbfee 668b08           mov     cx,[eax]                   ds:01b52398=0000
        77fcbff1 6681f98000       cmp     cx,0x80
        77fcbff6 0f83c1000000     jnb     RtlCreateHeap+0xc6e (77fcc0bd)
        77fcbffc 0fb7c9           movzx   ecx,cx
        77fcbfff 8bd9             mov     ebx,ecx
        77fcc001 c1eb03           shr     ebx,0x3
        77fcc004 899dccfeffff     mov     [ebp+0xfffffecc],ebx   ss:00fffd40=015f5530
        77fcc00a 83e107           and     ecx,0x7    
					


Modification Type:MajorLast Reviewed:9/4/2002
Keywords:kbbug kbSQLServ2000SP2Fix KB302892