Skip to content

Silent failure of bind_context when CORBA server runs under NT SERVICE\X on Windows due to missing privileges #2393

Open
@paespi0

Description

@paespi0

When running a TAO-based CORBA server (e.g., SimStartup) as a Windows service under NT SERVICE\X (e.g., NT SERVICE\SimStartup), object registration with the TAO Naming Service fails silently. Specifically, the service calls bind_context() or rebind(), but no exception is logged and the registration never completes.

This was confirmed via:

TAO debug logging (resolve("DSS71") failed with CORBA::NamingContext::NotFound)

The same service succeeding when run under LocalSystem

Success after setting sc sidtype "SimStartup" unrestricted

Likely root cause: Windows restricts NT SERVICE\X privileges by default. TAO and ACE likely depend on:

SeImpersonatePrivilege

SeIncreaseQuotaPrivilege

SeCreateGlobalPrivilege

These are required during socket creation, IOR generation, or memory-mapped object handling.

Suggestion: Improve diagnostics around Naming Service registration failures, especially when bind_context() is called on a nil naming context or under privilege-restricted conditions.

Related documentation and investigation:

[TAO Naming_Client.cpp, Naming_Server.cpp]

Microsoft SID Restrictions

Privilege Constants

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions