Códigos de erro e de diagnóstico

Documentação da versão v0.1.0-beta.3Ver fonte no GitHub

Tradução da página original em inglês do OmsiLaunch 0.1.0-beta3. A página em inglês é a referência normativa: se as duas divergirem, valem a página em inglês e o código.

Esta página é a referência normativa para todos os códigos em PublicErrorCodes (src/OmsiLaunch.Api/PublicErrorCodes.cs): 142 códigos de erro OL_E_ e um aviso OL_W_, agrupados por categoria do catálogo, além dos códigos de diagnóstico informativos que não são erros. Para cada código, ela indica onde o código atual o gera, o que ele significa, como ele chega até você (exceção lançada, campo de resultado, diagnóstico, resposta do plano de controle ou envelope da CLI) e o que fazer. Os significados foram extraídos dos pontos onde os códigos são gerados; quando um código está definido mas não tem caminho de geração atual, a página informa isso.

Páginas relacionadas: API pública, códigos de saída, LaunchSpec, ciclo de vida da sessão, transações e recuperação, plano de controle local, controle de runtime, perfis de sessão, plugin permanente.

Como os códigos chegam até você#

SuperfícieSignificado
LançadoUma exceção cujo Message começa com o código (InvalidOperationException, IOException, TimeoutException, InvalidDataException, FileNotFoundException, ArgumentException, SessionProfileException). A CLI extrai o código da mensagem e o mapeia para um código de saída (CliProgram.Classify).
Diagnóstico do planoUm LaunchDiagnostic em SessionPlan.Diagnostics; qualquer código OL_E_ torna IsRunnable falso (CLI: plano NOT RUNNABLE, código de saída 1).
Diagnóstico da sessãoUm LaunchDiagnostic em SessionStatus.Diagnostics; o estado da sessão é Failed (CLI: código de saída 1). OL_E_START_SESSION, OL_E_PROCESS_SUPERVISION e OL_E_RESTORE_FAILED envolvem um código interno em sua mensagem.
Resultado de runtimeRuntimeCommandResult.ErrorCode com Succeeded = false.
Detalhe de runtimeRuntimeCommandResult.ErrorCode = OL_E_RUNTIME_OPERATION_FAILED e o código específico como primeiro token de Values["detail"] (com Values["exception"]). É assim que todo código de InvalidOperationException/ArgumentException do lado do plugin é exposto.
Resposta de controleErrorCode de uma resposta do plano de controle local (LocalControlResponse).
Envelope da CLIerror.code no envelope --json, ou <code>: <message> no console; o código de saída é informado.
TelemetriaUm nome de evento de runtime que o host mapeia para um diagnóstico da sessão.

Cli#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_CANCELLEDCliProgram.ClassifyUma OperationCanceledException escapou (Ctrl+C ou uma espera de cliente cancelada).Envelope da CLI, código de saída 7Repita o comando.
OL_E_INTERNALCliProgram.ClassifyUma exceção sem código OL_E_ escapou: JSON de /spec malformado, um membro obrigatório da especificação nulo, uma falha inesperada.Envelope da CLI, código de saída 10Leia a mensagem e <root>\.omsilaunch\diagnostics\<sessionId>-host.log; corrija a entrada; relate o problema se não houver explicação.
OL_E_TIMEOUTCliProgram.Classify; LocalControlPlane.TryRequestAsyncUma TimeoutException sem código escapou; ou o cliente de controle local se conectou a um proprietário que não respondeu dentro do timeout (o proprietário existe, portanto isso não é relatado como OL_E_NO_ACTIVE_SESSION). (Timeouts do mailbox trazem OL_E_RUNTIME_REQUEST_TIMEOUT em vez disso.)Envelope da CLI, resposta de controle; código de saída 5 a partir de Classify, código de saída 7 para uma resposta de controleTente novamente; verifique se o OMSI e o proprietário estão respondendo.
OL_E_WINDOWS_HOST_MISSINGCliProgram.RunAsync (/silent)OmsiLaunchW.exe não está ao lado de OmsiLaunch.exe.Envelope da CLI, código de saída 7Reinstale o pacote.
OL_E_WINDOWS_HOST_START_FAILEDCliProgram.RunAsync (/silent)Process.Start de OmsiLaunchW.exe não retornou nenhum processo.Envelope da CLI, código de saída 7Verifique os arquivos do pacote e as permissões; execute sem /silent para ver a falha.

Compatibilidade#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_BUILD_VALIDATION_FAILEDOmsiLaunchService.ApplyTelemetry em plugin.build.invalidA verificação de build dentro do processo feita pelo plugin (perfil Omsi23004_692EBFBF mais a sonda nativa de VMT) falhou embora o host tenha aceitado o executável, por exemplo um build Steam LAA da lista de permissões cujo layout em memória difere, ou um OMSI modificado.Diagnóstico da sessão (Failed)Use o build validado em runtime; consulte compatibilidade.
OL_E_UNSUPPORTED_BUILDSessionPlanner (omsi.profile.OMSI23004 indisponível)Omsi.exe está ausente, ou seu tamanho/SHA-256 não corresponde nem à impressão digital do perfil nem à lista de permissões.Diagnóstico do planoInstale o build suportado do OMSI 2.3.004.
OL_E_UNSUPPORTED_OPERATING_SYSTEMSessionPlanner (runtime.current-windows-x64 indisponível); também lançado por CurrentWindowsX64Platform.ValidateCurrent, que o serviço não chamaNão é Windows 10 ou posterior, ou o sistema operacional ou o processo host não é x64.Diagnóstico do plano (código de saída 3 da CLI quando lançado)Execute em Windows 10 ou posterior de 64 bits.
OL_E_UNSUPPORTED_OS_ARCHITECTURESomente CurrentWindowsX64Platform.ValidateCurrentA arquitetura do sistema operacional ou do host não é x64. O serviço não chama ValidateCurrent; não há caminho de geração atual.Lançado (PlatformNotSupportedException) somente por esse métodoConsulte o código-fonte src/OmsiLaunch.Process/RuntimePlatform.cs.

Conteúdo#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_ENTRYPOINT_NOT_FOUNDLaunchValidationNEW_MAP sem EntrypointIdentity e com PresentedEntrypointIndex não definido ou negativo.Diagnóstico do planoDefina PresentedEntrypointIndex (/entrypoint-index:<n>); descubra os pontos de entrada com /list:entrypoints /map:<id>.
OL_E_ENTRYPOINT_REQUIREDSessionPlanner (world.presented-entrypoint indisponível)O mapa do NEW_MAP foi resolvido, mas não há índice apresentado nem identidade. Sempre acompanha OL_E_ENTRYPOINT_NOT_FOUND.Diagnóstico do planoO mesmo.
OL_E_HOF_NOT_FOUNDSessionPlannerPlayerVehicle.Hof não é um Vehicles\...\*.hof instalado.Diagnóstico do planoUse uma identidade de /list:hofs. (De qualquer forma, os campos do veículo do jogador não são aptos para execução neste build.)
OL_E_MAP_NOT_FOUNDLaunchValidation; SessionPlannerValidação: NEW_MAP com MapIdentity não definido ou fora do formato maps\<dir>\global.cfg. Planejador: o mapa não está instalado.Diagnóstico do planoUse uma identidade de /list:maps.
OL_E_NOT_FOUNDCliProgram.ClassifyUma FileNotFoundException/DirectoryNotFoundException sem código escapou, por exemplo /list:repaints com um /vehicle-scope desconhecido, ou /list:entrypoints com um /map desconhecido.Envelope da CLI, código de saída 6Corrija a identidade.
OL_E_REPAINT_NOT_FOUNDSessionPlannerPlayerVehicle.Repaint não é um item .cti do modelo (verificado somente quando Model está definido).Diagnóstico do planoUse uma identidade de /list:repaints /vehicle-scope:<bus>.
OL_E_SITUATION_MAP_NOT_FOUNDSessionPlannerO mapa referenciado dentro do .osn selecionado não está instalado.Diagnóstico do planoInstale o mapa ou escolha outra situação.
OL_E_SITUATION_NOT_FOUNDLaunchValidation; SessionPlannerSAVED_SITUATION sem SituationIdentity, ou o .osn não está instalado.Diagnóstico do planoUse uma identidade de /list:situations.
OL_E_VEHICLE_NOT_FOUNDSessionPlannerPlayerVehicle.Model não é um Vehicles\...\*.bus instalado.Diagnóstico do planoUse uma identidade de /list:vehicles.

Instalação#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_INSTALLATION_BUSYInstallationLease.Acquire; OmsiLaunchService.RecoverPendingAsync; FileConfigurationTransaction.RestorePendingAsyncO lease da instalação (Local\OmsiLaunch.Installation.<hash>) está em poder de outro proprietário nesta sessão de logon, ou um processo do OMSI registrado no journal (PID + horário de criação + caminho do executável; ou qualquer Omsi.exe da raiz, para um journal além de HandoffCreated sem PID) ainda está ativo.Início: diagnóstico da sessão via OL_E_START_SESSION. Recuperação: lançado (InvalidOperationException / IOException). Código de saída 7 da CLI.Pare o outro proprietário (session stop) ou espere o OMSI terminar, depois tente novamente ou use /recover.
OL_E_INSTALLATION_NOT_FOUNDLaunchValidationInstallation.RootPath está vazio.Diagnóstico do planoInforme o diretório da instalação.
OL_E_INSTALLATION_NOT_WRITABLESessionPlanner (transaction.exact-restore indisponível); também ValidateCurrentA raiz não existe, tem o atributo somente leitura ou não tem o diretório plugins\.Diagnóstico do planoAponte para uma instalação real e gravável do OMSI.
OL_E_PERMANENT_PLUGIN_HASH_MISMATCHRuntimeArtifactSet.ValidateInstalled (plano e início)Um arquivo plugins\OmsiLaunch.* instalado difere do hash em release-manifest.json (ou da closure de referência, quando não há manifesto).Diagnóstico do plano (plano não apto para execução, código de saída 1 da CLI); diagnóstico da sessão via OL_E_START_SESSION somente se os arquivos mudarem entre o planejamento e o inícioReinstale o pacote do OmsiLaunch para que plugins\ e o manifesto estejam de acordo.
OL_E_PERMANENT_PLUGIN_MANIFEST_INCOMPLETERuntimeArtifactSet.ValidateInstalled (plano e início)O manifesto não tem entrada para um arquivo obrigatório do plugin.Diagnóstico do plano; diagnóstico da sessão via OL_E_START_SESSION na mesma condição de corrida descrita acimaReinstale o pacote.
OL_E_PERMANENT_PLUGIN_MISSINGRuntimeArtifactSet.ValidateInstalled (plano e início)Um arquivo obrigatório plugins\OmsiLaunch.* está ausente da instalação do OMSI, ou um arquivo plugins/ listado em release-manifest.json não está instalado.Diagnóstico do plano; diagnóstico da sessão via OL_E_START_SESSION na mesma condição de corrida descrita acimaInstale o conjunto de arquivos do plugin permanente (instalação).
OL_E_PLATFORM_CAPABILITY_MISSINGSomente CurrentWindowsX64Platform.ValidateCurrentCurrentPlatformSupported é falso. Não é chamado pelo serviço; não há caminho de geração atual.Lançado somente por esse métodoConsulte o código-fonte.
OL_E_RELEASE_MANIFEST_INVALIDReleaseManifest.TryReadPluginHashes / ParsePluginHashesrelease-manifest.json está vazio, não é JSON, não tem array files, ou tem uma entrada sem path/sha256, um hash que não tem 64 dígitos hexadecimais, um caminho absoluto, que contém :, um segmento vazio, . ou .., ou um caminho listado duas vezes (comparação sem diferenciar maiúsculas de minúsculas, com / e \ equivalentes). Um BOM UTF-8 é aceito.Plano: envolvido em OL_E_RUNTIME_ARTIFACT_MISSING; início: via OL_E_START_SESSIONReinstale o pacote.

InvalidArgument#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_INVALID_ARGUMENTLaunchValidation; CliInput.Parse/ClassifyValidação: Date.Value/Time.Value definido enquanto o modo não é Explicit. CLI: flag desconhecida, valor ausente, inteiro ou intervalo inválido, /saved combinado com /map//entrypoint, rota de comando desconhecida, qualquer ArgumentException/FormatException sem código.Diagnóstico do plano; envelope da CLI, código de saída 2Corrija o argumento.
OL_E_INVALID_SETTING_VALUEConfigurationCatalog.CreatePatch (início)Um valor de configuração semântica está fora do intervalo, não é booleano, não está no conjunto permitido ou está malformado (graphics.particles precisa de quatro campos). Os valores não são validados no momento do planejamento.Diagnóstico da sessão via OL_E_START_SESSIONUse um valor da tabela de configurações.
OL_E_SETTING_NOT_WRITABLESessionPlanner; CliInput.BuildSpecAsync; BuildTransactionalOverlaysA chave existe, mas não é gravável (advanced.multithreadingCalculate, advanced.multithreadingTextureLoad, graphics.texture, graphics.textureFilter).Diagnóstico do plano; código de saída 2 da CLIRemova a chave.
OL_E_UNKNOWN_SETTINGSessionPlanner; CliInput.BuildSpecAsync; BuildTransactionalOverlaysA chave não está em ConfigurationCatalog.Diagnóstico do plano; código de saída 2 da CLIUse uma chave do catálogo.

LaunchSpec#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_SPEC_INVALIDLaunchSpecJson.ParseA raiz não é um objeto JSON, ou a desserialização não produziu nenhum registro.Lançado (InvalidDataException), código de saída 2 da CLICorrija o arquivo (LaunchSpec).
OL_E_SPEC_NOT_FOUNDLaunchSpecJson.LoadAsyncO arquivo de /spec não existe.Lançado (FileNotFoundException), código de saída 6 da CLIVerifique o caminho.
OL_E_SPEC_TOO_LARGELaunchSpecJson.LoadAsyncO arquivo excede 1 MiB.Lançado (InvalidDataException), código de saída 2 da CLIReduza o arquivo.
OL_E_SPEC_UNKNOWN_PROPERTYLaunchSpecJson.ValidateUm membro que não é propriedade pública do registro naquela posição; mensagem OL_E_SPEC_UNKNOWN_PROPERTY: $.Path.Name.Lançado (InvalidDataException), código de saída 2 da CLIRemova ou renomeie o membro.

LocalControl#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_CONTROL_COMMAND_UNKNOWNHandler do proprietário (OwnerSession)O comando não é session.status, session.events, session.stop nem runtime.execute com um argumento operation.Resposta de controle; código de saída 7 da CLIUse um comando suportado.
OL_E_CONTROL_FAILEDCliente da CLI (ReportForwarded, CliEventWatch)O proprietário respondeu Ok = false sem código de erro.Envelope da CLI, código de saída 7Leia a mensagem; verifique o console/os diagnósticos do proprietário.
OL_E_CONTROL_HANDLER_FAILEDLocalControlPlane.ServeAsyncO handler do proprietário lançou uma exceção cuja mensagem não traz código OL_E_ (por exemplo, a sessão já estava fechada), ou a resposta do handler não pôde ser serializada.Resposta de controleLeia session status; reinicie o proprietário se ele não existir mais.
OL_E_CONTROL_MESSAGE_INVALIDLocalControlPlane (ambas as pontas)Prefixo de comprimento negativo ou acima de 64 KiB (incluindo um frame de requisição grande demais), frame vazio, JSON null, uma requisição sem Command, ou JSON que não pôde ser decodificado.Resposta de controle / envelope da CLIUse o protocolo documentado (plano de controle local).
OL_E_CONTROL_MESSAGE_TOO_LARGELocalControlPlane.TryRequestAsync (cliente)A própria requisição serializada do cliente excede 64 KiB. Relatado ao chamador; nada é enviado.Resposta de controle / envelope da CLIReduza a requisição.
OL_E_CONTROL_RESPONSE_TOO_LARGELocalControlPlane.ServeAsync (proprietário)A resposta do proprietário não cabe no frame de 64 KiB. O proprietário responde com este erro tipado em vez de descartar a resposta. session.status e session.events nunca chegam a ele: o histórico de eventos deles é cortado a partir dos mais antigos para caber.Resposta de controle / envelope da CLITente novamente; para eventos, leia com mais frequência.
OL_E_CONTROL_PROTOCOLLocalControlPlane, TryRequestBoundAsyncO ProtocolVersion da requisição não é 0.1; a resposta do proprietário não pôde ser decodificada ou estava vazia; o proprietário fechou a conexão sem responder ou a conexão caiu depois de estabelecida; o proprietário não informou nenhum SessionId.Resposta de controle / envelope da CLIUse versões correspondentes de cliente e proprietário; leia session status.
OL_E_CONTROL_SESSION_MISMATCHHandler do proprietáriosession.stop ou runtime.execute sem um session_id igual ao da sessão ativa.Resposta de controle; código de saída 7 da CLILeia session.status primeiro e vincule a requisição (a CLI faz isso automaticamente).

Outros#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_PLAN_NOT_RUNNABLEOmsiLaunchService.StartSessionAsyncO plano recebido tem IsRunnable = false, ou o replanejamento no início não é apto para execução (Omsi.exe mudou, conteúdo removido, conjunto de arquivos do plugin ausente); a mensagem lista os códigos OL_E_ atuais.Lançado (InvalidOperationException); código de saída 1 da CLIPlaneje novamente e corrija os diagnósticos listados.

Apresentação#

Todos gerados por SessionVisualAssets (src/OmsiLaunch.Core/SessionVisualAssets.cs). No momento do planejamento, eles são envolvidos em OL_E_SESSION_PRESENTATION_INVALID (a mensagem traz o código); no início, aparecem via OL_E_START_SESSION.

CódigoSignificado / causa típicaO que fazer
OL_E_ITX_PROFILE_INVALIDO arquivo .itx está vazio, tem um número ímpar de linhas não vazias, ou uma linha de URL não é uma URL http/https absoluta.Use pares de linhas URL/destino.
OL_E_ITX_PROFILE_MISSINGOverrideProfilePath (resolvido em relação ao diretório de trabalho do processo) não existe. Lançado como FileNotFoundException.Informe um caminho .itx existente.
OL_E_ITX_PROFILE_REQUIREDInternetTextures.Mode é Override sem OverrideProfilePath. Código de saída 2 da CLI quando lançado.Forneça /internet-textures-profile:<file.itx>.
OL_E_ITX_TARGET_OUTSIDE_TEXTURE_PATHUma linha de destino é um caminho absoluto, contém .., começa com \, resolve para fora da instalação, não tem um componente Texture\ ou atravessa uma junction/um link simbólico.Use destinos relativos Texture\....
OL_E_SPLASH_ASSET_DIRECTORY_MISSINGCustomAssetDirectory não existe.Corrija o diretório.
OL_E_SPLASH_ASSET_MISSINGENG.bmp ou <LANG>.bmp está ausente do diretório de assets, ou um assets\splash\<LANG>.bmp empacotado está ausente ao preencher .omsilaunch\assets\splash.Forneça os BMPs / reinstale o pacote.
OL_E_SPLASH_FORMAT_UNSUPPORTEDUm BMP de splash não é um bitmap BM de 640×480 e 24 bits.Converta a imagem.

Processo#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_PROCESS_CLEANUP_FAILEDOmsiLaunchService (caminhos de falha no início e de falha do supervisor)Encerrar ou aguardar o OMSI durante a limpeza após erro lançou uma exceção; a mensagem interna vem em seguida.Diagnóstico da sessão (adicionado a uma sessão Failed)Certifique-se de que nenhum Omsi.exe permaneça, depois use /recover se houver um journal pendente.
OL_E_PROCESS_CREATION_TIME_FAILEDCurrentWindowsX64Platform.StartAsyncGetProcessTimes falhou logo após CreateProcessW (Win32=<code>); o processo é encerrado.Diagnóstico da sessão via OL_E_START_SESSIONTente novamente; verifique antivírus/permissões.
OL_E_PROCESS_EXITED_EARLYOmsiLaunchService.SuperviseAsyncO OMSI terminou antes de gameplay.entered (travamento, uma caixa de diálogo de erro do OMSI foi fechada, a janela foi fechada).Diagnóstico da sessão (Failed); a restauração é executadaVerifique os logs do próprio OMSI e logfile.txt; veja em RuntimeEvents o último evento do plugin.
OL_E_PROCESS_START_FAILEDCurrentWindowsX64Platform.StartAsyncCreateProcessW falhou (Win32=<code> na mensagem).Diagnóstico da sessão via OL_E_START_SESSIONResolva o erro Win32 (arquivo ausente, acesso negado, política).
OL_E_PROCESS_SUPERVISIONOmsiLaunchService.SuperviseAsyncO loop do supervisor lançou uma exceção (leitura de telemetria, espera/encerramento do processo, gravação do journal); o OMSI é encerrado e a restauração é tentada.Diagnóstico da sessão (Failed)Leia a mensagem interna e o log do host.
OL_E_PROCESS_TERMINATE_FAILEDCurrentWindowsX64Platform.TerminateTerminateProcess falhou (Win32=<code>).Dentro das mensagens de OL_E_PROCESS_SUPERVISION / OL_E_PROCESS_CLEANUP_FAILEDEncerre o OMSI manualmente, depois use /recover.
OL_E_PROCESS_WAIT_FAILEDCurrentWindowsX64Platform.WaitForExitAsyncWaitForSingleObject no handle do processo falhou.Dentro das mensagens de OL_E_PROCESS_SUPERVISION / OL_E_PROCESS_CLEANUP_FAILEDO mesmo.

Runtime#

"Detalhe de runtime" significa ErrorCode = OL_E_RUNTIME_OPERATION_FAILED com o código no início de Values["detail"].

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_CAMERA_PRESET_FAMILY_UNSUPPORTEDOmsiCameraLockWritercamera.lock com preset enquanto family é 2 (externa) ou 3 (mapa); predefinições existem apenas para motorista (0) e passageiro (1).Detalhe de runtimeOmita preset ou use a família 0/1.
OL_E_DATE_TIME_APPLY_FAILEDLaunchValidationModo Explicit de Date/Time sem valor ou com componentes fora do intervalo. O nome é histórico; é um erro de validação no momento do planejamento.Diagnóstico do planoCorrija o valor (e observe que data/hora explícitas não são aptas para execução neste build).
OL_E_MAKEVEHICLE_BUS_NOT_FOUNDCurrentRuntimeControl.MakeBasicRoadVehicleroad-vehicles.spawn: o caminho .bus não existe no diretório de trabalho do OMSI (verificado antes da chamada nativa para que o OMSI não possa substituí-lo por um fallback).Detalhe de runtimeUse uma identidade de vehicles list//list:vehicles.
OL_E_MAKEVEHICLE_DELTA_MULTIPLEo mesmoO MakeVehicle nativo alterou a coleção de veículos rodoviários em mais de um objeto.Detalhe de runtime (native_status, contagens na mensagem)Relate o problema; os objetos criados permanecem até o fim da sessão.
OL_E_MAKEVEHICLE_DELTA_ZEROo mesmoA coleção não mudou; o OMSI recusou o veículo silenciosamente.Detalhe de runtimeVerifique o arquivo .bus; tente outro modelo.
OL_E_MAKEVEHICLE_NATIVE_FAILEDo mesmoQualquer outro status nativo diferente de zero.Detalhe de runtimeRelate o problema com as contagens da mensagem.
OL_E_PLACE_RANDOM_BUS_FAILEDCurrentRuntimeControl.PlaceRandomBusA chamada perfilada de PlaceRandomBus retornou um status de falha.Detalhe de runtimeTente novamente quando a jogabilidade estiver estável; relate o problema.
OL_E_RUNTIME_ARGUMENT_REQUIREDPublicCapabilityRegistry.ValidateRuntimeArguments; verificações do lado do plugin (time.set sem hour/minute/second; camera.set sem family/field_of_view; camera.lock sem um family interpretável; operações de veículo/curva)Um argumento obrigatório está ausente ou em branco.Resultado de runtime (registro; código de saída 2 da CLI) ou detalhe de runtime (plugin)Forneça o argumento (controle de runtime).
OL_E_RUNTIME_ARTIFACT_MISSINGOmsiLaunchService.PlanSessionAsyncO diretório/arquivo de referência do conjunto de arquivos do plugin ou a ponte nativa indicados em OmsiLaunchRuntimePaths não podem ser carregados (pode envolver OL_E_RELEASE_MANIFEST_INVALID).Diagnóstico do planoExecute a partir de um pacote íntegro.
OL_E_RUNTIME_BASELINE_UNAVAILABLERuntimeBatch (/runtime-write-batch, harness INTERNAL)A leitura de base time.read/camera.read falhou, então o teste de gravação foi ignorado.Somente artefato do loteNão é voltado ao usuário.
OL_E_RUNTIME_BUS_IDENTITY_INVALIDCurrentRuntimeControl.ValidateBasicBusIdentitymodel está vazio, tem mais de 240 caracteres, contém NUL ou .., não começa com Vehicles\ ou não termina com .bus.Detalhe de runtimeInforme Vehicles\<dir>\<file>.bus.
OL_E_RUNTIME_CHANNEL_BUSYnenhum (mantido por compatibilidade)Não é mais emitido. Builds anteriores o geravam quando uma requisição cancelada permanecia no slot; todo caminho terminal de uma requisição agora redefine o slot, e uma requisição ou resposta remanescente encontrada no início de uma nova requisição é limpa.——
OL_E_RUNTIME_CHANNEL_CLOSEDOmsiLaunchService.LiveSession.RequestRuntimeAsyncO mailbox foi descartado porque a sessão está terminando.Lançado (InvalidOperationException)Nenhuma ação; a sessão terminou.
OL_E_RUNTIME_CHANNEL_STATE_INVALIDCurrentRuntimeCommandStore.RequestAsyncO slot do mailbox continha um valor de estado que não é ocioso, requisitado nem respondido (corrupção). O slot é redefinido e o erro é gerado; a próxima requisição funciona normalmente.Lançado (InvalidDataException)Tente novamente; relate o problema se persistir.
OL_E_RUNTIME_CONSTANTS_UNAVAILABLEOmsiRuntimeReadersO ponteiro do bloco de constantes do veículo é nulo.Detalhe de runtimeO veículo não tem constantes; nada a fazer.
OL_E_RUNTIME_CONSTANT_NOT_FOUNDOmsiRuntimeReadersname não está na tabela de constantes do veículo.Detalhe de runtimeListe as constantes primeiro.
OL_E_RUNTIME_CREATED_OBJECT_INVALIDOmsiRuntimeReaders.RegisterRoadVehicleHandleAsyncO objeto criado pelo spawn tem uma VMT fora do intervalo da imagem do OMSI.Detalhe de runtimeRelate o problema.
OL_E_RUNTIME_CREATED_OBJECT_NOT_IN_COLLECTIONo mesmoO objeto criado não está na coleção de veículos rodoviários.Detalhe de runtimeRelate o problema.
OL_E_RUNTIME_CURVE_DEGENERATEOmsiRuntimeReaders.EvaluateRoadVehicleCurveAsyncDois pontos consecutivos da curva têm o mesmo X.Detalhe de runtimeProblema de conteúdo na curva do veículo.
OL_E_RUNTIME_CURVE_EMPTYo mesmoA curva não tem pontos.Detalhe de runtimeO mesmo.
OL_E_RUNTIME_CURVE_INVALIDo mesmoNenhum segmento da curva contém x.Detalhe de runtimeAvalie dentro do domínio da curva.
OL_E_RUNTIME_CURVE_NOT_FOUNDo mesmoname é desconhecido ou seu ponteiro de função é nulo.Detalhe de runtimeListe as curvas primeiro.
OL_E_RUNTIME_HOF_UNAVAILABLEOmsiRuntimeReaders.ReadRoadVehicleHofsAsyncO ponteiro da definição do veículo é nulo.Detalhe de runtimeO handle se refere a um veículo sem dados de definição.
OL_E_RUNTIME_INSTALLATION_INCOMPLETECliProgram.RunAsync (modo proprietário)plugins\OmsiLaunch.Plugin.opl ou plugins\OmsiLaunch.Native.x86.dll está ausente ao lado do executável.Envelope da CLI, código de saída 7Reinstale o pacote.
OL_E_RUNTIME_OBJECT_HANDLE_REQUIREDCurrentRuntimeControlhandle ausente ou em branco para road-vehicle.read, human.read, vehicle.variables.list, vehicle.string-variables.list, vehicle.constants.list, vehicle.curves.list (normalmente o registro os rejeita antes com OL_E_RUNTIME_ARGUMENT_REQUIRED).Detalhe de runtimeForneça o handle.
OL_E_RUNTIME_OBJECT_HANDLE_STALEOmsiRuntimeReadersO handle é desconhecido, o objeto saiu da coleção, a geração do endereço avançou, ou a impressão digital do objeto (VMT + identidade de definição/modelo) mudou porque o endereço foi reutilizado. Ponto cego residual: mesma classe e mesmo modelo recriados no mesmo endereço entre duas leituras da lista.Detalhe de runtimeExecute road-vehicles.list/humans.list novamente e use o novo handle.
OL_E_RUNTIME_OPERATION_FAILEDCurrentRuntimeControl.Execute; CurrentRuntimeCommandMailbox.TryDispatch; fallback de D3DRuntimeApiWrapper genérico de falha do lado do plugin; Values["detail"] contém a mensagem (muitas vezes um código mais específico) e Values["exception"] o tipo da exceção. Uma exceção que escapa de uma operação dentro do dispatcher do mailbox também é respondida com este código (sem valores), em vez de deixar a requisição sem resposta.Resultado de runtimeLeia detail.
OL_E_RUNTIME_OPERATION_UNAVAILABLECurrentRuntimeControl.ExecuteO plugin não tem implementação para uma operação que o registro permitiu (divergência de versão entre registro e plugin).Detalhe de runtimeReinstale um pacote consistente.
OL_E_RUNTIME_OPERATION_UNKNOWNPublicCapabilityRegistry.ValidateRuntimeArgumentsA operação não está em PublicRuntimeOperationIds, incluindo toda operação internal.*. Verificado antes da busca da sessão.Resultado de runtime; resposta de controle; código de saída 2 da CLIUse um id de operação público.
OL_E_RUNTIME_PLAYER_VEHICLE_UNAVAILABLEOmsiCameraLockWritercamera.lock com preset enquanto não há veículo do jogador (sessões headless não têm nenhum). Também relatado como code do evento camera.lock.degraded quando a reaplicação falha.Detalhe de runtime / evento de runtimeTrave sem predefinição, ou use uma sessão com veículo do jogador.
OL_E_RUNTIME_PROTOCOL_MISMATCHD3DRuntimeApiUm resultado D3D bem-sucedido não tinha valores, ou tinha uma string de estado do dispositivo desconhecida.Lançado (OmsiRuntimeException)Use versões correspondentes de host e plugin.
OL_E_RUNTIME_REQUEST_ID_REUSEDCurrentRuntimeCommandStore.RequestAsyncO slot contém uma resposta obsoleta com o mesmo id de requisição da nova requisição. A resposta obsoleta é limpa antes de o erro ser gerado.Lançado (InvalidOperationException)Use ids de requisição estritamente crescentes.
OL_E_RUNTIME_REQUEST_TIMEOUTCurrentRuntimeCommandStore.RequestAsyncNenhuma resposta dentro de timeout; o slot é redefinido e uma resposta tardia é descartada.Lançado (TimeoutException); código de saída 5 da CLITente novamente com um timeout maior; verifique se o OMSI não está bloqueado (caixa de diálogo modal, carregamento).
OL_E_RUNTIME_RESPONSE_INVALIDCurrentRuntimeCommandStoreO envelope de resposta está corrompido, tem um comprimento inválido (negativo, zero ou maior que o slot), um id de sessão alheio ou um id de requisição diferente. O slot é redefinido antes de o erro ser gerado, então a próxima requisição funciona normalmente.Lançado (InvalidDataException)Tente novamente; relate o problema se persistir.
OL_E_RUNTIME_RESPONSE_TOO_LARGECurrentRuntimeCommandMailbox.TryDispatchO resultado serializado excede o mailbox de 64 KiB. Resultados de listas limitadas (aqueles com returned_count e truncated) são encurtados para caber, em vez disso (auditoria de documentação BUG-05); na prática, o código continua alcançável para timetable.logs.read, que não é limitado.Resultado de runtimeUse uma operação mais restrita (por exemplo, road-vehicles.read em vez de road-vehicles.list em coleções enormes).
OL_E_RUNTIME_SCRIPT_OBJECT_UNAVAILABLEOmsiRuntimeReadersO ponteiro da definição ou do estado do script do veículo é nulo.Detalhe de runtimeO veículo não tem objetos de script.
OL_E_RUNTIME_SESSION_MISMATCHOmsiLaunchService.ExecuteRuntimeAsync; CurrentRuntimeCommandStore; mailbox do pluginRuntimeCommand.SessionId difere do id de sessão do handle (lançado pelo host), ou uma requisição chegou a um plugin vinculado a outra sessão (retornado pelo plugin como resultado tipado).Lançado (InvalidOperationException) / resultado de runtimeConstrua o comando com session.SessionId.
OL_E_RUNTIME_SETTING_NOT_PERSISTENTCurrentRuntimeControl.SetWeatherweather.set é sempre rejeitado: o OMSI sobrescreve os campos de clima perfilados no seu próximo tick de clima, então uma gravação não pode ser relatada como uma alteração semântica.Resultado de runtimeNenhuma ação; weather.set é UNAVAILABLE.
OL_E_RUNTIME_SETTING_UNAVAILABLEOmsiWeatherWriterNome de campo de clima desconhecido. Atualmente inalcançável porque weather.set é rejeitado antes.Detalhe de runtime (definido)Consulte o código-fonte src/OmsiLaunch.Interop/OmsiWeatherWriter.cs.
OL_E_RUNTIME_STRING_VARIABLE_NOT_FOUNDOmsiRuntimeReadersname não está na tabela de variáveis de string.Detalhe de runtimeListe as variáveis de string primeiro.
OL_E_RUNTIME_VALUE_INVALIDOmsiWeatherWriter.ParseBooleanUm booleano de clima não é true/false/1/0. Atualmente inalcançável (veja acima).Detalhe de runtime (definido)Consulte o código-fonte.
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ão é um inteiro, family 0..3, preset 0..255; road-vehicles.place-random: ai_type 0..255, group/type/tour/line 0..65535 (type pode ser -1), scheduled 0..1; vehicle.variable.set: value não finito; vehicle.curve.evaluate: x não finito.Detalhe de runtimeUse um valor dentro do intervalo.
OL_E_RUNTIME_VARIABLE_NOT_FOUNDOmsiRuntimeReadersname não está na tabela de variáveis numéricas.Detalhe de runtimeListe as variáveis primeiro.
OL_E_RUNTIME_VARIABLE_UNAVAILABLEOmsiRuntimeReadersO slot da variável ou o endereço do valor é nulo.Detalhe de runtimeA variável não está materializada para este veículo.
OL_E_TIME_APPLY_FAILEDCurrentRuntimeControl.SetTimeOs escalares do relógio foram gravados, mas a chamada nativa perfilada de SetTime retornou falha.Detalhe de runtimeTente novamente; leia o valor de volta com time.read.

RuntimeD3D#

Todos gerados por CurrentRuntimeControl (mapeamento ThrowD3D do status nativo; detail traz a operação e o HRESULT, native_status o status numérico). Superfície: resultado de runtime com o código em ErrorCode; D3DRuntimeApi relança como OmsiRuntimeException.

CódigoStatus nativo / causaO que fazer
OL_E_D3D_DEVICE_LOST8: o dispositivo Direct3D foi perdido.Aguarde d3d.restored; recrie as texturas (a geração mudou).
OL_E_D3D_INVALID_ARGUMENT14: width, height, level, x, y, format ou handle ausente ou inválido (intervalos: width/height 1..4096, levels 0..16, level 0..15, x/y 0..4095).Corrija os argumentos.
OL_E_D3D_INVALID_PIXEL_BUFFERpixels_base64 não é Base64 válido ou excede 48 KiB.Envie retângulos menores.
OL_E_D3D_INVALID_TEXTURE_FORMAT6, ou um nome de format desconhecido (válidos: A8R8G8B8, X8R8G8B8, R5G6B5, X1R5G5B5, A1R5G5B5, A4R4G4B4, A8, L8, A8L8).Use um formato listado.
OL_E_D3D_NATIVE_CALL_FAILEDQualquer outro status; o HRESULT está em detail.Relate o problema com o HRESULT.
OL_E_D3D_NOT_READY7: o dispositivo não está pronto (antes do primeiro frame ou durante a parada).Tente novamente após d3d.ready.
OL_E_D3D_RESET_IN_PROGRESS9: um reset do dispositivo está em andamento.Tente novamente após d3d.restored.
OL_E_D3D_RESOURCE_RELEASED13: o handle da textura já foi liberado.Não reutilize handles liberados.
OL_E_D3D_STALE_RESOURCE_HANDLE12: o handle pertence a uma geração anterior do dispositivo; ou a string do handle não é d3dtex-<session>-<hex> / é zero.Recrie a textura.

Sessão#

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_CAPABILITY_UNAVAILABLESessionPlanner; ApplyTelemetry em plugin.request.unsupportedPlano: foram solicitados LastMapState, EntrypointIdentity, modo de data/hora/ano, modo de clima, campos do veículo do jogador ou documentos de entrada (Requested capability unavailable: <name>). Telemetria: o plugin rejeitou o handoff (não pode acontecer com um plano apto para execução).Diagnóstico do plano; diagnóstico da sessãoRemova a solicitação não suportada (limitações conhecidas).
OL_E_HEADLESS_ARM_FAILEDApplyTelemetry em headless.arm.failedO plugin não conseguiu armar no OMSI o hook de início headless de disparo único.Diagnóstico da sessão (Failed)Verifique o build; relate o problema.
OL_E_NO_ACTIVE_SESSIONCliente da CLI (ReportForwarded, CliEventWatch)Nenhum proprietário responde no pipe de controle da instalação (não há sessão, ou o proprietário ainda está iniciando/validando).Envelope da CLI, código de saída 4Inicie uma sessão, ou espere até que ela esteja Running.
OL_E_PLUGIN_NOT_LOADEDSuperviseAsyncStartupTimeoutSeconds se esgotou antes de plugin.started (o OMSI não carregou plugins\OmsiLaunch.Plugin.opl, ou está travado antes da inicialização do plugin).Diagnóstico da sessão (Failed)Verifique o conjunto de arquivos do plugin, plugins\OmsiLaunch.Plugin.opl e o logfile.txt do OMSI.
OL_E_PLUGIN_PROTOCOL_MISMATCHApplyTelemetry em plugin.handoff.invalid ou JSON de telemetria não interpretávelO plugin não conseguiu ler/verificar o handoff de inicialização (versão 3/4, SHA-256), ou enviou telemetria inválida.Diagnóstico da sessão (Failed)Use versões correspondentes de host e plugin (reinstale o pacote).
OL_E_SESSION_ALREADY_ACTIVECliProgram.RunAsyncUm proprietário já responde a session.status para esta instalação.Envelope da CLI, código de saída 7Use comandos de cliente (session status, session stop, comandos de runtime).
OL_E_SESSION_NOT_RUNNINGOmsiLaunchService.ExecuteRuntimeAsyncO estado da sessão não é Running.Lançado (InvalidOperationException)Use WaitForAsync(session, SessionState.Running, ...) primeiro.
OL_E_SESSION_PRESENTATION_INVALIDSessionPlannerO plano de splash/ITX não pôde ser construído; a mensagem traz o código de apresentação.Diagnóstico do planoConsulte Apresentação.
OL_E_SESSION_START_FAILEDWindowsHost.ShowFailure (caixa de diálogo do OmsiLaunchW)Código de fallback exibido quando um plano de inicialização não é apto para execução ou a sessão não chegou à jogabilidade, e não existe nenhum diagnóstico OL_E_.Somente caixa de mensagemLeia .omsilaunch\diagnostics.
OL_E_SITUATION_LOAD_FAILEDApplyTelemetry em world.situation.failedO início nativo da situação salva retornou uma falha (native_status no evento).Diagnóstico da sessão (Failed)Verifique o .osn e seu mapa.
OL_E_STARTUP_TIMEOUTSuperviseAsyncO plugin foi iniciado, mas Running não foi alcançado dentro de StartupTimeoutSeconds.Diagnóstico da sessão (Failed)Aumente /startup-timeout para mapas grandes; veja em RuntimeEvents o último evento de mundo.
OL_E_START_SESSIONOmsiLaunchService.StartAsyncQualquer exceção no caminho de início; a mensagem é a mensagem interna (normalmente começando com o código interno).Diagnóstico da sessão (Failed)Aja de acordo com o código interno.
OL_E_WORLD_START_FAILEDApplyTelemetry em world.failedO início nativo do NEW_MAP retornou uma falha (native_status no evento).Diagnóstico da sessão (Failed)Verifique o mapa, o índice do ponto de entrada e os logs do OMSI.

SessionProfile#

Todos gerados por SessionProfileCompiler (src/OmsiLaunch.Core/SessionProfiles.cs) ou CliInput, lançados como SessionProfileException (uma IOException com Code), código de saída 2 da CLI. Consulte perfis de sessão.

CódigoSignificado / causa típicaO que fazer
OL_E_SESSION_PROFILE_ASSET_MISSINGO diretório assets de splash da predefinição ou o arquivo profile de texturas da internet não existe dentro do pacote.Adicione o asset.
OL_E_SESSION_PROFILE_INVALIDViolação estrutural ou de limite: mais de 256 KiB, não exatamente um mapeamento raiz, âncoras YAML, chave desconhecida, chave obrigatória ausente, valor não escalar onde um escalar é exigido, id diferente do nome do diretório, predefinições fora de 1..5 ou index duplicado, timeouts não positivos, modo de clima/splash/texturas da internet não suportado, data/hora diferente de explicit, YAML inválido, erros de interpretação de número/data.Corrija o YAML conforme a mensagem.
OL_E_SESSION_PROFILE_MAP_MISMATCHcompatibility.maps não está vazio e não contém o mapa selecionado (NEW_MAP) ou o mapa da situação selecionada (SAVED_SITUATION).Escolha um mundo compatível.
OL_E_SESSION_PROFILE_NOT_FOUND<root>\.omsilaunch\session-profiles\<id>\profile.yaml não existe.Verifique o id.
OL_E_SESSION_PROFILE_OVERRIDE_CONFLICTUm argumento explícito da CLI tem como alvo um campo que pertence ao perfil/à predefinição selecionados.Remova a flag ou escolha outra predefinição.
OL_E_SESSION_PROFILE_PATH_ESCAPEO id contém \, /, : ou ..; ou um caminho de asset é absoluto, escapa do pacote ou atravessa uma junction/um link simbólico.Mantenha os caminhos dentro do pacote.
OL_E_SESSION_PROFILE_PRESET_NOT_FOUND/predefined-profile-index ausente, fora de 1..5 ou não declarado pelo perfil.Use um índice de predefinição declarado.
OL_E_SESSION_PROFILE_SCHEMA_UNSUPPORTEDschema não é omsilaunch.session-profile/v1.Use o schema suportado.
OL_E_SESSION_PROFILE_SETTING_NOT_WRITABLEUma chave de configuração da predefinição é conhecida, mas não é gravável.Remova a chave.
OL_E_SESSION_PROFILE_SETTING_UNKNOWNUma chave de configuração da predefinição não está no catálogo.Use uma chave do catálogo.

Transação#

Consulte transações e recuperação.

CódigoGerado porSignificado / causa típicaSuperfícieO que fazer
OL_E_CLOSECHECK_REMOVE_FAILEDOmsiLaunchService.RemoveStaleClosecheckUm closecheck obsoleto ainda existe após File.Delete.Diagnóstico da sessão via OL_E_START_SESSIONRemova <root>\closecheck manualmente (permissões).
OL_E_RECOVERY_ABSENT_OWNERSHIP_MISMATCHFileConfigurationTransaction.RestoreAsyncUm caminho que não existia antes da sessão agora tem conteúdo diferente do que a sessão aplicou; ele não é removido e o journal é mantido.Lançado (IOException); dentro de OL_E_RESTORE_FAILED / OL_E_START_SESSION; código de saída 8 da CLIInspecione o arquivo; remova-o ou mova-o, depois use /recover.
OL_E_RECOVERY_ABSENT_OWNERSHIP_UNVERIFIEDRestoreAsync (journal anterior à impressão digital)O journal não tem impressão digital do conteúdo aplicado para um caminho originalmente ausente que não é de exclusão, então a propriedade não pode ser comprovada. No início da sessão, a recuperação é adiada e tentada novamente com os bytes planejados desta sessão; via RecoverPendingAsync, o erro é lançado.Lançado (IOException); código de saída 8 da CLIInicie uma sessão com a mesma especificação (que fornece os bytes), ou inspecione e remova o arquivo, depois use /recover.
OL_E_RECOVERY_BACKUP_CORRUPTRestoreAsyncO SHA-256 de um backup não corresponde ao snapshot registrado no journal; nada é gravado.Lançado; dentro de OL_E_RESTORE_FAILED; código de saída 8 da CLIRestaure o arquivo a partir do seu próprio backup; só então exclua o journal, e apenas quando tiver certeza.
OL_E_RECOVERY_JOURNAL_MISSINGRestoreAsyncExistem snapshots em memória, mas journal.json sumiu (foi excluído durante a sessão).Lançado; dentro de OL_E_RESTORE_FAILEDVerifique os arquivos da sessão manualmente.
OL_E_RECOVERY_JOURNAL_REMOVE_FAILEDFileConfigurationTransaction.RemoveJournaljournal.json ainda existe após a exclusão (a restauração em si foi bem-sucedida e verificada).Lançado; dentro de OL_E_RESTORE_FAILED; código de saída 8 da CLIExclua <root>\.omsilaunch\journal.json (permissões) ou execute /recover novamente (idempotente).
OL_E_RESTORE_DEFERREDOmsiLaunchService (falha no início / supervisor)O término do OMSI não pôde ser confirmado, então os arquivos não foram substituídos enquanto ele ainda poderia usá-los; o journal é mantido.Diagnóstico da sessão (Failed)Depois que o Omsi.exe terminar, execute /recover (ou o próximo início recupera automaticamente).
OL_E_RESTORE_FAILEDOmsiLaunchService (falha no início / supervisor)RestoreAsync lançou uma exceção; a mensagem traz o código interno; o journal é mantido.Diagnóstico da sessão (Failed); código de saída 8 da CLI quando lançado a partir de /recoverAja de acordo com o código interno, depois use /recover.

Aviso#

CódigoGerado porSignificadoSuperfícieO que fazer
OL_W_RESTORE_FOREIGN_FILE_RETAINEDFileConfigurationTransaction.RestoreAsyncUm caminho de exclusão da sessão (destino ITX, Texture\standard.ipr, closecheck) não existia antes da sessão e existe agora, mas nenhum processo do OMSI chegou a ser iniciado sob este journal, então o arquivo não pode ser um subproduto da sessão. Ele é mantido e relatado (mensagem = caminho relativo, Data["sha256"]); a transação ainda assim é concluída.Diagnóstico da sessão / RecoveryStatus.Diagnostics (o estado não é afetado)Inspecione o arquivo; remova-o você mesmo se não o quiser.

Códigos de diagnóstico que não são erros#

CódigoEmitido porMensagem / dadosSignificado
process.startedOmsiLaunchService.LiveSession.Attachmensagem = PID; Data["thread_id"], Data["creation_utc"] (ISO 8601)Omsi.exe foi criado e sua identidade foi registrada. Diagnóstico da sessão.
closecheck.stale-removedOmsiLaunchService.RemoveStaleClosecheckmensagem = SHA-256 do arquivo removidoUm closecheck que existia antes da sessão foi removido permanentemente (SuppressStaleClosecheckWarning = true). Diagnóstico da sessão.
restore.session-artifact-removedFileConfigurationTransaction.RestoreAsyncmensagem = caminho relativo; Data["sha256"]Um caminho de exclusão da sessão foi recriado pelo OMSI durante uma sessão cujo processo havia sido iniciado; ele foi removido para restaurar a ausência original. Diagnóstico da sessão / RecoveryStatus.Diagnostics.
plugin.integrity.referenceOmsiLaunchService.PlanSessionAsyncmensagem = manifest ou selfQual referência a validação do plugin permanente usa. Diagnóstico do plano.
session_profile.selectedSessionPlannermensagem = id do perfil; Data["session_profile.id|name|version|author|preset_id|preset_index|preset_name|path"]Procedência de uma sessão compilada a partir de um perfil de sessão. Diagnóstico do plano.

Os nomes de eventos de runtime (RuntimeEvent.Type, não diagnósticos) estão listados em ciclo de vida da sessão.