Exchange 2003 Event 2000: “Verify that the Microsoft Exchange MTA service has started. Consecutive ma-open calls are failing with error 3051”

One of the smaller networks I manage consists of a handful of users who connect to a SBS 2003 server. Their server keeps reporting the following in the Windows Application Log:

Event: 2000

Source: MSExchangeIS Mailbox

“Verify that the Microsoft Exchange MTA service has started. Consecutive ma-open calls are failing with error 3051”

This error would lead you to believe that the MTA Stack service wasn’t started when it should be. But if this is the only Exchange server in your organization and you aren’t connecting to an X.400 mail server, the MTA Stack service is not necessary. Previously I had even changed this service’s startup type to disabled, yet the server continued to report this error.

KB 810489 explains that stopping and disabling the Microsoft Exchange MTA Stack service is not sufficient to resolve this error. Two registry entries need to be created on the server for each public or private database on the server.

Open the following key in regedit:


For each private or public database that is listed under this subkey, perform these steps

1) Right click on the database, select NewDWord Value. Name the value Gateway In Threads

2) Set the Gateway In Threads value to 0 (zero)

3) Right click on the database, select NewDWord Value. Name the value Gateway Out Threads

4) Set the Gateway Out Threads value to 0 (zero)

You must restart the Micrsoft Exchange Information Store service for the changes to take effect. The KB also explains:

“When you set the Gateway In Threads value and the Gateway Out Threads value to 0, Store and MTA connection failure events are not logged in the Application log after the MTA Stacks service has been disabled. If you create a new database on the server, you should set the Gateway In Threads value and the Gateway Out Threads value for the new database.”

Resources for Troubleshooting Windows Event 2019: The server was unable to allocate from the system nonpaged pool because the pool was empty

One of my client’s servers needs to be rebooted three times a day because of server hangs. A look in Event Viewer finds the following error corresponding to the time the server stops responding:

Event: 2019, Source: SRV

“The server was unable to allocate from the system nonpaged pool because the pool was empty”

They reboot the server, and the problem goes away for a while.

I performed some searches and found many potential known causes of this error, from Norton Antivirus 7.0-8.0 to Symantec Antivirus 10.x to ARCServe to SQL Server, but none of the suggested fixes resolved the issue. I used the following articles during the troubleshooting process:

KB 133384 for using Performance Monitor but couldn’t isolate the source of the memory leak.

KB 943998 regarding a HP NIC driver issue, KB 294346 regarding an 3com/IBM NIC driver issue

KB 895477 regarding WMI problems that may or may not be releated to SMS and/or SQL

KB 822219 describes filter driver issues relating to backup or antivirus software, specifically ARCserve and Veritas products

KB 870973 descibes a hotfix for a leak in the Volume Shadow Copy service

KB 102985 describes registry settings you can specify for memory usage – see NonPagedPoolSize

Windows 2000 – Evaluating Memory and Cache Usage – Optimizing Your Memory Configuration

I used the following tools to try and diagnose the source of the memory leak:

Poolmon.exe per KB 177415. Warning – using poolmon is not for the faint of heart

Performance Monitor Wizard and Perfmon.exe per KB 248345 for finding memory resource issues. The Performance Monitor Wizard simplifies the process of gathering performance monitor logs. It configures the correct counters to collect, sample intervals and log file sizes for troubleshooting.

Debug Diagnostic Tool 1.1 – Designed to assist in troubleshooting issues such as hangs, slow performance, memory leaks or fragmentation, and crashes in any Win32 user-mode process. The tool includes additional debugging scripts focused on Internet Information Services (IIS) applications, web data access components, COM+ and related Microsoft technologies

User Mode Process Dumper Version 8.1 per KB 241215The User Mode Process Dumper (userdump) dumps any running Win32 processes memory image (including system processes such as csrss.exe, winlogon.exe, services.exe, etc) on the fly, without attaching a debugger, or terminating target processes. Make sure to use the correct version for your CPU.

Windows Server 2003 Performance Advisor – Performance diagnostic tool for Windows Server 2003 and Windows Server 2003 Service Pack 1 (SP1)

Memtriage.exe – Resource Leak Triage Tool, a part of the Windows Server 2003 Resource Kit Tools

gflags.exe – see KB 262386 for example usage for diagnosing memory leaks

Memsnap.exe – This command-line tool takes a snapshot of the memory resources being consumed by all running processes and writes this information to a log file.

Debugging Tools for Windows was over my head, probably not useful except for programmer types.

This article has a nice description of using Process Explorer to determine your system’s maximum values for Paged and NonPaged Pools, while this one talks about troubleshooting memory leaks. This one discusses capturing application crash dumps, which allows for debugging services such as Print Spooler.

After using all these tools, I finally found the source of my problem with plain old Windows Task Manager. This article suggested viewing the Handle Count, with processes over 5,000 being suspect. Once I viewed the Handles column it was blatantly obvious JMBtnMgr.exe was the memory hog. I watched the handle count grow from 2,100 to over 6,000, when the server became unresponsive.

After restarting the server I found a shortcut to JMBtnMgr.exe in the Administrator startup menu. I took the shortcut out of the startup menu, restarted the server one more time, and haven’t found it hung in four days.

I suspect I also could have monitored Task Manager’s Non-Paged Pool Usage as well and would have found similar results. To view the NP Pool usage in Task Manager, click View – Select Columns – Non-Paged Pool

Internet Explorer: “Click to Activate and use this Control” results in blank browser window

Certain computers were getting the “Click to Activate and use this Control” prompt when attempting to view reports generated by an .asp script on one of our software provider’s web server. Even after clicking the new window, the window was blank, as in a totally white browser window. Hitting the space bar or enter key didn’t make a difference.

Both Internet Explorer 6 and 7 users had this issue, but we also had users of both versions of the IE browser that did not get this error. All workstations were XPSP2, so I figured that wasn’t an issue.

I verified all browser security settings allowed for ActiveX controls to be run, and ran Microsoft Update to ensure all the IE browser updates were installed. Next I installed the latest versions of Java, Flash, Shockwave, and Adobe Acrobat Reader to make sure those weren’t an issue, but the problem persisted.

I decided to generate this report, and rather than trying to view it in a browser window, I saved it to my hard drive. It saved as a .htm file, and I opened it with notepad. In the file I saw the following line:

crystal files\,2,0,442

I wondered if IE was using the Crystal Reports Viewer, so I went into IE and viewed the installed add-ons, and saw an entry for Crystal Report Viewer Control 9. If I disabled this control and ran the report, I was told the necessary control was not available… so I had figured out which control was causing the issue. I decided the best thing to do would be to uninstall the control and redownload it.

KB 154850 shows how to remove an ActiveX control, but I couldn’t find the control listed in any of the locations they specified. I resorted to googling for the answer to how to remove the Crystal Reports Viewer Control, and came across this page, which pointed me in the correct direction.

Note that these steps were written for Crystal Reports Viewer 8:

To remove a corrupted, unrecognizable, or older version of the ActiveX Viewer:

1. Right-click the Internet Explorer icon, and click ‘Properties’.

2. Click the ‘Settings’ button.

3. Click the ‘View Objects’ button, right-click ‘Crystal Report Viewer Control’, and then click ‘Remove’.

4. Click ‘Yes’ when prompted to remove the control.

5. Close the ‘Downloaded Program Files’ dialog box, click ‘OK’ on the ‘Settings’ dialog box, and then click ‘OK’ on the ‘Internet Options’ dialog box.

6. Search the computer for the following files and manually deregister them:



Use the following steps to deregister these files:

1. Search for the DLL file.

2. On the ‘Start’ menu, click ‘Run’.

3. Type “regsvr32 \u” in the ‘Run’ box and then drag the DLL file to the ‘Run’ box. The contents of the ‘Run’ box look similar to the following:

regsvr32 \u c:\myfiles\myDLL.dll

Unfortunately for me, none of the .dll files listed above were present on my machine. Plus, the \u is incorrect – it should be /u to unregister a .dll file.

On a hunch I searched my computer for crview*.*, and found a crviewer9.dll located in c:\program files\common files\crystal decisions\2.0\bin directory. I decided to try to unregister that .dll just to see what happened. To do so, I ran the following from a command prompt:

regsvr32 /u c:\program files\common files\crystal decisions\2.0\bin\crviewer9.dll

I restarted Internet Explorer, verified that Crystal Report Viewer no longer appeared in the list of installed add-ons, and once the control re-downloaded, was able to generate the report as expected!

I guess the moral of my story is that if you receive the “Click to Activate and use this Control” prompt, and all the obvious causes have been eliminated, you need to determine which ActiveX control is causing the issue, then reinstall the faulty control.

[updated 12-21-2007]

KB 945007 describes an IE6 and IE7 update that disables the “click to activate” behavior totally.

Quickbooks Pro 2005 crashes after login to company

Quickbooks 2005 decided to quit running on my Windows XP SP2 a few weeks ago. Nothing had changed on my machine or the server, and none of the other client machines were experiencing this problem.

I started by trying to perform a Quickbooks repair, but the problem persisted. Uninstalling and reinstalling Quickbooks didn’t change anything either. No related errors were appearing in the Windows XP Event Viewer, and a search of the Quickbooks and Microsoft knowledge bases didn’t turn up any solutions or suggestions.

I probably completed the uninstall/reinstall process half a dozen times before finally hitting on the correct steps to fix this problem. If you choose to try to use these suggestions, please backup your machine (or at least the registry) before doing so.

1) Go into Control Panel – Add/Remove Programs and uninstall Quickbooks 2005

2) Run MyUninstaller, and verify it doesn’t think Quickbooks is still installed. If it does, use the uninstall function within MyUninstaller to remove QB.

3) Download the Macromedia Flash Player Uninstaller, and uninstall your current version of Flash. I had version 9 installed, and Quickbooks installation fails if it cannot install Flash version 7. After the uninstallation completes, reboot the machine.

4) Rename the C:\Program Files\Intuit\Quickbooks 2005 folder.

5) Search the registry for all instances of Quickbooks, and remove them. Delete all references to C:\Program Files\Intuit\Quickbooks 2005, or whichever directory you installed Quickbooks into. Backup the registry before doing this, in case your changes affect other programs.

6) Rename the C:\Program Files\Common Files\Intuit directory. If you run other Intuit software, this may impact those programs, so rename rather than delete.

7) Rename all the QB*.* files found in the C:\Windows\Prefetch directory. Reboot again.

8) Run the Quickbooks setup program and install with default settings, including Flash 7. Once your Quickbooks is again functional, you’ll be able to update to Flash 9.

9) Download all the Quickbooks updates and install them. You should now be able to login to the Company File without hanging the program.