2.4 KiB
Agenda - Syscall Fault Classification
Problema
Hoje a fronteira de syscalls ainda mistura:
- erro do programa guest;
- erro operacional recuperável;
- inconsistência interna do runtime/host.
Na prática, vários casos que deveriam ser Trap para o guest ainda sobem como Panic.
Dor
- O modelo de falhas perde rigor.
- Guest bug e bug interno do runtime viram a mesma classe de falha terminal.
- Diagnóstico fica pior: o sistema nao distingue uso incorreto da API de corrupção/inconsistência de implementação.
- Isso atrapalha tooling, crash reports, certificação e confiança no runtime.
Alvo da Discussao
Definir a taxonomia canônica de falhas na fronteira de syscall.
O objetivo é estabelecer uma regra previsível para classificar:
Trap: erro do guest, violação de contrato, argumento inválido, estado inválido observável;Panic: bug interno, inconsistência de metadados, violação de invariantes do runtime;Unavailable: indisponibilidade do host ou feature ausente.
O Que Precisa Ser Definido
-
Regra por categoria de erro. Como classificar:
- handle inválido;
- path inválido;
- asset inexistente;
- capability insuficiente;
- retorno incoerente do host;
- falha interna de serviço.
-
Mapeamento por domínio. FS, assets, bank, log, gfx, input e system precisam seguir a mesma filosofia.
-
Superfície de telemetria e crash report. O que deve aparecer para usuário, tooling e testes.
-
Compatibilidade com verifier e ABI. O verifier continua estrutural; a taxonomia runtime precisa ser coerente com essa divisão.
-
Regras para bibliotecas host. Implementações de
NativeInterfacee bridges precisam saber quando devolverTrap,PanicouUnavailable.
O Que Necessita Para Resolver
- matriz de classificação de falhas por syscall/domínio;
- revisão do uso atual de
VmFault; - atualização de crash reporting e logs onde necessário;
- testes cobrindo casos representativos em cada classe.
Fora de Escopo
- novo sistema completo de códigos de erro por domínio;
- redesign do debugger protocol;
- retries automáticos ou políticas complexas de recuperação.
Critério de Saida Desta Agenda
Pode virar PR quando existir decisão fechada para:
- taxonomia formal de falhas;
- exemplos classificados por domínio;
- critérios do que é
TrapvsPanic; - impacto em testes e crash reporting.