Spotfire Server / Node Manager service stops immediately with .NET Runtime Error

Spotfire Server / Node Manager service stops immediately with .NET Runtime Error

book

Article ID: KB0070025

calendar_today

Updated On:

Products Versions
Spotfire Server All supported versions

Description


In some cases, you may encounter an issue where the TSS or TSNM services stop immediately after starting on a Windows server. When investigating the issue, the Event Viewer's Application logs may display the following sequence:

1: WpNmRemote1146 Info Notice
2: .NET Runtime Error


The .NET Runtime error reads:

------
Application: winsw.exe  
Framework Version: v4.0.30319  
Description: The process was terminated due to an unhandled exception.  
Exception Info: System.UnauthorizedAccessException  
   at System.IO.__Error.WinIOError(Int32, System.String)  
   at System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean)
------


The Application Error reads:

------
Faulting application name: bad_module_info, version: 0.0.0.0  
Faulting module name: unknown, version: 0.0.0.0  
Exception code: 0x00000000  
Fault offset: 0x0000000000000000  
Faulting process id: 0x2038
------


Cause of the Issue:

This issue is commonly observed with services running under a service account. The error indicates a System.UnauthorizedAccessException, which typically means that the service account used to run the Spotfire Server or Node Manager lacks the necessary permissions — specifically, the "Log on as a batch job" right.

Issue/Introduction

This article suggests steps to recover when Spotfire Server and/or a Node Manager service stops immediately after starting on a Windows server, with a .NET Runtime Error.

Environment

Windows

Resolution


Resolution:

 
To resolve the issue, follow these steps:

 
1. Open the Local Security Policy by running secpol.msc from the Start Menu.
2. Navigate to Local Policies >> User Rights Assignment.
3. Find and double-click on the "Log on as a batch job" policy.
4. Add the service account either directly to this list or to one of the groups listed there.
5. Apply the changes and restart the service.

This should resolve the issue, allowing the service to run without interruption.