GELÖST]NST startet nicht mehr (nach App-Installation) - BC25

17. Mai 2025 20:47

Hallo zusammen,

ich habe hier ein merkwürdiges Verhalten -> nach einer App-Installation startet der NST nicht mehr (habe ihn neustarten wollen aus Gründen :) )

Ich verstehe nicht ganz, was hier falsch läuft. Die App wird über eine Pipeline gebaut (RunTimePackage) -> ist auch nur ne ReportExtension-App
Die DB musste ich zurücksichern, weil ich den dummen NST absolut nicht gestartet bekommen habe.
Möglicherweise kann man die App auch aus der DB via SQL killen (ist ja OnPrem), aber das kann ja nicht die Lösung sein.

Eventuell hat ja jemand von euch eine schlaue Idee

PS: muss nicht schlau sein -> irgendeine Idee reicht mir schon :D

Folgendes bekomm ich auch dem Ereignisprotokoll:
Server instance: Prod
Category: Metadata
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: 00000000-0000-0000-0000-000000000000
ServerSessionUniqueId: 00000000-0000-0000-0000-000000000000
ServerActivityId: 00000000-0000-0000-0000-000000000000
EventTime: 05/17/2025 18:25:05
Message (AggregateException): Adding tenant aborted because of an extension failure -- Tenant: default
AggregatedException:
RootException: XmlException (HResult: 0x80131940)
'.', hexadecimal value 0x00, is an invalid character. Line 4, position 15.
ExceptionStackTrace:
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at Microsoft.Dynamics.Nav.Common.XmlHelper.SafeXmlLoader(Stream stream)
at Microsoft.Dynamics.Nav.Runtime.EntitlementDefinitionReader.CreateImpl(AppId appId, MemoryStream xmlStream)
at Microsoft.Dynamics.Nav.Runtime.EntitlementDefinitionReader.Create(AppId appId, Byte[] metadataContent)
at Microsoft.Dynamics.Nav.Runtime.Apps.EntitlementDefinitionCache.<>c__DisplayClass6_0.<GetEntitlements>b__1(NavAppResource resource)
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica.Execute()
CallerStackTrace:
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.InitializeAppsForTenant(NavTenant tenant)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.InitializeTenant(NavTenant tenant, NavTenantSettings tenantSettings, Boolean overwriteTenantIdInDatabase, Boolean verifyDatabaseConnection, Boolean ensureDatabaseExclusiveState)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddTenant(NavTenantMountingParameters mountingParameters)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.MountDefaultTenant(String databaseServerName, String databaseName, String databaseUserName, ProtectedDatabasePassword databasePassword, EncryptionProvider encryptionProvider, AzureKeyVaultSettings azureKeyVaultSettings, Boolean verifyServerInstanceKey, NavDatabaseConnectionCredentialType databaseConnectionCredentialType)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSingleLegacyTenant(String databaseServerName, String databaseName, String databaseUserName, ProtectedDatabasePassword databasePassword, EncryptionProvider encryptionProvider, AzureKeyVaultSettings azureKeyVaultSettings, NavDatabaseConnectionCredentialType databaseConnectionCredentialType, Boolean isInPlacePublishing)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.ConfigureTenants(ServerUserSettings settings, String encryptionKey, Boolean isInPlacePublishing)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.SetNavEnviroment(String commandLineServiceInstanceName, ServerUserSettings settings)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.OnStart(String[] args, ServiceBase serviceBase)
at Microsoft.Dynamics.Nav.WindowsServices.WindowsService.NavWindowsServiceLifetime.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
at _Diag_.Net._Async_Internals_()


ProcessId: 10476
Tag: 000009Y
ThreadId: 10
ExecutionId: 4
CounterInformation:
CustomParameters: {
}
GatewayCorrelationId:



und das hier

Server instance: Prod
Category: Tenant
ClientSessionId: 00000000-0000-0000-0000-000000000000
ClientActivityId: 00000000-0000-0000-0000-000000000000
ServerSessionUniqueId: e1bb5558-0434-42fa-9ae8-748846685328
ServerActivityId: 00000000-0000-0000-0000-000000000000
EventTime: 05/17/2025 18:25:05
Message (AggregateException): AggregatedException:
RootException: XmlException (HResult: 0x80131940)
'.', hexadecimal value 0x00, is an invalid character. Line 4, position 15.
ExceptionStackTrace:
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at Microsoft.Dynamics.Nav.Common.XmlHelper.SafeXmlLoader(Stream stream)
at Microsoft.Dynamics.Nav.Runtime.EntitlementDefinitionReader.CreateImpl(AppId appId, MemoryStream xmlStream)
at Microsoft.Dynamics.Nav.Runtime.EntitlementDefinitionReader.Create(AppId appId, Byte[] metadataContent)
at Microsoft.Dynamics.Nav.Runtime.Apps.EntitlementDefinitionCache.<>c__DisplayClass6_0.<GetEntitlements>b__1(NavAppResource resource)
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
at System.Threading.Tasks.TaskReplicator.Replica.Execute()
CallerStackTrace:
at Microsoft.Dynamics.Nav.Diagnostic.NavDiagnostics.SendExceptionTagExceptionFilter(String tag, Category category, Exception exception, Verbosity verbosity, DiagnosticParameter message, String diagnosticsContext, Boolean forceLog)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.InitializeTenant(NavTenant tenant, NavTenantSettings tenantSettings, Boolean overwriteTenantIdInDatabase, Boolean verifyDatabaseConnection, Boolean ensureDatabaseExclusiveState)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddTenant(NavTenantMountingParameters mountingParameters)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.MountDefaultTenant(String databaseServerName, String databaseName, String databaseUserName, ProtectedDatabasePassword databasePassword, EncryptionProvider encryptionProvider, AzureKeyVaultSettings azureKeyVaultSettings, Boolean verifyServerInstanceKey, NavDatabaseConnectionCredentialType databaseConnectionCredentialType)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSingleLegacyTenant(String databaseServerName, String databaseName, String databaseUserName, ProtectedDatabasePassword databasePassword, EncryptionProvider encryptionProvider, AzureKeyVaultSettings azureKeyVaultSettings, NavDatabaseConnectionCredentialType databaseConnectionCredentialType, Boolean isInPlacePublishing)
at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.ConfigureTenants(ServerUserSettings settings, String encryptionKey, Boolean isInPlacePublishing)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.SetNavEnviroment(String commandLineServiceInstanceName, ServerUserSettings settings)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.Start(String commandLineServiceInstanceName)
at Microsoft.Dynamics.Nav.WindowsServices.NavServerWindowsService.OnStart(String[] args, ServiceBase serviceBase)
at Microsoft.Dynamics.Nav.WindowsServices.WindowsService.NavWindowsServiceLifetime.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
at _Diag_.Net._Async_Internals_()


ProcessId: 10476
Tag: 00000V6
ThreadId: 10
ExecutionId: 4
CounterInformation:
CustomParameters: {
}
GatewayCorrelationId:
Zuletzt geändert von sweikelt am 21. Mai 2025 15:57, insgesamt 1-mal geändert.

Re: NST startet nicht mehr (nach App-Installation) - BC25

17. Mai 2025 22:48

Hallo,

das sieht nach einem Fehler in einer der Konfigdateien aus. Hatte ich auch schon mal.

Da hilft nur Notepad++ mit alle Sonderzeichen anzeigen und alle XML-Dateien durchzuforsten.

Gruß Fiddi

Re: NST startet nicht mehr (nach App-Installation) - BC25

18. Mai 2025 10:02

Ein eingeschlichenes NUL (hexadecimal value 0x00) hatte ich neulich auch, allerdings in den C#-Dateien .cs http://www.msdynamics.de/viewtopic.php?f=87&t=39487&p=153919&#p153918. Die würde ich ebenfalls dahingehend prüfen.

Re: NST startet nicht mehr (nach App-Installation) - BC25

18. Mai 2025 12:55

ja ich denke auch, dass es in einer der C# files vorkommt
Du hattest jedoch eine schöne hübsche Fehlermeldung, ich jedoch nicht so wirklich.
aber ich kann wenigstens eingrenzen, dass es sich um unsere ReportExtension handelt.

Dumm ist nur, dass sich das Ding installieren lässt und erst nach einem Restart des NSTs die Probleme auftauchen.

ich spiel mal bisl rum und sag bescheid, sobald ich die Ursache gefunden habe

Re: NST startet nicht mehr (nach App-Installation) - BC25

18. Mai 2025 13:08

fiddi hat geschrieben:Hallo,

das sieht nach einem Fehler in einer der Konfigdateien aus. Hatte ich auch schon mal.

Da hilft nur Notepad++ mit alle Sonderzeichen anzeigen und alle XML-Dateien durchzuforsten.

Gruß Fiddi


leider nein - jedenfalls wüsste ich nicht, was da wo sein soll -> standardconfig vom container -> hier tritt das nämlich auch auf :(

jetzt such ich im container irgendeine xml, die kaputt ist...... :twisted:

Re: NST startet nicht mehr (nach App-Installation) - BC25

18. Mai 2025 17:22

Code:
DELETE
FROM [dbo].[NAV App Installed App]
WHERE [Name] = 'Kaputte App'


hilft, um den Dienst wieder zu starten
-> habe jetzt im COntainer diverse Tests gefahren -> anscheinend ist das RunTimePackage korrupt, da ich mit RTP den Dienst nicht neustarten kann
Wenn ich aber die APP als nicht RTP baue und publishe/installiere, klappt alles

Re: NST startet nicht mehr (nach App-Installation) - BC25

19. Mai 2025 09:13

neue Erkenntnis:
in einem Standard BC25er Container klappt es auch mit der RTP -> ergo muss irgendwas in der DB kaputt sein :/

Kunde wurde auch von BC18 auf BC25 (über BC20 -> BC23 -> BC25) migriert.

Re: NST startet nicht mehr (nach App-Installation) - BC25

20. Mai 2025 13:27

o/ zusammen,

also ich konnte es soweit eingrenzen, dass die App zwingend eine Codeunit beinhalten muss, damit der sich NST nach dem Einspielen des RTPs neustarten lässt.
Warum das so ist, weiß ich noch nicht - muss aber eine Datenkonstellation in der DB sein

Edit - die Codeunit kann auch irgendeine ID haben, hauptsache ne Dummy-CodeUnit ist drin - ich blick's nicht mehr.
Bestimmt irgendwas von BC18 auf BC25 kaputt gegangen

Re: NST startet nicht mehr (nach App-Installation) - BC25

21. Mai 2025 15:57

oh mann,

Fehler im Standard 25.3 bis 25.4 (ggf. 25.5)
https://www.yammer.com/dynamicsnavdev/# ... 5938372608

ich Idiot hab dort nicht richtig gesucht