Home » PLM Insights » Teamcenter: Windows Desktop Heap Limitation Causes TcServer Processes to Hang

Teamcenter: Windows Desktop Heap Limitation Causes TcServer Processes to Hang

Have you ever faced the dreaded “You were not signed in because of an internal error” when users try to log into Teamcenter? Accompanied by a mysterious ORA-21561 in your logs? If so, you’ve probably been hit by the Windows Desktop Heap Limitation.

Understanding the Issue

Teamcenter’s login process might fail if:

  • It can’t connect to the DBMS specified in the TC_DB_CONNECT environment variable.
  • The server is offline or inaccessible from your node.

You might see errors like:

Teamcenter could not connect to the DBMS specified in the 
TC_DB_CONNECT environment variable. 
This could be because the DBMS is not online or the server 
is not accessible from your node. 
______________________________________________________________________________ 
EIM_failed_to_connect: EIM__open_db failed to connect to the DB.

When You Run Into Desktop Heap Limitations

If you’re managing a hefty number of tcserver processes via Microsoft Services, you’re likely bumping into the noninteractive desktop heap resource limits. Here’s what’s happening:

  • Windows Desktop Heap Size: Typically set at 768 for non-interactive sessions (services), this limits you to roughly 100 concurrent TcServer processes in a server pool started as a Windows service.

Workaround: Launch from User Console

Stuck with this limitation? Here’s a clever workaround:

  • Start the Server Manager from a User’s Console (Command Prompt) instead of as a service. This bypasses the heap size limit for services.

Solution: Tweaking Registry Values

If absolutely necessary, you can adjust the registry to expand the desktop heap:

1. Backup your registry – Safety first!

Why? Because you never know when things might go wrong. Better safe than sorry!

2. Open regedit.exe with admin rights.

Open regedit.exe as an administrator. How? Right-click on regedit.exe and select ‘Run as administrator’.

3. Navigate to the Correct Key

Go to:

HKEY_LOCAL_MACHINESystemCurrentControlSetControlSessionManagerSubSystemsWindows

Here you’ll see a string similar to:

%SystemRoot%system32csrss.exe ObjectDirectory=Windows SharedSection=1024,20480,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ServerDll=sxssrv,4 ProfileControl=Off MaxRequestThreads=16

4. Modify the SharedSection Value

Change the third value for the non-interactive desktop heap:

  • From: SharedSection=1024,20480,768
  • To: SharedSection=1024,20480,2048

Why increase it? This tweak increases the desktop heap size for services, which could solve your server pool problems.

Final Thoughts

Remember, tweaking system settings can have far-reaching effects. Always back up before changes, and consider if there’s a less invasive solution first. If you’re unsure, consulting with an IT professional could save you from a heap of trouble (pun intended).

Windows Server 2016
Teamcenter 12.3.0.7

Scroll to Top