Server not always avaialable after restart - System.badimage. License issue?

TomigsTomigs Member Posts: 76
We have a customer that has problems with the NAV service not being available on some mornings, but only happens sometimes, say 2/3 times a month. Every night both the NAV and SQL servers are restarted, with some delay between them.
In some days, the users cannot log in and it is fixed by manually restarting the NAV service.
I've been digging on the event viewer and the below (I think) are the distinctive errors.
Any suggestion on it?
Reviewing some other posts I think it could be caused by some component not being ready on the SQL server in the moment of the start, but is strange as the NAV server is started 10 mins later than the SQL and restarted twice after it (SQL starts at 06.30, NAV service at 06.40 and is restarted at 07.00).
Also I can see that it points to the License upload so maybe something wrong on that direction, but haven't found the issue yet.

Dynamics NAV 2017 (build 17501)


Error 15/08/2019 06:59:03 MicrosoftDynamicsNavServer$DynamicsNAVProd 216 (13):
Server instance: DynamicsNAVProd
Tenant ID:
Type: System.BadImageFormatException
Message: <ii>An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)</ii>
at Microsoft.Dynamics.Nav.Runtime.NavLicense.NativeMethods.UnpackLicense(Byte[] license, Int32 licenseSize, StringBuilder header, Int32 headerSize)
at Microsoft.Dynamics.Nav.Runtime.NavLicense.Create(Byte[] license, LicenseExpiredHandler licenseExpiredHandler)
at Microsoft.Dynamics.Nav.Runtime.NavDatabaseSecurityAndLicense.get_License()
at Microsoft.Dynamics.Nav.Runtime.NavSession.get_License()
at Microsoft.Dynamics.Nav.Runtime.NavSession.SetAndValidateLicense(Byte[] licenseToUse)
at Microsoft.Dynamics.Nav.Runtime.NavSession.Open(Boolean useUserPersonalization, Byte[] licenseToUse, Boolean allowAppsDisabledMode)
at Microsoft.Dynamics.Nav.Runtime.NavSession.Open()
at Microsoft.Dynamics.Nav.Runtime.NavApplicationServer.<RunOnceAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Dynamics.Nav.Runtime.NavApplicationServer.<StartAsync>d__7.MoveNext()
Source: Microsoft.Dynamics.Nav.Ncl
HResult: -2147024885

Note: this one seems very similar to my issue:


  • KTA8KTA8 Member Posts: 301
    Depending in many factors 30 mins wouldn't be enough. SQL is "thinked" for continuos working.
  • TomigsTomigs Member Posts: 76
    Thanks KTA8.

    I think we'll recommend to test it increasing the time allowance between servers for the moment.
Sign In or Register to comment.