Codes d'erreur et de diagnostic

Documentation de la version v0.1.0-beta.3Voir la source sur GitHub

Traduction de la page originale en anglais d’OmsiLaunch 0.1.0-beta3. La page anglaise fait foi : en cas de divergence, la page anglaise et le code prévalent.

Cette page est la référence normative de chaque code de PublicErrorCodes (src/OmsiLaunch.Api/PublicErrorCodes.cs) : 142 codes d'erreur OL_E_ et un avertissement OL_W_, regroupés par catégorie du catalogue, ainsi que les codes de diagnostic informatifs qui ne sont pas des erreurs. Pour chaque code, elle indique où le code actuel le lève, ce qu'il signifie, comment il vous parvient (exception levée, champ de résultat, diagnostic, réponse du plan de contrôle ou enveloppe CLI) et ce qu'il faut faire. Les significations sont tirées des sites de levée ; lorsqu'un code est défini mais n'a aucun chemin de levée actuel, la page l'indique.

Pages associées : API publique, codes de sortie, LaunchSpec, cycle de vie de la session, transactions et récupération, plan de contrôle local, contrôle runtime, profils de session, plugin permanent.

Comment les codes vous parviennent#

CanalSignification
LevéeUne exception dont le Message commence par le code (InvalidOperationException, IOException, TimeoutException, InvalidDataException, FileNotFoundException, ArgumentException, SessionProfileException). La CLI extrait le code du message et l'associe à un code de sortie (CliProgram.Classify).
Diagnostic de planUn LaunchDiagnostic dans SessionPlan.Diagnostics ; tout code OL_E_ rend IsRunnable faux (CLI : plan NOT RUNNABLE, sortie 1).
Diagnostic de sessionUn LaunchDiagnostic dans SessionStatus.Diagnostics ; l'état de la session est Failed (sortie CLI 1). OL_E_START_SESSION, OL_E_PROCESS_SUPERVISION et OL_E_RESTORE_FAILED encapsulent un code interne dans leur message.
Résultat runtimeRuntimeCommandResult.ErrorCode avec Succeeded = false.
Détail runtimeRuntimeCommandResult.ErrorCode = OL_E_RUNTIME_OPERATION_FAILED et le code spécifique comme premier jeton de Values["detail"] (avec Values["exception"]). C'est ainsi que chaque code InvalidOperationException/ArgumentException côté plugin est remonté.
Réponse de contrôleErrorCode d'une réponse du plan de contrôle local (LocalControlResponse).
Enveloppe CLIerror.code dans l'enveloppe --json, ou <code>: <message> sur la console ; le code de sortie est indiqué.
TélémétrieUn nom d'événement runtime que l'hôte associe à un diagnostic de session.

CLI#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_CANCELLEDCliProgram.ClassifyUne OperationCanceledException s'est échappée (Ctrl+C ou attente client annulée).Enveloppe CLI, sortie 7Relancez la commande.
OL_E_INTERNALCliProgram.ClassifyUne exception sans code OL_E_ s'est échappée : JSON /spec mal formé, membre obligatoire de la spec à null, erreur inattendue.Enveloppe CLI, sortie 10Lisez le message et <root>\.omsilaunch\diagnostics\<sessionId>-host.log ; corrigez l'entrée ; signalez le problème s'il reste inexpliqué.
OL_E_TIMEOUTCliProgram.Classify ; LocalControlPlane.TryRequestAsyncUne TimeoutException sans code s'est échappée ; ou le client de contrôle local était connecté à un propriétaire qui n'a pas répondu dans le délai (le propriétaire existe, ce n'est donc pas signalé comme OL_E_NO_ACTIVE_SESSION). (Les timeouts de la boîte aux lettres portent OL_E_RUNTIME_REQUEST_TIMEOUT à la place.)Enveloppe CLI, réponse de contrôle ; sortie 5 depuis Classify, sortie 7 pour une réponse de contrôleRéessayez ; vérifiez qu'OMSI et le propriétaire répondent.
OL_E_WINDOWS_HOST_MISSINGCliProgram.RunAsync (/silent)OmsiLaunchW.exe ne se trouve pas à côté de OmsiLaunch.exe.Enveloppe CLI, sortie 7Réinstallez le paquet.
OL_E_WINDOWS_HOST_START_FAILEDCliProgram.RunAsync (/silent)Process.Start de OmsiLaunchW.exe n'a renvoyé aucun processus.Enveloppe CLI, sortie 7Vérifiez les fichiers et les autorisations du paquet ; exécutez sans /silent pour voir l'échec.

Compatibilité#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_BUILD_VALIDATION_FAILEDOmsiLaunchService.ApplyTelemetry sur plugin.build.invalidLa vérification du build effectuée par le plugin dans le processus (profil Omsi23004_692EBFBF plus la sonde VMT native) a échoué alors que l'hôte avait accepté l'exécutable, par exemple un build Steam LAA de la liste autorisée dont la disposition en mémoire diffère, ou un OMSI patché.Diagnostic de session (Failed)Utilisez le build validé à l'exécution ; voir compatibilité.
OL_E_UNSUPPORTED_BUILDSessionPlanner (omsi.profile.OMSI23004 indisponible)Omsi.exe est absent, ou sa taille/son SHA-256 ne correspond ni à l'empreinte du profil ni à la liste autorisée.Diagnostic de planInstallez le build OMSI 2.3.004 pris en charge.
OL_E_UNSUPPORTED_OPERATING_SYSTEMSessionPlanner (runtime.current-windows-x64 indisponible) ; également levé par CurrentWindowsX64Platform.ValidateCurrent, que le service n'appelle pasPas Windows 10 ou ultérieur, ou le système d'exploitation ou le processus hôte n'est pas x64.Diagnostic de plan (sortie CLI 3 lorsqu'il est levé)Exécutez sur Windows 10 ou ultérieur 64 bits.
OL_E_UNSUPPORTED_OS_ARCHITECTURECurrentWindowsX64Platform.ValidateCurrent uniquementL'architecture du système d'exploitation ou de l'hôte n'est pas x64. Le service n'appelle pas ValidateCurrent ; aucun chemin de levée actuel.Levé (PlatformNotSupportedException) par cette méthode uniquementVoir la source src/OmsiLaunch.Process/RuntimePlatform.cs.

Contenu#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_ENTRYPOINT_NOT_FOUNDLaunchValidationNEW_MAP sans EntrypointIdentity et avec PresentedEntrypointIndex non défini ou négatif.Diagnostic de planDéfinissez PresentedEntrypointIndex (/entrypoint-index:<n>) ; découvrez les points d'entrée avec /list:entrypoints /map:<id>.
OL_E_ENTRYPOINT_REQUIREDSessionPlanner (world.presented-entrypoint indisponible)Carte NEW_MAP résolue, mais ni index présenté ni identité. Accompagne toujours OL_E_ENTRYPOINT_NOT_FOUND.Diagnostic de planIdem.
OL_E_HOF_NOT_FOUNDSessionPlannerPlayerVehicle.Hof n'est pas un Vehicles\...\*.hof installé.Diagnostic de planUtilisez une identité issue de /list:hofs. (Les champs du véhicule du joueur sont de toute façon non exécutables sur ce build.)
OL_E_MAP_NOT_FOUNDLaunchValidation ; SessionPlannerValidation : NEW_MAP avec MapIdentity non défini ou pas de la forme maps\<dir>\global.cfg. Planificateur : la carte n'est pas installée.Diagnostic de planUtilisez une identité issue de /list:maps.
OL_E_NOT_FOUNDCliProgram.ClassifyUne FileNotFoundException/DirectoryNotFoundException sans code s'est échappée, par exemple /list:repaints avec un /vehicle-scope inconnu, ou /list:entrypoints avec un /map inconnu.Enveloppe CLI, sortie 6Corrigez l'identité.
OL_E_REPAINT_NOT_FOUNDSessionPlannerPlayerVehicle.Repaint n'est pas un élément .cti du modèle (vérifié uniquement lorsque Model est défini).Diagnostic de planUtilisez une identité issue de /list:repaints /vehicle-scope:<bus>.
OL_E_SITUATION_MAP_NOT_FOUNDSessionPlannerLa carte référencée dans le .osn sélectionné n'est pas installée.Diagnostic de planInstallez la carte ou choisissez une autre situation.
OL_E_SITUATION_NOT_FOUNDLaunchValidation ; SessionPlannerSAVED_SITUATION sans SituationIdentity, ou le .osn n'est pas installé.Diagnostic de planUtilisez une identité issue de /list:situations.
OL_E_VEHICLE_NOT_FOUNDSessionPlannerPlayerVehicle.Model n'est pas un Vehicles\...\*.bus installé.Diagnostic de planUtilisez une identité issue de /list:vehicles.

Installation#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_INSTALLATION_BUSYInstallationLease.Acquire ; OmsiLaunchService.RecoverPendingAsync ; FileConfigurationTransaction.RestorePendingAsyncLe bail d'installation (Local\OmsiLaunch.Installation.<hash>) est détenu par un autre propriétaire dans cette session d'ouverture de session Windows, ou un processus OMSI journalisé (PID + heure de création + chemin de l'exécutable ; ou n'importe quel Omsi.exe de la racine pour un journal au-delà de HandoffCreated sans PID) est toujours actif.Démarrage : diagnostic de session via OL_E_START_SESSION. Récupération : levé (InvalidOperationException / IOException). Sortie CLI 7.Arrêtez l'autre propriétaire (session stop) ou attendez qu'OMSI se termine, puis réessayez ou lancez /recover.
OL_E_INSTALLATION_NOT_FOUNDLaunchValidationInstallation.RootPath est vide.Diagnostic de planIndiquez le répertoire d'installation.
OL_E_INSTALLATION_NOT_WRITABLESessionPlanner (transaction.exact-restore indisponible) ; également ValidateCurrentLa racine n'existe pas, possède l'attribut lecture seule ou n'a pas de répertoire plugins\.Diagnostic de planDésignez une installation OMSI réelle et accessible en écriture.
OL_E_PERMANENT_PLUGIN_HASH_MISMATCHRuntimeArtifactSet.ValidateInstalled (planification et démarrage)Un fichier plugins\OmsiLaunch.* installé diffère du hash de release-manifest.json (ou de la closure de référence en l'absence de manifeste).Diagnostic de plan (plan non exécutable, sortie CLI 1) ; diagnostic de session via OL_E_START_SESSION uniquement si les fichiers changent entre la planification et le démarrageRéinstallez le paquet OmsiLaunch afin que plugins\ et le manifeste concordent.
OL_E_PERMANENT_PLUGIN_MANIFEST_INCOMPLETERuntimeArtifactSet.ValidateInstalled (planification et démarrage)Le manifeste n'a pas d'entrée pour un fichier de plugin requis.Diagnostic de plan ; diagnostic de session via OL_E_START_SESSION dans la même situation de concurrence que ci-dessusRéinstallez le paquet.
OL_E_PERMANENT_PLUGIN_MISSINGRuntimeArtifactSet.ValidateInstalled (planification et démarrage)Un fichier plugins\OmsiLaunch.* requis est absent de l'installation OMSI, ou un fichier plugins/ listé dans release-manifest.json n'est pas installé.Diagnostic de plan ; diagnostic de session via OL_E_START_SESSION dans la même situation de concurrence que ci-dessusInstallez la closure du plugin permanent (installation).
OL_E_PLATFORM_CAPABILITY_MISSINGCurrentWindowsX64Platform.ValidateCurrent uniquementCurrentPlatformSupported est faux. Non appelé par le service ; aucun chemin de levée actuel.Levé par cette méthode uniquementVoir la source.
OL_E_RELEASE_MANIFEST_INVALIDReleaseManifest.TryReadPluginHashes / ParsePluginHashesrelease-manifest.json est vide, n'est pas du JSON, n'a pas de tableau files, ou contient une entrée sans path/sha256, un hash qui ne comporte pas 64 chiffres hexadécimaux, un chemin absolu (enraciné), contenant :, un segment vide, . ou .., ou un chemin listé deux fois (comparaison insensible à la casse, / et \ équivalents). Un BOM UTF-8 est accepté.Planification : encapsulé dans OL_E_RUNTIME_ARTIFACT_MISSING ; démarrage : via OL_E_START_SESSIONRéinstallez le paquet.

Argument invalide#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_INVALID_ARGUMENTLaunchValidation ; CliInput.Parse/ClassifyValidation : Date.Value/Time.Value défini alors que le mode n'est pas Explicit. CLI : option inconnue, valeur manquante, entier ou plage incorrects, /saved combiné avec /map//entrypoint, route de commande inconnue, toute ArgumentException/FormatException sans code.Diagnostic de plan ; enveloppe CLI, sortie 2Corrigez l'argument.
OL_E_INVALID_SETTING_VALUEConfigurationCatalog.CreatePatch (démarrage)La valeur d'un paramètre sémantique est hors plage, n'est pas booléenne, n'appartient pas à l'ensemble autorisé ou est mal formée (graphics.particles requiert quatre champs). Les valeurs ne sont pas validées au moment de la planification.Diagnostic de session via OL_E_START_SESSIONUtilisez une valeur du tableau des paramètres.
OL_E_SETTING_NOT_WRITABLESessionPlanner ; CliInput.BuildSpecAsync ; BuildTransactionalOverlaysLa clé existe mais n'est pas modifiable (advanced.multithreadingCalculate, advanced.multithreadingTextureLoad, graphics.texture, graphics.textureFilter).Diagnostic de plan ; sortie CLI 2Supprimez la clé.
OL_E_UNKNOWN_SETTINGSessionPlanner ; CliInput.BuildSpecAsync ; BuildTransactionalOverlaysLa clé ne figure pas dans ConfigurationCatalog.Diagnostic de plan ; sortie CLI 2Utilisez une clé du catalogue.

LaunchSpec#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_SPEC_INVALIDLaunchSpecJson.ParseLa racine n'est pas un objet JSON, ou la désérialisation n'a produit aucun enregistrement.Levé (InvalidDataException), sortie CLI 2Corrigez le fichier (LaunchSpec).
OL_E_SPEC_NOT_FOUNDLaunchSpecJson.LoadAsyncLe fichier /spec n'existe pas.Levé (FileNotFoundException), sortie CLI 6Vérifiez le chemin.
OL_E_SPEC_TOO_LARGELaunchSpecJson.LoadAsyncLe fichier dépasse 1 MiB.Levé (InvalidDataException), sortie CLI 2Réduisez le fichier.
OL_E_SPEC_UNKNOWN_PROPERTYLaunchSpecJson.ValidateUn membre qui n'est pas une propriété publique de l'enregistrement à cette position ; message OL_E_SPEC_UNKNOWN_PROPERTY: $.Path.Name.Levé (InvalidDataException), sortie CLI 2Supprimez ou renommez le membre.

Contrôle local#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_CONTROL_COMMAND_UNKNOWNGestionnaire du propriétaire (OwnerSession)La commande n'est pas session.status, session.events, session.stop ou runtime.execute avec un argument operation.Réponse de contrôle ; sortie CLI 7Utilisez une commande prise en charge.
OL_E_CONTROL_FAILEDClient CLI (ReportForwarded, CliEventWatch)Le propriétaire a répondu Ok = false sans code d'erreur.Enveloppe CLI, sortie 7Lisez le message ; consultez la console/les diagnostics du propriétaire.
OL_E_CONTROL_HANDLER_FAILEDLocalControlPlane.ServeAsyncLe gestionnaire du propriétaire a levé une exception dont le message ne contient aucun code OL_E_ (par exemple, la session était déjà fermée), ou la réponse du gestionnaire n'a pas pu être sérialisée.Réponse de contrôleLisez session status ; redémarrez le propriétaire s'il a disparu.
OL_E_CONTROL_MESSAGE_INVALIDLocalControlPlane (des deux côtés)Préfixe de longueur négatif ou supérieur à 64 KiB (y compris une trame de requête surdimensionnée), trame vide, JSON null, requête sans Command, ou JSON impossible à décoder.Réponse de contrôle / enveloppe CLIUtilisez le protocole documenté (plan de contrôle local).
OL_E_CONTROL_MESSAGE_TOO_LARGELocalControlPlane.TryRequestAsync (client)La requête sérialisée du client lui-même dépasse 64 KiB. Signalé à l'appelant ; rien n'est envoyé.Réponse de contrôle / enveloppe CLIRéduisez la requête.
OL_E_CONTROL_RESPONSE_TOO_LARGELocalControlPlane.ServeAsync (propriétaire)La réponse du propriétaire ne tient pas dans la trame de 64 KiB. Le propriétaire répond avec cette erreur typée au lieu d'abandonner la réponse. session.status et session.events ne l'atteignent jamais : leur historique d'événements est réduit en commençant par les plus anciens pour tenir.Réponse de contrôle / enveloppe CLIRéessayez ; pour les événements, lisez plus souvent.
OL_E_CONTROL_PROTOCOLLocalControlPlane, TryRequestBoundAsyncLe ProtocolVersion de la requête n'est pas 0.1 ; la réponse du propriétaire n'a pas pu être décodée ou était vide ; le propriétaire a fermé la connexion sans répondre ou la connexion s'est rompue après avoir été établie ; le propriétaire n'a signalé aucun SessionId.Réponse de contrôle / enveloppe CLIAlignez les versions du client et du propriétaire ; lisez session status.
OL_E_CONTROL_SESSION_MISMATCHGestionnaire du propriétairesession.stop ou runtime.execute sans session_id égal à la session active.Réponse de contrôle ; sortie CLI 7Lisez d'abord session.status et liez la requête (la CLI le fait automatiquement).

Autres#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_PLAN_NOT_RUNNABLEOmsiLaunchService.StartSessionAsyncLe plan transmis a IsRunnable = false, ou la nouvelle planification au démarrage n'est pas exécutable (Omsi.exe modifié, contenu supprimé, closure du plugin manquante) ; le message liste les codes OL_E_ actuels.Levé (InvalidOperationException) ; sortie CLI 1Planifiez de nouveau et corrigez les diagnostics listés.

Présentation#

Tous levés par SessionVisualAssets (src/OmsiLaunch.Core/SessionVisualAssets.cs). Au moment de la planification, ils sont encapsulés dans OL_E_SESSION_PRESENTATION_INVALID (le message contient le code) ; au démarrage, ils remontent via OL_E_START_SESSION.

CodeSignification / cause typiqueQue faire
OL_E_ITX_PROFILE_INVALIDLe fichier .itx est vide, comporte un nombre impair de lignes non vides, ou une ligne d'URL n'est pas une URL http/https absolue.Utilisez des paires de lignes URL/cible.
OL_E_ITX_PROFILE_MISSINGOverrideProfilePath (résolu par rapport au répertoire de travail du processus) n'existe pas. Levé sous forme de FileNotFoundException.Indiquez un chemin .itx existant.
OL_E_ITX_PROFILE_REQUIREDInternetTextures.Mode vaut Override sans OverrideProfilePath. Sortie CLI 2 lorsqu'il est levé.Fournissez /internet-textures-profile:<file.itx>.
OL_E_ITX_TARGET_OUTSIDE_TEXTURE_PATHUne ligne cible est absolue (enracinée), contient .., commence par \, se résout hors de l'installation, n'a pas de composant Texture\, ou traverse une jonction/un lien symbolique.Utilisez des cibles relatives Texture\....
OL_E_SPLASH_ASSET_DIRECTORY_MISSINGCustomAssetDirectory n'existe pas.Corrigez le répertoire.
OL_E_SPLASH_ASSET_MISSINGENG.bmp ou <LANG>.bmp manque dans le répertoire des ressources, ou un assets\splash\<LANG>.bmp du paquet manque lors de l'initialisation de .omsilaunch\assets\splash.Fournissez les BMP / réinstallez le paquet.
OL_E_SPLASH_FORMAT_UNSUPPORTEDUn BMP d'écran de démarrage n'est pas un bitmap BM 24 bits de 640×480.Convertissez l'image.

Processus#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_PROCESS_CLEANUP_FAILEDOmsiLaunchService (chemins d'échec du démarrage et d'erreur du superviseur)L'arrêt d'OMSI ou l'attente de sa fin pendant le nettoyage après erreur a levé une exception ; le message interne suit.Diagnostic de session (ajouté à une session Failed)Assurez-vous qu'aucun Omsi.exe ne subsiste, puis lancez /recover si un journal est en attente.
OL_E_PROCESS_CREATION_TIME_FAILEDCurrentWindowsX64Platform.StartAsyncGetProcessTimes a échoué juste après CreateProcessW (Win32=<code>) ; le processus est arrêté.Diagnostic de session via OL_E_START_SESSIONRéessayez ; vérifiez l'antivirus/les autorisations.
OL_E_PROCESS_EXITED_EARLYOmsiLaunchService.SuperviseAsyncOMSI s'est terminé avant gameplay.entered (plantage, fermeture d'une boîte de dialogue d'erreur d'OMSI, fermeture de la fenêtre).Diagnostic de session (Failed) ; la restauration s'exécuteConsultez les journaux propres à OMSI et logfile.txt ; examinez RuntimeEvents pour le dernier événement du plugin.
OL_E_PROCESS_START_FAILEDCurrentWindowsX64Platform.StartAsyncCreateProcessW a échoué (Win32=<code> dans le message).Diagnostic de session via OL_E_START_SESSIONRésolvez l'erreur Win32 (fichier manquant, accès refusé, stratégie).
OL_E_PROCESS_SUPERVISIONOmsiLaunchService.SuperviseAsyncLa boucle du superviseur a levé une exception (lecture de télémétrie, attente/arrêt du processus, écriture du journal) ; OMSI est arrêté et une restauration est tentée.Diagnostic de session (Failed)Lisez le message interne et le journal de l'hôte.
OL_E_PROCESS_TERMINATE_FAILEDCurrentWindowsX64Platform.TerminateTerminateProcess a échoué (Win32=<code>).Dans les messages OL_E_PROCESS_SUPERVISION / OL_E_PROCESS_CLEANUP_FAILEDArrêtez OMSI manuellement, puis lancez /recover.
OL_E_PROCESS_WAIT_FAILEDCurrentWindowsX64Platform.WaitForExitAsyncWaitForSingleObject sur le handle du processus a échoué.Dans les messages OL_E_PROCESS_SUPERVISION / OL_E_PROCESS_CLEANUP_FAILEDIdem.

Runtime#

« Détail runtime » signifie ErrorCode = OL_E_RUNTIME_OPERATION_FAILED avec le code au début de Values["detail"].

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_CAMERA_PRESET_FAMILY_UNSUPPORTEDOmsiCameraLockWritercamera.lock avec preset alors que family vaut 2 (extérieure) ou 3 (carte) ; les préréglages n'existent que pour le conducteur (0) et le passager (1).Détail runtimeOmettez preset ou utilisez la famille 0/1.
OL_E_DATE_TIME_APPLY_FAILEDLaunchValidationMode Date/Time Explicit sans valeur ou avec des composantes hors plage. Le nom est historique ; il s'agit d'une erreur de validation au moment de la planification.Diagnostic de planCorrigez la valeur (et notez que la date/l'heure explicite est non exécutable sur ce build).
OL_E_MAKEVEHICLE_BUS_NOT_FOUNDCurrentRuntimeControl.MakeBasicRoadVehicleroad-vehicles.spawn : le chemin .bus n'existe pas sous le répertoire de travail d'OMSI (vérifié avant l'appel natif afin qu'OMSI ne puisse pas lui substituer un modèle de repli).Détail runtimeUtilisez une identité issue de vehicles list//list:vehicles.
OL_E_MAKEVEHICLE_DELTA_MULTIPLEidemL'appel natif MakeVehicle a modifié la collection de véhicules routiers de plus d'un objet.Détail runtime (native_status, décomptes dans le message)Signalez le problème ; les objets créés subsistent jusqu'à la fin de la session.
OL_E_MAKEVEHICLE_DELTA_ZEROidemLa collection n'a pas changé ; OMSI a refusé le véhicule silencieusement.Détail runtimeVérifiez le fichier .bus ; essayez un autre modèle.
OL_E_MAKEVEHICLE_NATIVE_FAILEDidemTout autre statut natif non nul.Détail runtimeSignalez le problème avec les décomptes du message.
OL_E_PLACE_RANDOM_BUS_FAILEDCurrentRuntimeControl.PlaceRandomBusL'appel profilé PlaceRandomBus a renvoyé un statut d'échec.Détail runtimeRéessayez une fois le jeu stabilisé ; signalez le problème.
OL_E_RUNTIME_ARGUMENT_REQUIREDPublicCapabilityRegistry.ValidateRuntimeArguments ; vérifications côté plugin (time.set sans hour/minute/second ; camera.set sans family/field_of_view ; camera.lock sans family analysable ; opérations sur les véhicules/courbes)Un argument requis est manquant ou vide.Résultat runtime (registre ; sortie CLI 2) ou détail runtime (plugin)Fournissez l'argument (contrôle runtime).
OL_E_RUNTIME_ARTIFACT_MISSINGOmsiLaunchService.PlanSessionAsyncLe répertoire/fichier de référence de la closure du plugin ou le pont natif indiqués dans OmsiLaunchRuntimePaths ne peuvent pas être chargés (peut encapsuler OL_E_RELEASE_MANIFEST_INVALID).Diagnostic de planExécutez depuis un paquet intact.
OL_E_RUNTIME_BASELINE_UNAVAILABLERuntimeBatch (/runtime-write-batch, harnais INTERNAL)La lecture de référence time.read/camera.read a échoué, le test d'écriture a donc été ignoré.Artefact de lot uniquementNon destiné aux utilisateurs.
OL_E_RUNTIME_BUS_IDENTITY_INVALIDCurrentRuntimeControl.ValidateBasicBusIdentitymodel est vide, dépasse 240 caractères, contient NUL ou .., ne commence pas par Vehicles\ ou ne se termine pas par .bus.Détail runtimePassez Vehicles\<dir>\<file>.bus.
OL_E_RUNTIME_CHANNEL_BUSYaucun (conservé pour compatibilité)N'est plus émis. Les builds antérieurs le levaient lorsqu'une requête annulée restait dans le slot ; chaque chemin terminal d'une requête réinitialise désormais le slot, et une requête ou une réponse résiduelle trouvée au début d'une nouvelle requête est effacée.——
OL_E_RUNTIME_CHANNEL_CLOSEDOmsiLaunchService.LiveSession.RequestRuntimeAsyncLa boîte aux lettres a été libérée parce que la session se termine.Levé (InvalidOperationException)Aucune action ; la session est terminée.
OL_E_RUNTIME_CHANNEL_STATE_INVALIDCurrentRuntimeCommandStore.RequestAsyncLe slot de la boîte aux lettres contenait une valeur d'état qui n'est ni inactive, ni demandée, ni répondue (corruption). Le slot est réinitialisé et l'erreur est levée ; la requête suivante fonctionne normalement.Levé (InvalidDataException)Réessayez ; signalez le problème s'il persiste.
OL_E_RUNTIME_CONSTANTS_UNAVAILABLEOmsiRuntimeReadersLe pointeur du bloc de constantes du véhicule est nul.Détail runtimeLe véhicule n'a pas de constantes ; aucune action.
OL_E_RUNTIME_CONSTANT_NOT_FOUNDOmsiRuntimeReadersname ne figure pas dans la table des constantes du véhicule.Détail runtimeListez d'abord les constantes.
OL_E_RUNTIME_CREATED_OBJECT_INVALIDOmsiRuntimeReaders.RegisterRoadVehicleHandleAsyncL'objet créé par l'apparition a une VMT hors de la plage de l'image OMSI.Détail runtimeSignalez le problème.
OL_E_RUNTIME_CREATED_OBJECT_NOT_IN_COLLECTIONidemL'objet créé ne figure pas dans la collection de véhicules routiers.Détail runtimeSignalez le problème.
OL_E_RUNTIME_CURVE_DEGENERATEOmsiRuntimeReaders.EvaluateRoadVehicleCurveAsyncDeux points consécutifs de la courbe ont le même X.Détail runtimeProblème de contenu dans la courbe du véhicule.
OL_E_RUNTIME_CURVE_EMPTYidemLa courbe n'a aucun point.Détail runtimeIdem.
OL_E_RUNTIME_CURVE_INVALIDidemAucun segment de la courbe ne contient x.Détail runtimeÉvaluez à l'intérieur du domaine de la courbe.
OL_E_RUNTIME_CURVE_NOT_FOUNDidemname est inconnu ou son pointeur de fonction est nul.Détail runtimeListez d'abord les courbes.
OL_E_RUNTIME_HOF_UNAVAILABLEOmsiRuntimeReaders.ReadRoadVehicleHofsAsyncLe pointeur de définition du véhicule est nul.Détail runtimeLe handle désigne un véhicule sans données de définition.
OL_E_RUNTIME_INSTALLATION_INCOMPLETECliProgram.RunAsync (mode propriétaire)plugins\OmsiLaunch.Plugin.opl ou plugins\OmsiLaunch.Native.x86.dll manque à côté de l'exécutable.Enveloppe CLI, sortie 7Réinstallez le paquet.
OL_E_RUNTIME_OBJECT_HANDLE_REQUIREDCurrentRuntimeControlhandle manquant ou vide pour road-vehicle.read, human.read, vehicle.variables.list, vehicle.string-variables.list, vehicle.constants.list, vehicle.curves.list (le registre les rejette normalement d'abord avec OL_E_RUNTIME_ARGUMENT_REQUIRED).Détail runtimeFournissez le handle.
OL_E_RUNTIME_OBJECT_HANDLE_STALEOmsiRuntimeReadersLe handle est inconnu, l'objet a quitté la collection, la génération d'adresse a avancé, ou l'empreinte de l'objet (VMT + identité de définition/modèle) a changé parce que l'adresse a été réutilisée. Angle mort résiduel : même classe et même modèle recréés à la même adresse entre deux lectures de liste.Détail runtimeExécutez de nouveau road-vehicles.list/humans.list et utilisez le nouveau handle.
OL_E_RUNTIME_OPERATION_FAILEDCurrentRuntimeControl.Execute ; CurrentRuntimeCommandMailbox.TryDispatch ; repli D3DRuntimeApiEnveloppe générique d'échec côté plugin ; Values["detail"] contient le message (souvent un code plus spécifique) et Values["exception"] le type d'exception. Une exception qui s'échappe d'une opération dans le répartiteur de la boîte aux lettres reçoit également une réponse avec ce code (sans valeurs) au lieu de laisser la requête sans réponse.Résultat runtimeLisez detail.
OL_E_RUNTIME_OPERATION_UNAVAILABLECurrentRuntimeControl.ExecuteLe plugin n'a pas d'implémentation pour une opération que le registre a autorisée (divergence de version entre registre et plugin).Détail runtimeRéinstallez un paquet cohérent.
OL_E_RUNTIME_OPERATION_UNKNOWNPublicCapabilityRegistry.ValidateRuntimeArgumentsL'opération ne figure pas dans PublicRuntimeOperationIds, ce qui inclut toutes les opérations internal.*. Vérifié avant la recherche de la session.Résultat runtime ; réponse de contrôle ; sortie CLI 2Utilisez un identifiant d'opération public.
OL_E_RUNTIME_PLAYER_VEHICLE_UNAVAILABLEOmsiCameraLockWritercamera.lock avec preset alors qu'il n'y a pas de véhicule du joueur (les sessions headless n'en ont pas). Également signalé comme code de l'événement camera.lock.degraded lorsque la réapplication échoue.Détail runtime / événement runtimeVerrouillez sans préréglage, ou utilisez une session avec un véhicule du joueur.
OL_E_RUNTIME_PROTOCOL_MISMATCHD3DRuntimeApiUn résultat D3D réussi ne contenait aucune valeur, ou une chaîne d'état de périphérique inconnue.Levé (OmsiRuntimeException)Alignez les versions de l'hôte et du plugin.
OL_E_RUNTIME_REQUEST_ID_REUSEDCurrentRuntimeCommandStore.RequestAsyncLe slot contient une réponse obsolète portant le même identifiant de requête que la nouvelle requête. La réponse obsolète est effacée avant que l'erreur soit levée.Levé (InvalidOperationException)Utilisez des identifiants de requête strictement croissants.
OL_E_RUNTIME_REQUEST_TIMEOUTCurrentRuntimeCommandStore.RequestAsyncAucune réponse dans le délai timeout ; le slot est réinitialisé et une réponse tardive est ignorée.Levé (TimeoutException) ; sortie CLI 5Réessayez avec un timeout plus long ; vérifiez qu'OMSI n'est pas bloqué (boîte de dialogue modale, chargement).
OL_E_RUNTIME_RESPONSE_INVALIDCurrentRuntimeCommandStoreL'enveloppe de la réponse est corrompue, a une longueur incorrecte (négative, nulle ou supérieure au slot), un identifiant de session étranger ou un identifiant de requête différent. Le slot est réinitialisé avant que l'erreur soit levée, de sorte que la requête suivante fonctionne normalement.Levé (InvalidDataException)Réessayez ; signalez le problème s'il persiste.
OL_E_RUNTIME_RESPONSE_TOO_LARGECurrentRuntimeCommandMailbox.TryDispatchLe résultat sérialisé dépasse la boîte aux lettres de 64 KiB. Les résultats de liste bornée (ceux qui comportent returned_count et truncated) sont au contraire raccourcis pour tenir (audit de documentation BUG-05) ; en pratique, le code reste atteignable pour timetable.logs.read, qui n'est pas borné.Résultat runtimeUtilisez une opération plus ciblée (par exemple road-vehicles.read au lieu de road-vehicles.list sur des collections très volumineuses).
OL_E_RUNTIME_SCRIPT_OBJECT_UNAVAILABLEOmsiRuntimeReadersLe pointeur de définition ou d'état du script du véhicule est nul.Détail runtimeLe véhicule n'a pas d'objets de script.
OL_E_RUNTIME_SESSION_MISMATCHOmsiLaunchService.ExecuteRuntimeAsync ; CurrentRuntimeCommandStore ; boîte aux lettres du pluginRuntimeCommand.SessionId diffère de l'identifiant de session du handle (levé par l'hôte), ou une requête a atteint un plugin lié à une autre session (renvoyé par le plugin sous forme de résultat typé).Levé (InvalidOperationException) / résultat runtimeConstruisez la commande avec session.SessionId.
OL_E_RUNTIME_SETTING_NOT_PERSISTENTCurrentRuntimeControl.SetWeatherweather.set est toujours rejeté : OMSI écrase les champs météo profilés à son prochain cycle météo, une écriture ne peut donc pas être signalée comme un changement sémantique.Résultat runtimeAucune action ; weather.set est UNAVAILABLE.
OL_E_RUNTIME_SETTING_UNAVAILABLEOmsiWeatherWriterNom de champ météo inconnu. Actuellement inatteignable, car weather.set est rejeté plus tôt.Détail runtime (défini)Voir la source src/OmsiLaunch.Interop/OmsiWeatherWriter.cs.
OL_E_RUNTIME_STRING_VARIABLE_NOT_FOUNDOmsiRuntimeReadersname ne figure pas dans la table des variables de chaîne.Détail runtimeListez d'abord les variables de chaîne.
OL_E_RUNTIME_VALUE_INVALIDOmsiWeatherWriter.ParseBooleanUn booléen météo n'est pas true/false/1/0. Actuellement inatteignable (voir ci-dessus).Détail runtime (défini)Voir la source.
OL_E_RUNTIME_VALUE_OUT_OF_RANGECurrentRuntimeControl, OmsiCameraWriter, OmsiCameraLockWriter, OmsiRuntimeReaders, OmsiWeatherWritertime.set : hour 0..23, minute 0..59, second 0..59.999 ; camera.set : family 0..3, field_of_view 10..170 ; camera.lock : preset n'est pas un entier, family 0..3, preset 0..255 ; road-vehicles.place-random : ai_type 0..255, group/type/tour/line 0..65535 (type peut valoir -1), scheduled 0..1 ; vehicle.variable.set : value non fini ; vehicle.curve.evaluate : x non fini.Détail runtimeUtilisez une valeur dans la plage.
OL_E_RUNTIME_VARIABLE_NOT_FOUNDOmsiRuntimeReadersname ne figure pas dans la table des variables numériques.Détail runtimeListez d'abord les variables.
OL_E_RUNTIME_VARIABLE_UNAVAILABLEOmsiRuntimeReadersL'adresse du slot de la variable ou de sa valeur est nulle.Détail runtimeLa variable n'est pas matérialisée pour ce véhicule.
OL_E_TIME_APPLY_FAILEDCurrentRuntimeControl.SetTimeLes scalaires de l'horloge ont été écrits, mais l'appel natif profilé SetTime a renvoyé un échec.Détail runtimeRéessayez ; relisez avec time.read.

Runtime D3D#

Tous levés par CurrentRuntimeControl (correspondance ThrowD3D du statut natif ; detail contient l'opération et le HRESULT, native_status le statut numérique). Canal : résultat runtime avec le code dans ErrorCode ; D3DRuntimeApi le relève sous forme de OmsiRuntimeException.

CodeStatut natif / causeQue faire
OL_E_D3D_DEVICE_LOST8 : le périphérique Direct3D est perdu.Attendez d3d.restored ; recréez les textures (la génération a changé).
OL_E_D3D_INVALID_ARGUMENT14 : width, height, level, x, y, format ou handle manquant ou invalide (plages : width/height 1..4096, levels 0..16, level 0..15, x/y 0..4095).Corrigez les arguments.
OL_E_D3D_INVALID_PIXEL_BUFFERpixels_base64 n'est pas du Base64 valide ou dépasse 48 KiB.Envoyez des rectangles plus petits.
OL_E_D3D_INVALID_TEXTURE_FORMAT6, ou un nom de format inconnu (valides : A8R8G8B8, X8R8G8B8, R5G6B5, X1R5G5B5, A1R5G5B5, A4R4G4B4, A8, L8, A8L8).Utilisez un format listé.
OL_E_D3D_NATIVE_CALL_FAILEDTout autre statut ; le HRESULT figure dans detail.Signalez le problème avec le HRESULT.
OL_E_D3D_NOT_READY7 : le périphérique n'est pas prêt (avant la première image ou pendant l'arrêt).Réessayez après d3d.ready.
OL_E_D3D_RESET_IN_PROGRESS9 : une réinitialisation du périphérique est en cours.Réessayez après d3d.restored.
OL_E_D3D_RESOURCE_RELEASED13 : le handle de texture a déjà été libéré.Ne réutilisez pas les handles libérés.
OL_E_D3D_STALE_RESOURCE_HANDLE12 : le handle appartient à une génération précédente du périphérique ; ou la chaîne du handle n'est pas d3dtex-<session>-<hex> / vaut zéro.Recréez la texture.

Session#

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_CAPABILITY_UNAVAILABLESessionPlanner ; ApplyTelemetry sur plugin.request.unsupportedPlan : LastMapState, EntrypointIdentity, mode date/heure/année, mode météo, champs du véhicule du joueur ou documents d'entrée demandés (Requested capability unavailable: <name>). Télémétrie : le plugin a rejeté le handoff (impossible pour un plan exécutable).Diagnostic de plan ; diagnostic de sessionSupprimez la demande non prise en charge (limitations connues).
OL_E_HEADLESS_ARM_FAILEDApplyTelemetry sur headless.arm.failedLe plugin n'a pas pu armer dans OMSI le hook de démarrage headless à usage unique.Diagnostic de session (Failed)Vérifiez le build ; signalez le problème.
OL_E_NO_ACTIVE_SESSIONClient CLI (ReportForwarded, CliEventWatch)Aucun propriétaire ne répond sur le pipe de contrôle de l'installation (pas de session, ou le propriétaire est encore en cours de démarrage/validation).Enveloppe CLI, sortie 4Démarrez une session, ou attendez qu'elle soit Running.
OL_E_PLUGIN_NOT_LOADEDSuperviseAsyncStartupTimeoutSeconds s'est écoulé avant plugin.started (OMSI n'a pas chargé plugins\OmsiLaunch.Plugin.opl, ou est bloqué avant l'initialisation du plugin).Diagnostic de session (Failed)Vérifiez la closure du plugin, plugins\OmsiLaunch.Plugin.opl et le logfile.txt d'OMSI.
OL_E_PLUGIN_PROTOCOL_MISMATCHApplyTelemetry sur plugin.handoff.invalid ou JSON de télémétrie non analysableLe plugin n'a pas pu lire/vérifier le handoff de démarrage (version 3/4, SHA-256), ou a envoyé une télémétrie invalide.Diagnostic de session (Failed)Alignez les versions de l'hôte et du plugin (réinstallez le paquet).
OL_E_SESSION_ALREADY_ACTIVECliProgram.RunAsyncUn propriétaire répond déjà à session.status pour cette installation.Enveloppe CLI, sortie 7Utilisez les commandes client (session status, session stop, commandes runtime).
OL_E_SESSION_NOT_RUNNINGOmsiLaunchService.ExecuteRuntimeAsyncL'état de la session n'est pas Running.Levé (InvalidOperationException)Appelez d'abord WaitForAsync(session, SessionState.Running, ...).
OL_E_SESSION_PRESENTATION_INVALIDSessionPlannerLe plan d'écran de démarrage/ITX n'a pas pu être construit ; le message contient le code de présentation.Diagnostic de planVoir Présentation.
OL_E_SESSION_START_FAILEDWindowsHost.ShowFailure (boîte de dialogue d'OmsiLaunchW)Code de repli affiché lorsqu'un plan de lancement n'est pas exécutable ou que la session n'a pas atteint le jeu, et qu'aucun diagnostic OL_E_ n'existe.Boîte de message uniquementLisez .omsilaunch\diagnostics.
OL_E_SITUATION_LOAD_FAILEDApplyTelemetry sur world.situation.failedLe démarrage natif de la situation enregistrée a renvoyé un échec (native_status dans l'événement).Diagnostic de session (Failed)Vérifiez le .osn et sa carte.
OL_E_STARTUP_TIMEOUTSuperviseAsyncLe plugin a démarré, mais Running n'a pas été atteint dans le délai StartupTimeoutSeconds.Diagnostic de session (Failed)Augmentez /startup-timeout pour les grandes cartes ; consultez RuntimeEvents pour le dernier événement du monde.
OL_E_START_SESSIONOmsiLaunchService.StartAsyncToute exception dans le chemin de démarrage ; le message est le message interne (commençant généralement par le code interne).Diagnostic de session (Failed)Agissez selon le code interne.
OL_E_WORLD_START_FAILEDApplyTelemetry sur world.failedLe démarrage natif NEW_MAP a renvoyé un échec (native_status dans l'événement).Diagnostic de session (Failed)Vérifiez la carte, l'index du point d'entrée et les journaux d'OMSI.

Profil de session#

Tous levés par SessionProfileCompiler (src/OmsiLaunch.Core/SessionProfiles.cs) ou CliInput, sous forme de SessionProfileException (une IOException avec Code), sortie CLI 2. Voir profils de session.

CodeSignification / cause typiqueQue faire
OL_E_SESSION_PROFILE_ASSET_MISSINGLe répertoire assets de l'écran de démarrage du préréglage ou le fichier profile des textures Internet n'existe pas dans le paquet.Ajoutez la ressource.
OL_E_SESSION_PROFILE_INVALIDViolation de structure ou de limite : plus de 256 KiB, pas exactement un mapping racine, ancres YAML, clé inconnue, clé obligatoire manquante, valeur non scalaire là où un scalaire est requis, id différent du nom du répertoire, préréglages hors de 1..5 ou index en double, timeouts non positifs, mode météo/écran de démarrage/textures Internet non pris en charge, date/heure autre que explicit, YAML invalide, erreurs d'analyse de nombre/date.Corrigez le YAML selon le message.
OL_E_SESSION_PROFILE_MAP_MISMATCHcompatibility.maps n'est pas vide et ne contient pas la carte sélectionnée (NEW_MAP) ou la carte de la situation sélectionnée (SAVED_SITUATION).Choisissez un monde compatible.
OL_E_SESSION_PROFILE_NOT_FOUND<root>\.omsilaunch\session-profiles\<id>\profile.yaml n'existe pas.Vérifiez l'identifiant.
OL_E_SESSION_PROFILE_OVERRIDE_CONFLICTUn argument CLI explicite cible un champ détenu par le profil/préréglage sélectionné.Retirez l'option ou choisissez un autre préréglage.
OL_E_SESSION_PROFILE_PATH_ESCAPEL'identifiant contient \, /, : ou .. ; ou un chemin de ressource est absolu (enraciné), sort du paquet ou traverse une jonction/un lien symbolique.Gardez les chemins à l'intérieur du paquet.
OL_E_SESSION_PROFILE_PRESET_NOT_FOUND/predefined-profile-index manquant, hors de 1..5, ou non déclaré par le profil.Utilisez un index de préréglage déclaré.
OL_E_SESSION_PROFILE_SCHEMA_UNSUPPORTEDschema n'est pas omsilaunch.session-profile/v1.Utilisez le schéma pris en charge.
OL_E_SESSION_PROFILE_SETTING_NOT_WRITABLEUne clé de paramètre d'un préréglage est connue mais n'est pas modifiable.Supprimez la clé.
OL_E_SESSION_PROFILE_SETTING_UNKNOWNUne clé de paramètre d'un préréglage ne figure pas dans le catalogue.Utilisez une clé du catalogue.

Transaction#

Voir transactions et récupération.

CodeLevé parSignification / cause typiqueCanalQue faire
OL_E_CLOSECHECK_REMOVE_FAILEDOmsiLaunchService.RemoveStaleClosecheckUn closecheck obsolète existe toujours après File.Delete.Diagnostic de session via OL_E_START_SESSIONSupprimez <root>\closecheck manuellement (autorisations).
OL_E_RECOVERY_ABSENT_OWNERSHIP_MISMATCHFileConfigurationTransaction.RestoreAsyncUn chemin qui n'existait pas avant la session contient maintenant un contenu différent de celui appliqué par la session ; il n'est pas supprimé et le journal est conservé.Levé (IOException) ; dans OL_E_RESTORE_FAILED / OL_E_START_SESSION ; sortie CLI 8Examinez le fichier ; supprimez-le ou déplacez-le, puis lancez /recover.
OL_E_RECOVERY_ABSENT_OWNERSHIP_UNVERIFIEDRestoreAsync (journal antérieur aux empreintes)Le journal n'a pas d'empreinte du contenu appliqué pour un chemin initialement absent qui n'est pas une suppression, la propriété ne peut donc pas être prouvée. Au démarrage d'une session, la récupération est différée et retentée avec les octets planifiés de cette session ; via RecoverPendingAsync, l'erreur est levée.Levé (IOException) ; sortie CLI 8Démarrez une session avec la même spec (qui fournit les octets), ou examinez et supprimez le fichier, puis lancez /recover.
OL_E_RECOVERY_BACKUP_CORRUPTRestoreAsyncLe SHA-256 d'une sauvegarde ne correspond pas à l'instantané enregistré dans le journal ; rien n'est écrit.Levé ; dans OL_E_RESTORE_FAILED ; sortie CLI 8Restaurez le fichier à partir de votre propre sauvegarde ; ne supprimez ensuite le journal que si vous en êtes certain.
OL_E_RECOVERY_JOURNAL_MISSINGRestoreAsyncDes instantanés existent en mémoire, mais journal.json a disparu (supprimé pendant la session).Levé ; dans OL_E_RESTORE_FAILEDVérifiez manuellement les fichiers de la session.
OL_E_RECOVERY_JOURNAL_REMOVE_FAILEDFileConfigurationTransaction.RemoveJournaljournal.json existe toujours après la suppression (la restauration elle-même a réussi et a été vérifiée).Levé ; dans OL_E_RESTORE_FAILED ; sortie CLI 8Supprimez <root>\.omsilaunch\journal.json (autorisations) ou relancez /recover (idempotent).
OL_E_RESTORE_DEFERREDOmsiLaunchService (échec du démarrage / superviseur)La fin d'OMSI n'a pas pu être confirmée ; les fichiers n'ont donc pas été remplacés tant qu'il pouvait encore les utiliser ; le journal est conservé.Diagnostic de session (Failed)Une fois Omsi.exe terminé, lancez /recover (ou le démarrage suivant effectue la récupération automatiquement).
OL_E_RESTORE_FAILEDOmsiLaunchService (échec du démarrage / superviseur)RestoreAsync a levé une exception ; le message contient le code interne ; le journal est conservé.Diagnostic de session (Failed) ; sortie CLI 8 lorsqu'il est levé depuis /recoverAgissez selon le code interne, puis lancez /recover.

Avertissement#

CodeLevé parSignificationCanalQue faire
OL_W_RESTORE_FOREIGN_FILE_RETAINEDFileConfigurationTransaction.RestoreAsyncUn chemin de suppression de session (cible ITX, Texture\standard.ipr, closecheck) n'existait pas avant la session et existe maintenant, mais aucun processus OMSI n'a jamais démarré sous ce journal, de sorte que le fichier ne peut pas être un sous-produit de la session. Il est conservé et signalé (message = chemin relatif, Data["sha256"]) ; la transaction se termine malgré tout.Diagnostic de session / RecoveryStatus.Diagnostics (état non affecté)Examinez le fichier ; supprimez-le vous-même s'il n'est pas souhaité.

Codes de diagnostic hors erreur#

CodeÉmis parMessage / donnéesSignification
process.startedOmsiLaunchService.LiveSession.Attachmessage = PID ; Data["thread_id"], Data["creation_utc"] (ISO 8601)Omsi.exe a été créé et son identité enregistrée. Diagnostic de session.
closecheck.stale-removedOmsiLaunchService.RemoveStaleClosecheckmessage = SHA-256 du fichier suppriméUn closecheck qui existait avant la session a été définitivement supprimé (SuppressStaleClosecheckWarning = true). Diagnostic de session.
restore.session-artifact-removedFileConfigurationTransaction.RestoreAsyncmessage = chemin relatif ; Data["sha256"]Un chemin de suppression de session a été recréé par OMSI pendant une session dont le processus avait démarré ; il a été supprimé pour rétablir l'absence d'origine. Diagnostic de session / RecoveryStatus.Diagnostics.
plugin.integrity.referenceOmsiLaunchService.PlanSessionAsyncmessage = manifest ou selfRéférence utilisée par la validation du plugin permanent. Diagnostic de plan.
session_profile.selectedSessionPlannermessage = identifiant du profil ; Data["session_profile.id|name|version|author|preset_id|preset_index|preset_name|path"]Provenance d'une session compilée à partir d'un profil de session. Diagnostic de plan.

Les noms d'événements runtime (RuntimeEvent.Type, qui ne sont pas des diagnostics) sont listés dans le cycle de vie de la session.