12 NMAS_ThreadCreate failed when attempting to login

  • 3862959
  • 05-Apr-2007
  • 26-Apr-2012

Environment

Novell Modular Authentication Service (NMAS) version 2.3

Situation

NMAS 2.x creates a thread for every NMAS request. That thread services the request and is destroyed. On heavily used servers this can cause a performance bottleneck as the OS struggles to provide a sufficient quantity of threads to NMAS. If the OS isn't able to keep up the server could experience sluggish performance or the NMAS request could fail with the following error in the NMAS trace:
23:11:20 B16E6BB0 -1 NMAS: 14: ERROR: 12 NMAS_ThreadCreate failed.
23:11:20 B16E6BB0 -1 NMAS: 14: ERROR: 12 Server thread failed to start.
23:11:20 B16E6BB0 -1 NMAS: 14: NMAS_CanDo StartClientSession 12

Resolution

In NMAS 3.x and later NMAS manages its own thread pool. Instead of going to the OS to create a thread on every request a pool is built when NMAS is loaded and these threads are reused instead of being destroyed and recreated. This reduces thread utilization on the OS, improves performance and mitigates thread create issues.