Easysoft ODBC-ODBC Bridge

Why do I get "Initialization of the dynamic link library xxx failed" dialogues on my server desktop when running in MultiProcess mode?

Article:
00674
Last Reviewed:
28th October 2008
Revision:
3

This problem relates to running the OOB Server in MultiProcess mode on Windows NT/2000. If you are running in Multi-Threaded mode (the default) this FAQ item does not apply.

These popup windows seem to appear when an OOB client is connecting to the server and they look similar to the following:

Initialization of the dynamic link library c:\WINNT\system32\COMCTL32.dll failed. The process is terminating abnormally.

although the actual DLL may be USER32.DLL, KERNEL32.DLL or perhaps even a DLL supplied with OOB. The OOB client connected to the OOB Server will hang until the OK button on the dialogue is pressed.

We have not seen this problem in Windows NT sp3 although now that we understand it better it is still possible. We first encountered this problem around about the time NT sp4 was installed.

Useful references on Microsoft's web site are:

http://support.microsoft.com/support/kb/articles/Q225/1/02.ASP
http://support.microsoft.com/support/kb/articles/Q142/6/76.ASP
http://support.microsoft.com/support/kb/articles/Q126/9/62.ASP

Please note that the first reference mentions calling CreateProcess with DETACHED_PROCESS and CREATE_NO_WINDOW flags which OOB already does.

It appears that around NT sp4 the Windows registry string in

HKEY_LOCAL_MACHINE\
System\
CurrentControlSet\
Control\
Session Manager\
SubSystems\

was amended. In sp3 it included SharedSection=1024,3072 and changed to SharedSection=1024,3072,512. The references to Microsoft's web site above appear to contradict each other. We have found that without the 3rd argument (512) the desktop heap size appears to default to 512K (in post NT sp4 and above) and a much higher default was used in NT sp3 and before. 512 is sufficient foraround 60 - 100 OOB Server processes depending on whatever else is running on the desktop. Lowering it to 128 allows around 17 OOB Servers and increasing it to 1024 allows around 220 OOB Servers. It would appear from our experiments that the default heap size was much higher in NT sp3. Note that you need to reboot after changing this value.

Applies To

Knowledge Base Feedback

* Did this content help you?
* Please select one option based on your first choice:

(* Required Fields)


Oracle is a registered trademark of Oracle Corporation and/or its affiliates.